Xfce.org | Xfce Goodies | Xfce Foundation Classes | Xfce Bug Tracker | Xfce Wiki | Xfce Forum | Xfce-look | Xfce DevBlog     

Xfce News
The little mouse told me...

31 Oct 2008

Why QUALITY translations are important!

OgMaciel @ 18:10:28 UTC — Filed under: Xfce

Kudos for everyone involved with the translation of open source software out there, specially for those understand the different between QUANTITY and QUALITY! The following is for your enjoyment:

Translations oops

When officials asked for the Welsh translation of a road sign, they thought the reply was what they needed.

Unfortunately, the e-mail response to Swansea council said in Welsh: “I am not in the office at the moment. Please send any work to be translated”. (BBC News)

Thanks SMK2 for spotting this. )

author_img

30 Oct 2008

Xfce Commit Messages on IRC

Brian Tarricone @ 19:52:00 UTC — Filed under: Xfce

This is a little dumb, but kinda fun. A week or 2 ago I set up a CIA bot in #xfce-commits on Freenode. If you have nothing better to do with your life than watch Xfce commit messages scroll by, feel free to join and idle with the rest of us losers.

author_img

28 Oct 2008

Intrepid Ibex is almost here

Cody Somerville @ 02:17:44 UTC — Filed under: Xfce

We’re oh-so-close to Intrepid Ibex being released and I’m most certainly feeling the excitement building. This is the first full release cycle as the Xubuntu Project Leader and I must admit that I’ve learnt a lot about being a leader, managing goals and objectives, herding sheep (joking), developing community spirit, and making touchy decisions. In reflection, what I find the most exciting is the growth and maturity we’ve seen in the Xubuntu community over the last six months. We’ve gone from two to three active contributors to over ten! I can only imaging that we’ll continue to see the number of contributors to Xubuntu increase in Jaunty - hopefully at a similar rate. For those interested, a great way to get started is to hang out in #xubuntu-devel on Freenode and help test our cds in preperation of the release.

As for the actual product, Xubuntu 8.10 for the most part will be a more polished version of Xubuntu 8.04 with our biggest ticket item being an improved multimedia experience. We’ve made it easier to not only enjoy your music but also to manage your collection with the Listen Media Player. What about Samba you ask? Unfortunately it didn’t quite get finished in *time* but it did get finished and will be included in Jaunty. I imagine we’ll provide a backport or something similar within a few shorts weeks for Intrepid.

Looking forward to Jaunty, I’m pumped (and hope you are too, w00t w00t!). We’ve already got some great brainstorming going on and Xfce 4.6 will most definitely be ready for Jaunty.I’ll be sure to blog more about our plans for Jaunty once the Jaunty release cycle begins.

author_img

26 Oct 2008

Get notifed about translation commit messages on IRC

OgMaciel @ 15:35:44 UTC — Filed under: Xfce

A few years back I created the irc channel #tradutores (translators in Brazilian Portuguese) on the Freenode server, a place where anyone involved with the translation process of open source software could hang out, chat, ask questions and share their experience with other fellow translators. A place with no association to a given project or distribution, where you could find people working for several groups such as GNOME, KDE, XFCE, Fedora, Foresight, Ubuntu, all sharing the same goal: improve the quality of open source translations for Brazilian Portuguese!

One thing that I have always felt a need for was a notification system for every time any given project had a commit related to Brazilian Portuguese translation. In other words, is someone committed new translations for Amarok, Totem, Firefox, or Thunar I wanted to be notified. One day I found out about CIA.vc, this huge aggregator of open source commits for lack of a better description. I imediately started using their services to follow commit messages for a couple of projects such as GNOME (the entire project, which gives me hundreds of messages on a daily basis) and even my pet project BillReminder. Soon after I added a bot to the channel #billreminder on Freenode to notify of every commit to the project, and life was good! But it wasn’t until last week that I read this post and found about about a cool feature that I had not yet explored: filters!

After many hours trying to figure out how to write the proper filter, I finally managed to create a new bot that would listen for commit messages that contained the word “Brazilian” in the log message. Why Brazilian? Because it is a common procedure to add the message “Updated Brazilian Portuguese…” in the log messages, which gave me a good way to filter out only the translations commit messages out of the many generated every day.

cia.cv bot for Brazilian Portuguese translations

As you can see above, as soon as I committed my translations for the Dates program, my bot CIA-60 notified me of the event in the channel. )

