Category Archives: développement

Keyboard shortcut work landed

After a few user interface improvements and some last bug fixes, the work I described in my last post was merged in the master branches. It is thus available for testing to all users of the Xfce development version.

Feedback on this is welcome, file any bug you find on the Xfce Bugzilla. This will of course be available in the next development release of those components.

Work in progress to improve keyboard shortcuts in Xfce

Long time no blog! I started to hack again last week with the goal of improving keyboard shortcuts handling in Xfce. I touched that during the Xfce 4.10 cycle and this unfortunately seem to have introduced a bunch of bugs that I'm now trying to resolve. I also took this opportunity to try to overhaul the UI and make it more understandable.

This code is available in the jeromeg/keyboard-shortcuts branches of xfwm4, libxfce4ui and xfce4-settings on the Xfce Git server. Some improvements are still planned but most of what I was planning is already implemented.

Here is a list of reported bugs which should be fixed once I merge this:

A brief summary: shortcuts now work when Caps Lock is on, shortcuts using Shift or the numeric keypad are handled correctly, a bunch of regressions are fixed, conflict handling is now more reliable and the UI should be better.

Regarding keyboard shortcuts bugs, keyboard shortcuts not working correctly after a reboot or not work working in some other cases seem to occur because of a "wrong" shortcut database often caused by a problem in the migration script in Xfce 4.6. In that case, the easier way to fix this seems to be to revert all keyboard shortcuts to default (in xfwm4-settings and xfce4-keyboard-settings) and to rebind them using the dialogs.

Screenshots

Readable shortcut labels in the UI

Shortcuts view with now with readable labels

Improved dialogs to add and edit shortcuts

Set shortcut command

Set shortcut keys

Improved conflict handling

conflict-dialog.png

Testing is welcome!

If you know what you are doing, it would be useful if you could test those changes and report me by mail any remaining issues. Suggestions for improvements are also welcome.

Xfce Design Special Interest Group

A special interest group was recently started to improve the usability and visual appearance of the Xfce desktop environment. It is defined on the Xfce wiki as follows:

The Xfce Design SIG aims at improving the usability and visual appearance of the Xfce desktop environment. Our goal is to bring interested users, designers and hackers together to ensure neither of them is working in a vacuum. By establishing a context in which they can collaborate on smaller and larger design-related projects we try to increase the chance of the proposed changes to be merged into the official Xfce repositories.

Everyone is of course welcome to join this group which has already started working on several points and producing very interesting elements! I'll introduce here two of the main projects we are currently working on for Xfce 4.10. But more will follow soon!

I would like to thank Simon Steinbeiß and Pasi Lallinaho from the Shimmer Project who played a crucial role in starting this SIG.

Thunar shortcuts pane rework

You can see what is being proposed on this page. The main goals are to reduce the visual clutter in the shortcuts pane by sorting items in different categories and to integrate nicely remote file systems (Samba, FTP...) which are supported since Thunar 1.2.0. The current demo we have looks like this:

Thunar custom view for the shortcuts pane

I encourage you to have a look at the Wiki page linked above, which contains a very accurate description of what we want to achieve and how we are going to achieve it.

Merge of xfrun and xfce4-appfinder

You can see what is being proposed on this page. The goal is to produce a single interface allowing to quickly launch applications and to perform actions. We plan add an extension system similar to the Thunar Custom Actions to allow the creation of a tailor-made interface.

This is of course still work in progress, but this is how the two main view currently look. Clicking on the arrow on the right hand-side of the entry switches from one view to the other.

appfinder-compact.png

appfinder-expanded.png

I encourage you to have a look at the Wiki page linked above, which contains a very accurate description of what we want to achieve and how we are going to achieve it.

Don't worry!

We already received some mails and comments asking whether it meant that we would move towards a Gnome 3 interface. The goal is not (yet :D) to bring a revolution but rather to streamline what we currently have by improving the numerous rough edges. Of course, we might take some inspiration in other desktop environment but we will not copy what is done in Gnome 3 or KDE4, Xfce has its own philosophy which is serving its users well at the moment.

Useful links

Xfce 4.8pre2 released!

Xfce 4.8pre2 is now available for download.

It includes the following releases of Xfce core components:

  • exo 0.5.5
  • gtk-xfce-engine 2.6.0
  • libxfce4ui 4.7.5
  • libxfce4util 4.7.4
  • libxfcegui4 4.7.0
  • thunar 1.1.5
  • thunar-vfs 1.1.1
  • xfce-utils 4.7.3
  • xfce4-appfinder 4.7.1
  • xfce4-dev-tools 4.7.3
  • xfce4-panel 4.7.6
  • xfce4-session 4.7.2
  • xfce4-settings 4.7.6
  • xfconf 4.7.4
  • xfdesktop 4.7.4
  • xfwm4 4.7.3

Release tarballs can be retrieved from the following mirrors (please note that it may take a few hours for the mirrors to catch up):

  • http://archive.xfce.org/xfce/4.8pre2/src
  • http://www.tx-us.xfce.org/archive/xfce/4.8pre2/src
  • http://www.p0llux.be/xfce/xfce/4.8pre2/src
  • http://www.ca-us.xfce.org/archive/xfce/4.8pre2/src

A tarball including all individual releases can be downloaded here:

  • http://archive.xfce.org/xfce/4.8pre2/fat_tarballs
  • http://www.tx-us.xfce.org/archive/xfce/4.8pre2/fat_tarballs
  • http://www.p0llux.be/xfce/xfce/4.8pre2/fat_tarballs
  • http://www.ca-us.xfce.org/archive/xfce/4.8pre2/fat_tarballs

