jeromeg glob

To content | To menu | To search

2009 Dec 23

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.

2009 Nov 11

Help needed for Xfce4 Screenshooter documentation

The current git version of Xfce4 Screenshooter is starting to be in a pretty good shape and I think it is almost ready for a new release. Unfortunately, a lot of things changed during this release cycle so the documentation needs a major refactoring. I need your help for this !

I think this is a good opportunity for someone willing to start contributing to Xfce, I'm ready to provide all the help needed to build the git version of Xfce4 Screenshooter, to explain how the documentation system works and to cooperate to get the documentation ready as soon as possible. I see this as an opportunity to attract new contributors (this task does not require any particular skills, just time, will and a good English level).

Feel free to contact me by mail.

2009 Nov 1

New features of xfce4-notifyd

Back in June, I started to hack on xfce4-notifyd to implement a smart notification placement. In the current stable version, if more two notifications are triggered at the same time, the new ones overlap with the old ones which makes them unreadable. My goal was to shift the notifications so that they would be all visible at the same time.

This turned out to be far more complicated than I had first thought, particularly because of multiple monitors support, but this has finally been committed to the master branch of xfce4-notifyd. I would like to thank Brian who took a lot of time to review my patch and gave me a lot of kicks advises on how to make things work or improve them.

Today, Brian also implemented a cool feature: it is now possible to display gauges (progress bars) or only an icon in a notification, as with notify-osd. Steve Dodier already took advantage of that in xfce4-volumed, which allows you to change the volume using the volume keys of your keyboard and displays beautiful notifications.

Xfce4 Volumed

The following screen cast shows how things look currently:

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

