Category Archives: contribute

Testing Xfce 4.8pre2

A few distributions are already starting to provide Xfce 4.8pre2 packages whether it be in the official repositories or in testing unofficial ones. I'm going to list them here, use this at your own risk.

If your favorite distribution has packages for testing, please let me know and I will add them to the list. Happy testing and report all the bugs you may find!

PS: I don't do support for those packages here. If you have any problem related to the packages, contact the person who provides them.

Xfce at OpenRheinRuhr 2010

There will be an Xfce booth at OpenRheinRuhr 2010 on the 13th and 14th of November in Oberhausen, Germany, thanks to Enrico Tröger, Christoph Wickert, Mark Trompell and Christian Dywan.

They will be available for any information request, chit chat, technical or philosophical discussion, installation... You can also get some cool Xfce stickers or see the nice Xfce 4.8pre1 running live!

Thank you all four for this nice initiative and for others, don't hesitate to come and say hello!

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 XKB plugin needs a new maintainer

Alexander Iliev, the current Xfce4 XKB plugin maintainer, sent a message to the goodies-dev ML telling that he is looking for a new maintainer for xfce4-xkb-plugin. Please get in touch with him if you are interested.

xfce4-xkb-plugin currently has 38 open bugs on the Xfce bugzilla, 4 of them have a patch in bugzilla. This plugin to switch between different keyboard layouts has a lot of users, so you'll make a lot of happy users if you start working on this! Xfce needs you!

Web developers and contributors needed for xfce.org

This post is the first (well, second if you count the one for Xfce4 Screenshooter) of a series of post offering some ways to get involved in Xfce. We need more people if we want to keep improving Xfce!

We are looking for new persons to help us to take care of the Xfce web site. We need a web developer/designer to handle the technical details and someone to improve/update the contents (can be the same person).

Our web site runs a home made PHP based CMS (with no online interface) which we would like to keep (improvements and bug fixes are welcome of course) for the time being. Though, its contents needs some love: some pages are strongly outdated, the style could be refreshed, some pages still use tables for layout, etc. We also need to find a solution for localization: the current system requires the user to translate raw PHP pages and often leads to errors when going live, up to the point that we are considering dropping translations. This will highly depend on the people who get involved in the web site.

The web developer position requires a good PHP, HTML and CSS knowledge to be able to handle the different aspects of the web site. A good command of English to update/rework the different pages and make the web site easier to use, this also requires to follow the Xfce development to update the web site accordingly. Of course, this work can be done as a team if several persons step in. This is a good opportunity to start contributing to the Xfce project and this work will be appreciated by a lot of Xfce users.

Please contact me if you are interested. Thank you in advance!

Xfce4 Screenshooter 1.7.9 – Looking for a new maintainer

I recently released Xfce4 Screenshooter 1.7.9. This is a release candidate for the 1.8 branch. It contains a great number of new improvements and bug fixes, listed below.

I recently started to contribute more to the Xfce core, particularly Xfce4 Session and Xfce4 Settings (I'll try to blog more about that later), which leaves me very little time for Xfce4 Screenshooter. I would like to find someone to take over the maintenance of this projet, if you feel motivated please contact me (jeromeg@xfce.org or jeromeg in #xfce on freenode). Obviously, some basic knowledge of English (to communicate with the rest of the Xfce team and to develop the UI) and knowing C is required. If you are not used to the gtk/glib API, I'm ready to do some mentoring during a transitional phase. Anyway, I would be happy to explain the current code organization, the main issues, the weak areas, etc. This is a good opportunity to join a nice community which needs more contributors to keep rocking!


**Edit**: Bruno Ramos kindly volunteered for this! \o/ For other people interested in contributing, I'll post in the next few days on a few Xfce goodies which need a new maintainer. Please also remember that patches for bugs opened in the bugzilla are a great way to start contributing. Do not hesitate to join #xfce on freenode if you have any questions.

Changelog

  • The XMLRPC-C dependency has been replaced by libsoup.
  • Gtk 2.14 is now required to compile.
  • Switch to a non-recursive Makefile.am. This reduces the build time and centralizes the build information.

New features

  • Scrolling the panel plugin button changes the area to be captured.
  • When compositing is on, use a nice partially transparent rubber-banding, still needs some polishing.
  • F1 opens the help page.
  • Automatically fill the title and comment fields in the ZimageZ upload information dialog.
  • Make enter validate the upload in the ZimageZ upload information dialog.
  • Use the XDG image directory as the default directory for saving screenshots. If it does not exist, fall back to $HOME.
  • Major interface rethinking. This new interface is based on a suggestion by Yves-Alexis Pérez. The former main dialog is split into two dialogs: one for selecting the region to be captured and the delay, while the second one displays a preview of the screenshot and lists the available actions. The main application shows the first dialog, then the second one. If one of the region CLI options is given, the screenshot is taken accordingly and the second dialog is displayed. The panel plugin uses the first dialog as a configuration dialog. When you click the plugin, the screenshot is taken and the second dialog is shown.
  • Allow drag and dropping of the preview to other applications in order to paste the screenshot (Mike Massonnet).

Bugs fixed

  • UTF-8 characters in user name or password caused a login failure.
  • Fix all warnings triggered by running autogen.sh.
  • Fix the ZimageZ upload when behind a proxy.
  • Fix copying of links in the ZimageZ upload finished dialog.
  • Fix 100% CPU usage when selecting a region in a non composited environment (spotted by Gauvain Pocentek).
  • When capturing a window with rounded corners, don't capture the background of the window but make the screenshot transparent instead.
  • Make sure the save folder in the panel plugin preferences is valid.
  • Don't show the copy to clipboard option in the application if no clipboard manager is running as the screenshot won't be preserved after closing the application anyway in that case.
  • Allow xfce4-screenshooter -r to be used as a command for a keybinding.
  • Allow silent build.
  • Fix most pre-build warnings.
  • Escape screenshots path when opening them with an application.
  • Plug some leaks in the application and in the panel plugin.
  • Do not accept conflicting CLI options. Warn the user when he uses CLI options which are not coherent.
  • Correctly save preferences, even if the rc file does not exist (Mike Massonnet).
  • One second is now the minimal delay when using the interactive mode. This caused the screenshooter dialog to be partially displayed on the screenshot in some cases.
  • A lot of updated translations for the application, the panel plugin and the documentation. Thanks to the Xfce translation team!

Screenshots can be found on the homepage.

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.

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!