Release notes for 4.8pre2

We are pleased to announce the second preview release of Xfce 4.8. This release marks the beginning of the string freeze. From today on until the final release, strings may no longer be changed in the master branch of Xfce core components. This will help translators to prepare their translations for the final release scheduled on January 16th, 2011.

For this release we focused on fixing bugs in all Xfce components. We managed to close a great number of them thanks to all the persons who reported them and tested proposed fixes quickly.

A few minor panel features were added despite feature freeze. We also managed to work on two long time requests: proper support for editing the application menu with menu editors (Alacarte being the one that we tested) and integration with the Compiz viewport. Of course, this release also features a lot of new and improved translations thanks to the amazing work of our translation teams.

A list of all changes is available here.

We hope you will enjoy this release. Please give us feedback by sharing your thoughts, blogging, tweeting, denting or by filing bug reports. With your help, 4.8 will be the best release ever (at least until 4.10)!

Kind regards and thanks to everyone who has contributed to this release,

The Xfce development team

Xfce4 Notifyd 0.2.0

Almost exactly two years after the first release of Xfce4 Notifyd, sorry for missing that, 0.2.0 is out.

Most of the work was done by Brian Tarricone, who allowed me to co-maintain this application due to his very limited free time.

The biggest change must be smart notification placement: when there are several notifications, they are placed in a grid-like way, instead of overlapping as they did with the previous version. This also comes with improved support for multiple monitors setups.

We also now support 'gauge' and 'icon-only' notifications as in Canonical's Notify OSD. Xfce4-volumed already uses this to provide a beautiful notification on volume change.

Finally, we are now compatible with the latest specification (0.9) which should fix a great number of issues which happened when applications expected us to be already doing so.

The little screencast I made a while ago:

New features of xfce4-notifyd (Jérôme Guelfucci) from Xfce on Vimeo.

Some Xfce News

Documentation

Nick Schermer is working on the infrastructure for the new documentation. It will be written in Mallard and translatable using Transifex. There are already a few drafts available: Nick made one for Xfce4 Panel (git branch) and Jim Campbell made one for Xfce4 Screenshooter (Bugzilla entry). Once the infrastructure is ready, contributions will be welcome! I will keep you posted.

Xfdesktop4

This is the second BIG thing currently going on: Jannis is porting Xfdesktop4 to GIO. He expects to have it done by the next weekend, the current work is available in a git branch. This is one of the last remaining by tasks for 4.8, so this is a really good news! <bisounours>Rock on!</bisounours>

Xfce Settings Helper

For those of you who care, I implemented two little features last week. First, Xfce now remembers the state of the Numlock when closing the session and restores it on startup. Gone are the days of numlockx \o/. Moreover, for people using xmodmap, the settings helper automatically processes .Xmodmap on start up and when changing the layout/variant using the Xfce settings dialog.

By the way, since my last post about the keyboard settings improvement, I also reviewed/applied a few patches by Martin Pitt and Lionel Le Folgoc which fix some crashes/bugs in the new code.

Xfce Utils

I fixed a bunch of easy bugs/enhancement requests for Xfrun. It can now handle URLs, opens files with the default handlers, folders with the default file manager... I also fixed history loading for the "Run in terminal" check box, fixed handling of command line options and added "#" as a shortcut to read man pages. I now plan to work on auto completion for path and command.

I also reworked an old patch by Mike Massonnet to improve the look of the Xfce documentation, it looks really neat now. I will try to see if we can use it with the new documentation.

Goodies

Florian Rivoal, maintainer of xfce4-cpugraph-plugin, launched a "all your unmaintained goodies are belong to me" operation. Basically he offered to maintain a huge number of unmaintained goodies for which there are a great number of patches waiting for review in the Xfce Bugzilla. You can find more details on this thread. This heroic move should not make you forget that contributors/new maintainers are welcome! Florian will not be able to implement new things (or only a limited number) given the work it represents but only to keep those apps functional which is already awesome!

Xfce4 Settings hacking

I started to hack a bit on Xfce4 Settings: I have a branch ready for review implementing a clipboard manager and started a branch to improve Xfce4 Settings Editor.

The clipboard manager allows the system to have a persistent clipboard. When you copy some text or an image and close the application where you copied it, the contents of the clipboard is no longer lost. I was able to add this functionality quickly thanks to the amazing work of Mike Massonnet in Xfce4 Clipman Plugin.

The settings editor is now able to edit existing properties, to rename them, to reset them to their default value or to remove them if there is no default value. It also monitors the channels to detect property changes and to update the view automatically and remembers the window geometry so that you don't have to resize the windows and the columns every time. I still need to work on adding new properties and improving the channel stuff: adding, removing or renaming channels should be possible in the future.

Xfce4 Screenshooter news

During the last few days, I found some time to improve Xfce4 Screenshooter and implement some new features.

Interface

The interface has been slightly improved, it should be more user friendly and take less space. I also added an option allowing you to chose whether the mouse pointer should be displayed on the screenshot.

screenshooter_improved_interface

Improved 'Region' mode

When selecting a region to be screenshooted using the mouse, you can now use the Escape key to cancel the operation.

Saving screenshots to remote locations

It is now possible to save screenshots to remote locations such as FTP, computers accessible via SSH, a Samba shared folder... The window below is displayed to show the progress of the upload and to cancel it.

screenshooter_upload_dialog

This is totally transparent for the user. Remote locations connected with Gigolo or gvfs-connect are automatically available in the save dialog, as any other local folder.

I still have to update the documentation for those new features and to improve various other points, a new release might be out in May.