As you can see notifications are displayed using columns. If a side of the screen is reached, another column is started. That way, you never get two overlapping notifications (well, in fact this can happen if the screen is full of notifications, but that shouldn't happen very often!). If you have several monitors, notifications are displayed on the active one. If a monitor is unplugged, notifications are moved to the other one.

2009 Sep 16

Thunar tips and tricks

I was recently reminded of two Thunar features which are useful and not very well known.

First, Thunar comes by default with a fancy mouse gesture feature. The mouse gestures must be done with a middle click, if you don't have one, it can often be emulated by pressing the left and the right button at the same time. To perform a mouse gesture, press the middle button without releasing it, move the mouse in the direction required by the gesture and release the button. The following gestures are available:

  • Moving the mouse up moves to the parent directory of the current directory.
  • Moving the mouse down reloads the current folder.
  • Moving the mouse left moves to the previous directory in the browsing history.
  • Moving the mouse right moves to the next directory in the browsing history..

The second tip I recently discovered is that drag and dropping a file using the right mouse button opens a contextual menu which provides the following options: copy here, move here and link here. Link here is particularly cool, I used to launch a terminal and use ln... To use this right click drag and drop, you need to be faster than the traditional contextual menu: right click on the file/folder and start moving your mouse before the normal contextual pops up; once you release your mouse, the über-cool context menu will pop up.

2009 Jun 14

Xfce4 Screenshooter 1.6.0

I'm pleased to announce the 1.6.0 release of Xfce4 Screenshooter. This cycle was quite long because I had some exams and the number of implemented features is bigger than usual.

First, there is a brand new interface based on a review by Fabrice Viale : it is simpler and more polished. This new interface also allows you to choose whether the mouse cursor should be captured and whether the application should be closed after taking the screenshot. Here is a screenshot of the application:

Xfce4 Screenshooter 1.6.0 interface

It is now possible to save screenshots on any remote share supported by GVFS: ftp, sftp, samba... You just need to connect to a share or a distant computer using Gigolo or gvfs-connect and it will be displayed in the sidebar of the save dialog.

This release also features the possibility to host screenshots online, on ZimageZ. You just need to set up an account on their website and you will then be able to upload your screenshots to ZimageZ directly from Xfce4 Screenshooter. This feature is still a bit experimental and will be improved in the next release: for example accents in the user name or password cause a fail during the upload...

There are also some other small changes which can be found in the changelog. I would like to thank Jannis Pohlmann (for his help concerning jobs and threads), Fabrice Viale (for his interface review), Mike Massonnet and Enrico Tröger (for their various patches) ,Yves-Alexis Perez and Ali Abdallah (for the testing and the suggestions). And last but not least, the translation team who did a great job by adding and updating a lot of translations of the application and of the documentation.

2009 Jun 11

Recently in Xfce

This is just a short post with what happened recently in Xfce.

  • Xfce4 Power Manager 0.8.0 was released. I did not have time yet to test it, but it looks promising.
  • Jannis Pohlmann and Stephan Arts drafted a release process for Xfce. It still needs to be discussed, but it already looks great. Expect some progress on this once the migration to git is done.
  • Brian Tarricone worked a lot on the git migration, things are almost settled.
  • Jannis Pohlmann is making some awesome progress on Thunar. He developped Tumbler, a D-Bus thumbnailing service based on the thumbnail management D-Bus specification, to replace the old thumbnailing code. A video shows how his first experimental implementation behaves.
  • Nick Schermer made a lot of progress on Xfce4 Panel, fixing and lot of bugs and improving performances. His code can be found on git.xfce.org.
  • Stephan Arts has improved the git version of Ristretto a lot: it works, supports basic printing and features a new improved user interface.
  • It seems that Colin Leroy will be the maintainer of Xfce4 Weather Plugin from now on. Welcome!
  • Mike Massonnet rewrote Xfce4 Notes Plugin in Vala, and improved and lot of things at the same time. Expect a release soon.
  • Ali Abdallah, the developper of Xfce4 Power Manager, added a new Goodie to the SVN. Parole is a Gstreamer based media player. I did not test it, so I cannot say more...

2009 Jun 8

We have a winner

dh@triple-media.com

Seriously, you are a winner.

2009 May 1

Xfce4 Screenshooter news

I was quite busy during the last few days but I found some time to work on Xfce4 Screenshooter. It is now able to upload screenshots to ZimageZ, a free image hosting solution. At the beginning, I was planning to use Imageshack, but the API they provide is not easy to use. Meanwhile, I discovered ZimageZ which I really like: it provides galeries, a clean interface and an XML-RPC API which allowed me to implement the image upload stuff almost easily.

At the moment, things are a bit raw. A(n ugly) dialog pops up asking for your ZimageZ user name and login, an image title and a comment; once you validate it, the upload starts. No progress indication yet. I still need to make everything look more beautiful, to improve the error handling and to document this stuff!

I won't implement any other new features for this release. From now on, I'll focus on getting things usable and good looking.

2009 Apr 14

Xfce developers, Jannis Pohlmann

Jannis PohlmannJannis Pohlmann, one of the core Xfce developers, kindly accepted to answer my questions on his involvement in the Xfce project and his plans for Xfce 4.8. Thank you for the time you gave Jannis!

Could you please introduce yourself?

I'm Jannis, an almost 24-year-old computer science student living in Lübeck, Germany. Besides hacking on Xfce in my free time, I am 100% addicted to music. I listen to Black and Doom/Stoner/Post Metal mostly and played drums and bass in two local bands until recently. I also had a darkroom and created b/w photographs for a few years but somehow I've lost touch with that.

Anyway, summer lurks around the corner and that means a lot of sunny days with barbecues and relaxing at the beach ahead of us. Enjoying those days could also be seen as some kind of hobby ... maybe ;)

What is your role in the Xfce community?

I'm the current maintainer or co-maintainer of several core components of Xfce, like the mixer, the menu library and Thunar. I also administrate the Goodies project which is our platform for Xfce extensions and programs which are not part of the core desktop. Not to forget, I am the so-called Xubuntu Xfce4 Liaison which means that I'm the main mediator between Xubuntu and Xfce.