If you are involved with translating open source projects into Brazilian Portuguese, please stop by #tradutores on Freenode and introduce yourself. I’d love to hear about your ideas.

author_img

23 Oct 2008

Devhelp assistant for VIM

Jannis Pohlmann @ 13:42:09 UTC — Filed under: Other topics

Yesterday I came across a blog post by Richard Hult. He imported something called “assistant” into Devhelp in trunk. This assistant is a small window displaying documentation for one function, class/object or macro. He also wrote some code so Emacs would automatically update this window while the user is typing/coding. I thought it would be nice to have this for VIM, so I hacked on a small plugin for it. You can see a demo here. I haven’t uploaded the source code yet, but it’ll either end up in Devhelp or on vim.org as soon as it is finished.

Edit: After some positive feedback, I have now filed a feature request for the plugin to be added to devhelp. If you’re interested in testing, go grab it from there. Please let me know about your ideas or bugs you have found.
Edit: The code has been imported into devhelp trunk.

author_img

15 Oct 2008

Xfce 4.6beta1 Released

Brian Tarricone @ 19:06:08 UTC — Filed under: Xfce

Hey all… we just released the 1st beta leading up to 4.6. Go check it out. Full list of changes here.

author_img

Event sounds in Xfce 4.4 / 4.6

stephan @ 09:58:07 UTC — Filed under: Xfce

The release-process took a little longer then expected, but its getting better. I’ve just send the announcement that Xfce 4.6 Beta1 is ready for download.

Some people have been reporting that they suddenly had event-sounds in their xfce. This is the result of using a distro that upgraded their gtk to 2.14 and installed libcanberra. With this release of xfce (xfce 4.6 beta1), the event-sounds XSETTINGS are managed, and as a result it is now possible to enable / disable these sounds.

It is important to mention that this feature is NOT present in 4.4. As a result you will experience in the default behaviour for gtk when the XSETTINGS are missing. You get event-sounds when you use Xfce 4.4.x with gtk 2.14 + libcanberra. To remove event-sounds you can do 1 of the following 3 things:

  • Remove libcanberra
  • Downgrade gtk to 2.12
  • Upgrade xfce to 4.6

The first option is obviously the least intrusive one ;-)

author_img

13 Oct 2008

Beta release and personal news

Jannis Pohlmann @ 22:30:52 UTC — Filed under: Life, Xfce

For those of you who are eager to test the first Xfce 4.6 beta: We’re running a bit late again. At least the delay won’t be that big this time. Most packages are prepared already and the release will be rolled out tomorrow or the day after that I suppose. To be able to do this we had to add several feature freeze exceptions. If you keep in mind however that we stil have the option to sacrifice the second release candidate to keep up with the schedule, the final release date is not in danger yet.

There are also some news related to my person. Last week I received the official sponsorship invitation to the Ubuntu Developers Summit for Jaunty. So if things go well, I’ll be able to be in Mountain View in December to represent Xfce when the Xubuntu team prepares their next release after Intrepid! This is very exciting and quite a big thing for me. So far I never made it across the pond and I’m not really happy about having to fly 11 hours or more to get there. But then again you just have to take the chances you get otherwise you’ll not receive them anymore at some point. I’ve already turned down the attempts of Google to get me into their internship program last year which was quite frankly stupid. Anyway, I decided to forget about my fear of flying for once and take this great opportunity I’m offered by Canonical. I still need to sort out a few things, get a new passport and prepare for the event itself but I’m quite happy I made this decision.

author_img

9 Oct 2008

Followup: Xubuntu Hug Day

Cody Somerville @ 07:19:28 UTC — Filed under: Xfce

Wow. The Xubuntu Hug Day was a *huge* success. Xfce4 developers, Xubuntu developers, Debian folk, and members of the Xubuntu and Ubuntu community all came out to help test and iron out bugs in the Xubuntu beta. For our first hug day, I’m very happy and very impressed with the number of participants and bugs tackled. Huge Kudos to Charlie Kravetz for heading the initiative and doing an excellent job.

The most exciting part of it all is that a number of folks who used the hug day as an opportunity to get involved for the first time haven’t stopped! Seeing such growth in the contributing Xubuntu community is exciting and very encouraging.

Anyhow, Kudos to everyone who took part! I’m sure we’ll do these types of events more often! )

author_img

6 Oct 2008

Xfconf — A New Configuration Storage System

Brian Tarricone @ 18:25:32 UTC — Filed under: Xfce