What did you work on for Xfce 4.6?

Way too much ;) . I wrote libxfce4menu, a library for displaying installed applications in a structured fashion, based on the freedesktop.org menu specification. I also rewrote the mixer on top of GStreamer and the application finder, based on a re-design Jasper Huijsmans (the former panel maintainer) came up with. Last but not least, I did a lot of work on the 4.6 settings dialogs, mainly xfwm4 and the keyboard stuff, and of course fixed bugs where I could.

What do you think about Xfce 4.6? Are you pleased with? What do you think could be improved?

4.6 is a great release in many ways. Several neglected components have been rewritten, improved or replaced. With xfconf and the improved session manager Xfce as a platform has definitely gained potential. We've received a lot of overwhelming feedback and press for the release.

I see 4.6 more as an intermediate release though. By introducing xfconf and libxfce4menu we've changed a lot of the underlying infrastructure. So much in fact that the release was delayed for more than six months. As a result, there is a number of very young features in 4.6 which give the release a bit of an experimental touch. A lot of things need more polishing. And, as usual, there are also a few issues for which we don't have a solution yet.

What are you going to work on for Xfce 4.8?

Keeping in mind that our goal is to have a shorter release cycle (we've had ~10 months in mind but we haven't really made any plans yet ... that's just typical for us ...), I'll mostly concentrate on Thunar and libxfce4menu. I am currently migrating Thunar to GIO which I'll hopefully finish in time for 4.8. libxfce4menu is lacking menu merging support in 4.6 and is undergoing a redesign at the moment. Last but not least, the mixer panel plugin needs some love.

What is GIO and what is the aim of porting Thunar to GIO?

GIO is a filesystem abstraction layer. It provides a high-level API to accessing directories, files and volumes. It's been part of GLib since 2.16. Thunar has something similar called ThunarVFS which is in some aspects less powerful than GIO.

Migrating Thunar to GIO has several reasons: ThunarVFS is an additional library in the stack while GIO is part of GLib already. Dropping ThunarVFS means less maintainance work for us. And, as already mentioned, GIO has features that ThunarVFS does not have.

The personal goal I have is to write a so called "Studienarbeit" about the migration. That's an around 30 pages thesis students have to write at German universities as a preparation for the real diploma thesis (which is an equivalent to the master's thesis). The process can be followed on my wiki.

What features will this bring for users?

GIO itself will not bring any new features. However, GIO can be extended easily to support virtual/remote filesystems. There is a set of extensions called GVfs which supports SFTP, HTTP, FTP, SMB and other protocols. Unfortunately it has a few GNOME dependencies, so it is up to you to decide whether you want to use it. People could as well write their own extension for whatever protocol they need - if they want to.

What will be the influence on performances?

I know that many people fear bloat. GIO is already being used by GTK+, so by dropping ThunarVFS we can probably make Thunar even lighter than it is today. As opposed to ThunarVFS, GIO has an asynchronous API which may help in making Thunar more responsive in some situations.

Do you plan to implement new features apart from the GIO related ones?

Definitely. Not too many though. Migrating Thunar to GIO is a lot of work on its own already. My plans include a shared progress dialog for file operations, a more user-friendly side pane, inspired by this post from Hylke and a user-friendly way to manage "places" (such as remote locations).

What does GDesktopmenu (previously known as libxfce4menu) provide?

libxfce4menu (or gdesktopmenu in the future) is an implementation of the freedesktop.org menu specification. It provides applications with an easy way to list all installed applications in a structured manner, like for the applications menu.

What are your plans for Xfce 4.8? Will users be able to customize their menu easily?

Yes. As mentioned earlier libxfce4menu in 4.6 lacks support for menu merging which is an essential feature required by menu editors. In 4.8 this will be fully supported.