I suppose others have written in broad terms about Xfconf, Xfce 4.6’s new configuration storage/retrieval system, but I guess an in-depth explanation is overdue and is probably up to me.

First, some background.

Xfce has used a configuration system called MCS (Multi-Channel Settings) for some time now, since 4.0 was released near the end of 2003. It’s inflexible and very monolithic. Only a single application (xfce-mcs-manager) is allowed to actually modify settings; all other applications can only query values. That means that the GUI settings dialogs have to run in the xfce-mcs-manager process. The GUI dialogs are implemented in shared libraries that are linked into the xfce-mcs-manager process at runtime. To add more confusion as to its purpose, xfce-mcs-manager also acts as an XSETTINGS manager, automatically proxying the settings stored in a “special” channel.

I had a few loosely-defined goals when designing Xfconf.

  • Keep the familiar “channels” concept from MCS, but make the namespaces for settings storage inside channels hierarchical.
  • The configuration storage daemon should be able to run without a GUI environment, and the client library shouldn’t have GUI dependencies.
  • Get the XSETTINGS manager out of the configuration daemon.
  • Integrate “kiosk mode” functionality directly into the configuration storage mechanism.
  • Native support for arrays/structs in the configuration store.
  • Provide a client library that’s easy to use and exposes commonly-used functionality.
  • No client application is special: any app can read or write any setting.

There were probably others, but those seem to be the ones that stick out in my mind after the fact.

MCS used a protocol involving a special X window, X selections, and X window properties to pass settings around at runtime. Obviously this kind of thing isn’t suitable for a configuration system that can run without a GUI, or even on a non-X11 system. So, that was right out. Given momentum over the past couple years, D-Bus seemed to make the most sense as an IPC method. So, the D-Bus API for Xfconf was born. (Please note that I don’t consider this frozen until we release 4.6.0 final. I’ll do my best not to remove or change existing interfaces, though.)

The rest of the story might sound rather gconf-like, and I guess it probably is. There’s a settings daemon (xfconfd) and a client library (libxfconf). Apps use the client library to fetch settings from and store settings to xfconfd. The daemon stores the settings on disk in a format of its choosing and manages the D-Bus interface. D-Bus gives us a few nice things for free; for example, xfconfd starts via D-Bus activation, so there’s no need to include it in any startup scripts or have client applications specifically start it. D-Bus also ensures that two instances of xfconfd aren’t running, fighting over the config store (well, unless you start a separate session bus daemon).

As for settings themselves, you have a channel that holds an arbitrary number of hierarchical properties. Channel names are simple ASCII text strings, like “xfwm4″ or “xfce4-desktop”. Property names look a bit like path names and are, as I said, hierarchical. You can use this to logically organise properties inside your application. Xfdesktop is a good example of this, prefixing menu-related preferences with “/desktop-menu/” and backdrop-related prefs with “/backdrop/”. Xfwm4 is a terrible example of this, with all preferences prefixed with “/general/” for no apparent reason.

Anyhow, we support a variety of different data types: basically all of those supported and marshalable by dbus-glib, plus special 16-bit signed and unsigned types (though those two are pretty hacky at the moment and I’d like to be able to do those in a better way). The client library, libxfconf, lets you set commonly-used data types directly, and also has a generic interface for setting the others.

One thing I really like about libxfconf is its incredibly flexible support for array properties. Any property can be set to an array of values rather than a single value. The values in the array need not even be of the same type. Libxfconf has native support for setting array types, and also can directly map C structs to and from array types, automatically.

A final bit of usefulness is in libxfconf’s bindings mechanism. Libxfconf can “bind” an Xfconf property to a GObject property in your application. If the GObject property changes, then libxfconf will automatically update the value in the Xfconf store. If the value in the Xfconf store changes, libxfconf will automatically update the GObject property. This can greatly simplify the Xfconf code in your application. In your settings dialog, you simply have a single line of code to — for example — connect a GtkCheckButton’s “toggled” property to a boolean Xfconf property. If the user toggles the checkbox, Xfconf gets updated automatically. If the setting gets changed outside the application somehow while the settings dialog is open, the dialog gets updated automatically too. You can also use this functionality on the other “end” of the equation, too: if you use GObjects in your application, and your settings map to GObject properties on those objects, you can bind the properties there, too, and not have to manually take action when the user sets a setting in the settings dialog. Unfortunately, libxfconf only supports setting scalar properties now (not arrays), except for the special case of the GdkColor struct. Hopefully this will change in a future release.