I'm now working together with Travis Watkins from Alacarte who has expressed interest in the 4.8 API I presented on my blog a while ago. We're planning to add a nice menu editing API to the library so that it'll be *very* easy to write menu editors. It looks like Alacarte will be the first editor to use it.

Any others future plans ? Something else to add ?

Yeah. Thanks again to everyone who donated money for our Buildbot server! We're currently waiting for the missing components to arrive so that we can set it up. Samuel Verstraete, together with the Coreboot team, did a great job in getting hardware virtualization to work on the server, so we'll hopefully see Buildbot running very soon.

Edit: sorry, I found forgotten a question which I just added.

2009 Apr 7

Xfce 4.6.1 to be released soon

Stephan Arts started to tag Xfce 4.6, this bug fix release should be available in the next few days.

This release fixes a lot of bugs introduced in Xfce 4.6 and also comes with updated/improved translations.

2009 Mar 30

What's up in the Goodies ?

There have been a bunch of new releases in the Goodies during the last few days.

Midori 1.5.0

This new release mainly brings changes under the hood which aim at easing the future development of the application and its stability. A lot of old code which was used to provide backward compatibility for the old Webkit releases was removed, as well as the internal source viewer: Midori now uses your default text editor.

There are also some visible changes: it is now possible to download files directly, without using an external application and a new extension called 'Colorful Tabs' makes your browser shiny!

Xfce Power Manager 0.6.5 and 0.8.0 alpha

Two releases during the last few days: a stable release and an alpha release for the future 0.8.0.

The 0.6.5 version provides the standard Freedesktop.org inhibit interface which allows you to prevent power managers to suspend, shutdown, etc your computer under certain conditions.

The 0.8.0 version contains far more changes. The user interface was simplified and the inhibit and power management standard interfaces have also been added. Xfce Power Manager is now able to detect if your session is idle and to reduce the brightness in that case, it can also detect if you are watching a movie and then disables screen suspending or brightness reduction. Two new panel plugins are available: one to set the brightness of the screen and the other one to manage the inhibit stuff. Your suspend, sleep and brightness keys should also be detected correctly.

The developer of this applications would appreciate if people could test this alpha release and report any bug on the Xfce Bugzilla.

Xfmpc 0.1.0

Xfmpc now has an additional developer who will speed the development up. This release features a preferences dialog for the MPD server and the appearance of the player, and improved play list with new context menus to show information about the songs, to add and remove songs, etc. A search entry was also added to the song database browser to find songs easily.

Xfce Clipman Plugin 0.9.1

This is a minor bug fix release which fixes some little issues. The next release (1.0) should be far more exciting with the actions support: the plugin will be able to execute some actions when it detects a given pattern in your clipboard.

2009 Mar 27

Translating Xfce

Having Xfce translated into as many languages as possible and maintaining translations of high quality is essential. People will not use a desktop environment that they do not understand! The Xfce i18n Project is in charge of this task and always needs new contributors. You do not need any particular skill, except understanding English, writing your own language correctly and motivation.

Let's see how you can contribute to this project.

First step: contact any existing translators for your language

Reference: the Language Maintainers page on the Xfce i18n Wiki.

Their might already be contributors to the translation of Xfce into your language listed on this page. If this is the case, you should get in touch with them and ask them how you can help. If the page is not up to date, you should warn us or update it yourself.

Let's see how to translate an application or to update a translation now.

Second step: download the translation files

The applications are translated using pot files, with a 'po' extension: those files basically contain each English string and its translation. There is also a template for creating a pot file for a new translation: it is the file which has a 'pot' extension. Every time a developper changes a string in the application, he will update the pot files and the translation will have to be updated accordingly.

Those files are located on the Xfce SVN to ease cooperation and distribution. We will use a script to ease the downloading of those files, this script will also allow you to update your pot files easily. This script requires Subversion to work.

Download the script and move it to a folder where you want to store the pot files. Then run the following command in this directory to make the script executable:

chmod +x xdt-i18n

Then, use this command to get the pot files for the core applications for the first time:

xdt-i18n init xfce/trunk

And for the goodies:

xdt-i18n init goodies/trunk

You should always make sure that you are using the latest pot files when starting to translate a project. This command allows you to update the pot files quickly:

xdt-i18n update

Third step: start translating

The script above downloaded the latest translation files and put them in separate folder. Go to the folder of the application you want to translate or or of the application whose translation you want to improve. The translation files will be available in a po folder. If there is a file for your language, you will be able to start translating directly. If not you will have to create a file for your language by copying the pot file and renaming it to your_locale_identifier.po. To find the locale identifier, you can use this page.

To translate, open the po file using your favorite text editor. You will see a main header composed of likes similar to this:

"Project-Id-Version: Thunar\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-01-11 00:20+0100\n"
"PO-Revision-Date: 2009-02-11 13:20+0100\n"
"Last-Translator: Mike Massonnet <mmassonnet@gmail.com>\n"
"Language-Team: French <xfce-i18n@xfce.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"

Update the PO-Revision-Date field with the current date and time and the Last-Translator field with your name and your email so that the next translator can contact you if he has some questions. After that you can start the real translation job.

Every sentence already translated is displayed in the po file as the following one:

msgid "Invalid file name"
msgstr "Nom de fichier non valide"

Untranslated strings are displayed as this one:

msgid "Only local files may be renamed"
msgstr ""

Some strings may also be marked as fuzzy, which means that the original sentence has changed a bit and that the translation is not totally wrong but still needs to be checked and/or fixed. Make sure to remove the '#,fuzzy' after fixing the string.

#, fuzzy
msgid "Screenshot.png"
msgstr " Screenshot"

msgid allows you to identify the original string and msgstr to identify the translated strings. Modifying the msgid strings will have no effect, if you see a typo in one of them, file a bug. To translate a string or update a translation, just modify the text between the "" in the msgstr field.

Some strings may contain slashes or weird characters such as "%s" or "%i". You should always make sure that those characters are also present in the translated string in the same order, or the application will be broken in your language. To check if your translation is valid, the xdt-i18n script offers a check option which will check all po files for your language:

xdt-i18n check your_language_code.po

If it displays any warning, you must fix it before sharing your translation.

You can also use this script to see the stats for a given language, that is to say the number of translated messages, the number of fuzzy and untranslated ones:

xdt-i18n stat your_language_code.po

You can also use Poedit to modify the po files. It updates the po headers automatically, sorts the strings by category (translated, fuzzy and untranslated) and provides a friendly interface.

Fourth step: get your translation in

Once you are done with your translations, go to the root of your xfce/trunk folder or goodies/trunk folder and use the following command to create a patch named my_language.diff containing your translations:

svn diff > my_language.diff

If there is a maintainer for your language, you should send him this file asking him politely to review it and get it in. If not, you should send it to the Xfce i18n mailing list where someone will review it and get it in.

Fourth step: this tutorial sucks and you need more information

The Xfce i18n Wiki contains a lot of information but some of it may be outdated. If you have any questions, please ask them on the Xfce i18n mailing list.

I hope that I was clear enough and that we will be flooded with new or improved translations! We need you!

2009 Mar 21

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.

2009 Feb 28

Xfce 4.6, what do they think about it?

Xfce 4.6 has been out only since yesterday but there are already a great number of reviews spawning all around the Web. I'll try to keep a list of the main ones here:

French:

Spanish:

Czech:

As usual, Béranger found something to complain about :) But as he is complaining about the transparency of desktop icons, I think we can still say that 4.6 is a good release!

Reading those reviews, I can see two main issues: the desktop right click menu and the menu editor. For the menu editor, our rocking Jannis Pohlmann is already on it and is making really good progress on libxfce4menu: it'll allow us to use Alacarte to edit menus in Xfce 4.8 or to develop our own menu editor, if someone volunteers for this. For the right click menu, just find a beautiful wallpaper and remove all those ugly non-transparent desktop icons that hide it and your old beloved menu will be back!