We also include an “xfconf-query” application in the xfconf package, written mostly by Stephan Arts, which is a simple command-line Xfconf client. As you might guess, you can use it to query the values of Xfconf properties from the command-line, or from scripts. However, despite the “query” part of its name, it can modify Xfconf properties as well.

In Xfce 4.4 and below, we had the “XfceKiosk” system, which would allow you to lock down a desktop install so certain settings can and can’t be changed by particular users. It worked decently well, but was sometimes confusing to configure, and the application had to do special things to support it. Xfconf integrates a “locking” system whereby the system administrator can install a normally-formatted Xfconf configuration file with directives that instruct xfconfd to consider some properties unmodifiable by the user (and allows the sysadmin to set defaults too). This takes the burden away from applications to support a particular locking framework, as it’s natively built into the configuration system. (Unfortunately, as of this writing, the locking system isn’t working properly. It’ll definitely be finished by 4.6.0 final.)

So, I guess that’s it. If you’d like to get started with Xfconf, a good place to look would be the API documentation (please note that the API will not be frozen until 4.6.0 final). Otherwise, feel free to ask questions on the xfce4-dev mailing list.

author_img

5 Oct 2008

Spread the word about Xubuntu

vincent @ 16:37:00 UTC — Filed under: Xfce

Xubuntu 8.10 is coming, and the world needs to know it!

To make this easier for you, Pasi Lallinaho (Xubuntu’s marketing lead) has prepared an image that shows how many days are yet to come before 8.10 will be released.

And that’s where you come in to play: show the image on your own website, blog, profile page or whatever, by including the following HTML code:

<a href="http://xubuntu.org" title="Learn more about Xubuntu..."><img src="http://xubuntu.org/xubuntu-static/intrepid-countdown/index.php" alt="Countdown to Xubuntu (xubuntu.org) 8.10, by Pasi Lallinaho"></a>

Let’s introduce many more users to the wonderful world of Xubuntu )

Countdown to Xubuntu (xubuntu.org) 8.10, by Pasi Lallinaho

      
author_img

Xubuntu :)

Cody Somerville @ 03:25:10 UTC — Filed under: Xfce

author_img

2 Oct 2008

News and Xubuntu HugDay

Jannis Pohlmann @ 17:35:15 UTC — Filed under: Weekly News, Xfce

There are only ten days left until the first beta release of Xfce 4.6 and we still got a lot of things to do. Over the past week(s) we’ve been working on new features in xfwm4, xfce4-session and xfce4-appfinder mostly.
Olivier added NET_WM_PING support to xfwm4. This means you can now kill applications which are not responding using a dialog that pops up after a few seconds – great! As a funny coincidence I was just browsing the xfce4-dev mailing list archives a few days ago when I found one of my first posts there which was about a similar feature.
About one or two months ago Auke Kok posted a patch for parallel application startup for xfce4-settings on the mailing list. Brian now took the time to implement it and finally committed it yesterday. It notably speeds up the Xfce startup process.
When we tried to fix the main xfdesktop crash which we thought to be related to libxfce4menu a few weeks ago, I tried to reproduce it by adding ThunarVFS monitoring support to xfce4-appfinder and see if it would crash as well. My modifications were pretty rough and I decided to rewrite the appfinder to make its code more readable and flexible. I’ve been working on this for the last two days and comitted it today. I’ve used recordMyDesktop to record a video presenting the new features again, but this time I also recorded my (creepy) voice! It’s awful to hear how long it took me to pronounce “freedesktop.org menu specification compliance” and how I sucked at mentioning the name of the library it’s based on: “libxfce4menu”. Apart from that I’m glad it worked, so I can continue to plan the video series for 4.6.

On to something else: Last week I’ve been announced the official Xubuntu Xfce4 Liaison and I completely forgot to announce that on the mailing lists … anyway, this reminds me of the topic of this post: today is Ubuntu BugDay with special focus on Xubuntu. If you’re interested in getting things fixed in Xfce 4.4.x or Xubuntu in general, you’re welcome to take part by hugging a few bugs!

That’s it! I’ll try to keep you posted on news about the beta release.

Cheers,
Jannis

Edit: I already fixed the categories problem as you can see here.

author_img

Webmaster
Xfce is © Olivier FOURDAN 1996 - 2004 | Powered by WordPress and Lunar Linux | 0.509