If you find any other interesting reviews, please share them!

Edit: I added some links from the comments.

2009 Feb 27

Xfce 4.6 is out!

Xfce 4.6 was officially released this morning!

Most distributions will have packages available in the next few days. Meanwhile, you can take a look at the tour to see all nice new features!

I would like to thank the Xfce Development Team who did a really good job. A 4.6.1 maintainance release will be out in the next few weeks to improve the translations and fix bugs that may pop up.

The website has also been updated, go and get Xfce 4.6!

2009 Feb 25

News from the Goodies

Recently, there were a few releases in the Xfce Goodies project. I will try to summarize the main changes.

Xfce4 Power Manager 0.6.1 and 0.6.2

Those two bug fix releases fix various annoying problems: a tab was not working in the settings dialogs, there were some D-Bus related errors and the -r option is not needed anymore to start the application.

The author also added a brightness control plugin for the Xfce Panel to the Xfce SVN and discussions have started about merging the different battery panel plugins and the power manager. He also considers using DeviceKit. A lot of exciting stuff for the next release!

Midori 0.1.3

This new release of Midori, the fast Webkit based browser, brings a lot of interesting new features:

  • improved zoom preferences.
  • the interface can now be easily configured.
  • a new Mouse Gestures extension allows you to bind actions to particular mouse gestures.
  • Maemo integration for mobiles.
  • Find as you type feature for the search bar: results are proposed while you type a word in the search bar.

Gigolo 0.2.1

This bug fix release fixes a few bugs: Obex URIs are saved correctly now, some interface related problems have been fixed and one can now use the @ symbol in adresses.

Xfburn 0.4.1

And one more bug fix release ! It fixes drag and drop related issues, a crash when creating folders in a composition and burners detection has been improved. It is also advised to use libburn 0.5.6 or higher, which fixes a few annoying crashes.

Xfce4 Screenshooter 1.5.1

Yet another bug fix release... The mouse cursor is now displayed on the screenshots, a crash when the application did not detect any application to open images and one memory leak fixed...

Those little goodies should appetize you for Xfce 4.6 !

2009 Feb 24

Xfce 4.6 is on the way!

Stephan Arts, our beloved release manager, started to prepare the tarballs for Xfce 4.6! There are still some things to do before the release like testing the tarballs and getting the mirrors ready, but it should be out soon!

Update: most tarballs are ready now, the release should be for Thursday or Friday.

2009 Feb 17

What can we expect in Xfce 4.8 ? For the menu...

I'll start to write some posts in English, in case some English speakers are interested by Xfce news, I made a category for each language, so that people can read the posts of their preferred language easily. Xfce 4.6 is not out yet, but some developers have already started to implement nice things for the future versions, particularly Xfce 4.8.

Libxfce4menu : easily editable menus ?

People have been complaining for a long time that menu editing is a pain in Xfce : Xfce 4.4 menu editor was quite limited. 4.6 is a bit better as you can put Desktop files in ~/.local/share/applications/ to modify the menu, but it lacks a GUI to do those actions quickly and easily.

Jannis Pohlmann, the developer of libxfce4menu, has recently announced that he has started to improve libxfce4menu so that it implements the whole Freedesktop menu specification. This work is only at its early stages, but it seems to be quite promising : he published a video where one can see him editing the Xfce menu using Alacarte, the Gnome menu editor.

His code is available on git.xfce.org and works pretty well. After installing this new version, you just need to restart xfdesktop and xfce4-panel, to edit the menu using Alacarte and to configure the menu panel plugin to use the ~/.config/menus/applications.menu menu file.

Unfortunately, it is not yet possible to set a custom menu file for the right click menu of the desktop, so no right click custom menu for now... This new version will also allow some neat things, which might interest sysadmins, such as having a menu file on a network and use it on the local machine.