Xfce

Subdomains

Last weekend we finally released Pinkie. While the reactions on news sites and forums have been quite mixed (as expected) we surprisingly received some very positive feedback from GNOME for xfconf. To me this gives proof that we did the right thing for 4.6. When we discussed the original design proposal for a D-Bus based settings daemon, we also took gconf and dconf into consideration. We decided to write xfconf instead for one reason in particular: Time. We wanted to have this concept in 4.6 and we didn’t want to wait for others to finish their work. Today this sounds reasonable as GNOME still seems to be struggling with dconf. Anyway, we appreciate the feedback and maybe we can cooperate on this one in the future.

So what happened this week, after the long awaited alpha release? The first thing I did was to merge the support for embedded settings dialogs into trunk. Most of the Xfce settings dialogs appear inside the main settings dialog now (as demonstrated in this video). Those which do not support this feature just pop up as usual. We’re using the new X-XfcePluggable key in .desktop files to announce support for this feature. This way it’s pretty easy for third parties to embed their own dialogs.

Stephan continued working on his graphical settings editor for xfconf. He and Brian also moved xfsettingsd into xfce4-settings. From now on xfconf will contain non-UI code only. As always our amazing translators comitted translation updates. I finally added xfconf support to the new mixer. Then, yesterday, Brian fixed our number one bug: xfdesktop used to crash almost everytime the contents of a directory monitored by xfdesktop/libxfce4menu changed and the desktop menu was regenerated. I’m glad this turned out not to be a reference counting bug in libxfce4menu but a very difficult to track down race condition inside xfdesktop. And Brian found it!

Today, I started planning the goodies installer for 4.6. We had different graphical installers for the 4.4 series and I’d like to continue that starting with the first release candidate of 4.6. I asked all maintainers to add their goodies to the list if they are still maintaining them and if they consider their goodies stable. I also wrote down my plans on a video series for 4.6. I recently tested the audio support of recordMyDesktop and it seems to work pretty well, so I thought it would be nice to introduce users and developers to the new release by recording some video presentations and tutorials during the release process.

So, this is it for now. Tomorrow I’ll be visiting my family for a couple days which gives me enough time to fix a few remaining things and get my components in shape for the beta. I’ll keep you posted!

Edit: Oh, what I completely forgot to mention: It’s great that gnomefiles.org is back! But this is even better:

I discovered a really nifty trick the other day, one that makes for a pleasant work environment and that fills the need for a launch area of some kind. It basically eliminates the need for iDesk, too.

While you may be aware that Xfce can draw the usual home, trash, and volume folders directly on the desktop, it can also do things with the icons on the desktop. Like . . . use them as application launchers.

Open up a browser, and drag a .desktop entry from /usr/share/applications onto the desktop. Presto, there's your application launcher. Much larger than the usual miniscule panel icon sizes, too. The downside is that you can't drag items directly from your Xfce menu, but as long as you know where they come from, you can add any launcher you want. A bit of tinkering results in the following:

Who needs a panel, when the desktop launchers, right-click desktop menu, and keyboard commands work just fine? Unless you really need one, of course. It's almost like the ever-popular spartan Openbox + iDesk combination. Xfce distilled to its finest essence. Thank goodness for flexibility.

I discovered a really nifty trick the other day, one that makes for a pleasant work environment and that fills the need for a launch area of some kind. It basically eliminates the need for iDesk, too.

While you may be aware that Xfce can draw the usual home, trash, and volume folders directly on the desktop, it can also do things with the icons on the desktop. Like . . . use them as application launchers.

Open up a browser, and drag a .desktop entry from /usr/share/applications onto the desktop. Presto, there's your application launcher. Much larger than the usual miniscule panel icon sizes, too. The downside is that you can't drag items directly from your Xfce menu, but as long as you know where they come from, you can add any launcher you want. A bit of tinkering results in the following:

Who needs a panel, when the desktop launchers, right-click desktop menu, and keyboard commands work just fine? Unless you really need one, of course. It's almost like the ever-popular spartan Openbox + iDesk combination. Xfce distilled to its finest essence. Thank goodness for flexibility.

Xfce is the desktop environment and main reason for the existence of Xubuntu. It provides the file manager, panels and much more, keeping your desktop fast yet easy to use. Thus, Xfce is one of the most important parts of Xubuntu, and the 4.4 release has been enjoyed by many users of Xubuntu since it was released.

Obviously, the 4.6 release will be very significant for Xubuntu, and this is an important milestone in the road towards that release. While it was initially hoped that this release would make it into Xubuntu 8.10 (codenamed “Intrepid Ibex”), the Xfce release schedule suggests that, with three beta releases and two release candidated still scheduled, that target won’t be met. However, you can expect to see the new release in Xubuntu 9.04 (codename “Jaunty Jackalope”), and if you’re running 8.10 you can try the alpha release by adding the xubuntu-dev PPA to your software sources. (Note: at the time of writing this the packaged version is not this actual alpha but a version before that, however, this alpha will be packaged soon.)

The new version of Xfce comes with many new features. Xfce now has a new configuration backend called xfconf, similar to gconf, but simpler and easier to work with. This brings more flexibility and better integration between Xfce components. You can now control your desktop settings through the command-line – this is not only handy for people helping on IRC (i.e. there is no more need to guide the user through all kinds of settings dialogs – though, IMHO, that would be less confusing for the user), it also means automated scripts can easily update your settings. One use I see for this is being able to change your keyboard layout using a key combination, an oft-requested feature by programmers.

Speaking of key combinations: the confusing keyboard shortcut-themes have been removed and conflicts between keyboard shortcuts and window manager shortcuts are now easily resolved. All these new settings also come with updated settings dialogs, which can be started standalone as they are now, but also embedded into the settings manager – a feature of which Jannis made a screencast.

Furthermore, Xfce now ships libxfce4menu. This is a software library aiming to implement the menu standard also implemented by GNOME and KDE and partly implemented by Xfce 4.4. While it is currently in use only by the desktop and the Appfinder (the latter of which has been completely rewritten to support libxfce4menu), it paves the way for a proper menu plugin in the panel that you can actually edit.

Apart from the libxfce4menu support, the desktop manager xfdesktop has also received a few small improvements over the previous version. It has a redesigned preferences dialog, includes a few more options for the desktop background (such as colour saturation adjustment), and can now automatically start and stop managing a new desktop when you respectively plug or unplug a monitor.

Finally, the Xfce mixer plugin has been completely rewritten to use gstreamer. One effect this has is that Xubuntu will probably definitely be switching to gstreamer-based applications (Xubuntu used to include a xine version of Totem, the movie player, but recently switched to the gstreamer-based version). The biggest benefit this brings users is that it will automatically ask to search for additional media support when it is not installed yet, which happens e.g. when you try to play an MP3-file on a freshly installed Xubuntu.

All in all, though not as big as 4.4 was, this is shaping up to be another fine release of Xfce that has me looking forward to it.

Now that I have an account for this weblog I thought it might be nice to keep everyone informed about what’s going on inside Xfce every now and then. Unlike Erik with the weekly news he wrote some time ago I’ll probably not be that funny (you can tell from the picture in my previous post that I really suck at this) and maybe not even as informative as the weekly news were, but I hope I can at least keep you posted on the latest and hottest news from the Xfce front.

So, let’s first talk about what’s going on right now. For the last two weeks we’ve been busy finishing the new settings dialogs. For those who do not know yet: for Xfce 4.6 we developed a completely new configuration backend based on D-Bus. It’s called xfconf and is really cool. As the name already suggests it’s somewhat similar to GConf – you have a daemon which acts as an abstraction layer for the actual storage backend and you have clients which can read and write their configs from/to the daemon via D-Bus. So why use D-Bus at all? In the case of xfconf it helped us designing a new property change notification mechanism. Applications interested in a property (usually a settings dialog that modifies a property or an application that uses this property) can ask the daemon to be notified whenever this property changes. And this works really well.

Anyway, back to the initial topic: almost all settings dialogs have now been ported to xfconf and we have started to package the alpha. We’ve agreed on preparing the release notes together and hopefully we’ll be able to finish those tomorrow so we can release the alpha named Pinkieon Saturday or Sunday.

We would be lousy developers if we didn’t already make plans for the beta. Alpha doesn’t mean feature freeze, right? So while Stephan has plans to finish work on his editor for xfconf (which makes it possible to skip the settings dialogs and just edit all properties by hand using a GUI) I thought about our settings dialogs again. I’ve always hated how all those dialogs cluttered the screen.

So instead of using dialogs, what about embedding the widgets into the main settings dialog of Xfce? I had only found out about GtkSocket/GtkPlug one or two days before and so I read the reference manual on how to use them and started modifying the new main settings dialog and two of the other dialogs for keyboards and the user interface settings to see whether embedding these into the main dialog was actually possible.

You can see the results of this short hacking session (it still needs some work) in this video. Instead of having dialogs popping up whenever you click on an item in the settings dialog the dialog content is now embedded into the dialog and you’re provided with a back button to return to the overview. The video also shows some of the new features like customizable the DPI value and dialogs designed to aid in resolving keyboard shortcut conflicts.

So, I leave you with this for tonight (damn, 3am already …) and hope we can surprise (ha…ha…) you with the alpha release this weekend.

Cheers,
Jannis

BTW, recordMyDesktop rocks! Creating short videos for demonstrations does no longer require any brain power at all and it doesn’t even require you to have a flash plugin installed!

This is my first post ever on the Xfce weblog. I’ve never been so much into blogging. I tried for a while but stopped at some point. However, this is not about me and my blogging habits: this is about how the Xfce community — yes, you! — rocks!

About a month ago, my laptop suddenly stopped working. We were working hard on the alpha (little did we know how long it would take to finally release it … I suppose Stephan is preparing release notes at this very moment) and this was just bad timing. I reported it on the mailinglist to let the other developers know about my situation. I had no idea of what would happen next.

And then I received the first mail offering a donation. And then another one. And another. One day later my PayPal account had grown up to third of the price of the laptop which I finally bought two weeks later. This came completely unexpected and just blew me away!

So on my short England vacation (I was visiting and old friend of mine in Portsmouth) I made plans on what to buy. I read a lot of reviews and at the end I came back to the same brand I had used before: I bought a Thinkpad. My old one was a R51 bought in 2004. It served me well all the years at home, at the university and at work. It even survived a shelf crash (I only had to replace the keyboard). When I arrived at LÃ¼beck at 11pm on August 26th, I ordered a Thinkpad T61 in the same night. I still had to wait about a week waiting for it to arrive which I literally spent it on the couch doing nothing else than to wait for the postman. This has to be one of the worst weeks of my life ;)

Just like the whole week, the arrival was kind of chaotic. I had received a tracking URL the day before and so I followed the delivery process online. At noon on the day of the arrival it said “the package has been delivered”. And I was like … what?! Then I called their service number and a computer voice told me it had been delivered and some guy had signed it. Unfortunately I couldn’t find his name on any of the mailboxes downstairs. There was just one last opportunity: the sex shop in the basement. DHL had never dropped a package for me there before. I went into the shop and asked the guy if he was Mr. X (the one who signed the package). He said: No, I am not. I asked: Does a Mr. X work here then? He said: Yeah. I said: Well, did DHL leave any packages for me today? And he said: Yes. And there it was, my new laptop:

What can I say? It’s a great laptop! I managed to get all the features working within a few days, like special keys, suspend to ram, hibernate and it’s fast as hell! I might write a more detailled report about how to set up Linux on it for ThinkWiki later. The first thing to do obviously was to remove Windows and install Lunar Linux (the distribution I help working on) on it. And since then I’ve spent a lot of nights hacking on Xfce already. But that’s another story …

So today I want to thank those of you who stepped up and helped me out. I thought some time about whether to tell their names or not. I am really grateful for what they did so I think they deserve to be listed. So I’d like to thank the following people a lot for their help. In alphabetical order:

Benedikt Meurer

Bernhard FrÃ¶hlich

Christine Pohlmann

Cody A.W. Somerville

Colin Leroy

Jelle de Jong

Stavros Giannouris

This has once again proven that you — the Xfce community as a whole — rock!

Seems like Stephan hasn’t finished the release notes yet, so I’ll spend the rest of the evening bugging him about it. I hope you’ll enjoy the alpha and Xfce 4.6 in general. Everyone is welcome to join our mailinglists and IRC channels to discuss ideas, bugs or possible contributions – if you think Xfce is worth it, let us know and maybe you can help making it even better than it is today.

Edit: Not only the community rocks, our developers do so as well! Thanks Benny!

I've been busy churning out the August issue of the Gentoo Monthly Newsletter, as well as a GMN Howto. This is a guide that details the process for creating the GMN, from start to finish. Over the last couple of months, it's gone from a simple 15-line cheat sheet to something a lot more useful for future GMN staff and any interested contributors.

A fair amount of documentation updates for the GDP, too. I was curiously unmotivated most of the month of August, though that's in part because of my health; I spent the first bit of it in the emergency room trying to figure out why my insides were coming apart. Still no idea.

And I've updated my devspace. Lots of changes. Lots of new stuff added and rearranged; I expect I broke some old links, but oh well. All that stuff in misc/ really needed organization.

I also poked aballier to get the new version of Decibel into the tree. Oh yeah. Upgrade to 0.11; it adds album cover art, among other things.

The Apps and the Machine

I've also been hacking up various ebuilds for packages not yet in the tree, such as tint2. This is all for my laptop, which I'm trying to slim down even more. Been removing various applications and making it much more of a minimal Xfce environment. Plus, I like pseudo-transparency. Apps like stalonetray, tint2 (ebuild available here), netwmpager, dzen2, and conky are all curiously appealing. I'm trying to find lightweight, useful, complementary apps to Xfce, in my perpetual quest to create the perfect Xfce environment.

I discovered many of these applications by reading urukrama's blog and kmandla's blog. Both are excellent sources of information on small, light apps, and setting up clean, minimal, functional environments. Quite tasty; be sure to give 'em a read. Especially urukrama's Openbox guide. It's loaded with configuration info, application tips, and much more.

The Environment

I've replaced most of my Xfce panel with stalonetray, conky, and a couple of instances of tint. I just installed dzen, and will be investigating it as a possible replacement for conky. Dzen, however, seems to need a lot of initial time-consuming configuration. And it doesn't seem to do transparency. And it doesn't look like it can even do useful fonts like Verdana.

What I'd really like to do is get rid of all but the start button on the panel, but first I need to find an icon launcher bar that does pseudo-transparency. Why not real transparency? Because compositing with the Intel X3100 graphics chip doesn't seem to be too friendly on my battery life. Actually, I'd be happy if tint had launcher capability now; I hear it's going to be in a future release. I'll just use it when that time comes.

Here's my current desktop: 1 and 2. I've managed to find a nice-looking level of transparency regardless of light or dark background, so everything's fairly clear. Too bad conky can't provide transparency and shade, similar to everything else. That left-hand panel will be going shortly; all I really need are the launchers and the start menu button. Must find a way to slim it down; it takes up too much space. Plus I don't care for vertical panel arrangements.

Since folks are always curious about what's what in any given screenshot:Left to right: Xfce panel, stalonetray, tint, conky, and tint (just date/time). The wicd applet is anchored in the tray, and a few terminals and gtk+ apps are open in tint.Background: (1) Liquid Crystal, (2) VSE Grass Flow.Screen: 14.1", resolution of 1280x800. I notice that when viewing it on my 19" 1440x900 desktop monitor, the fonts look extra-large. Well, they're much smaller on the laptop. The laptop resolution is so high that I have to enlarge things considerably; my eyes aren't what they used to be.

I've been busy churning out the August issue of the Gentoo Monthly Newsletter, as well as a GMN Howto. This is a guide that details the process for creating the GMN, from start to finish. Over the last couple of months, it's gone from a simple 15-line cheat sheet to something a lot more useful for future GMN staff and any interested contributors.

A fair amount of documentation updates for the GDP, too. I was curiously unmotivated most of the month of August, though that's in part because of my health; I spent the first bit of it in the emergency room trying to figure out why my insides were coming apart. Still no idea.

And I've updated my devspace. Lots of changes. Lots of new stuff added and rearranged; I expect I broke some old links, but oh well. All that stuff in misc/ really needed organization.

I also poked aballier to get the new version of Decibel into the tree. Oh yeah. Upgrade to 0.11; it adds album cover art, among other things.

The Apps and the Machine

I've also been hacking up various ebuilds for packages not yet in the tree, such as tint2. This is all for my laptop, which I'm trying to slim down even more. Been removing various applications and making it much more of a minimal Xfce environment. Plus, I like pseudo-transparency. Apps like stalonetray, tint2 (ebuild available here), netwmpager, dzen2, and conky are all curiously appealing. I'm trying to find lightweight, useful, complementary apps to Xfce, in my perpetual quest to create the perfect Xfce environment.

I discovered many of these applications by reading urukrama's blog and kmandla's blog. Both are excellent sources of information on small, light apps, and setting up clean, minimal, functional environments. Quite tasty; be sure to give 'em a read. Especially urukrama's Openbox guide. It's loaded with configuration info, application tips, and much more.

The Environment

I've replaced most of my Xfce panel with stalonetray, conky, and a couple of instances of tint. I just installed dzen, and will be investigating it as a possible replacement for conky. Dzen, however, seems to need a lot of initial time-consuming configuration. And it doesn't seem to do transparency. And it doesn't look like it can even do useful fonts like Verdana.

What I'd really like to do is get rid of all but the start button on the panel, but first I need to find an icon launcher bar that does pseudo-transparency. Why not real transparency? Because compositing with the Intel X3100 graphics chip doesn't seem to be too friendly on my battery life. Actually, I'd be happy if tint had launcher capability now; I hear it's going to be in a future release. I'll just use it when that time comes.

Here's my current desktop: 1 and 2. I've managed to find a nice-looking level of transparency regardless of light or dark background, so everything's fairly clear. Too bad conky can't provide transparency and shade, similar to everything else. That left-hand panel will be going shortly; all I really need are the launchers and the start menu button. Must find a way to slim it down; it takes up too much space. Plus I don't care for vertical panel arrangements.

Since folks are always curious about what's what in any given screenshot:Left to right: Xfce panel, stalonetray, tint, conky, and tint (just date/time). The wicd applet is anchored in the tray, and a few terminals and gtk+ apps are open in tint.Background: (1) Liquid Crystal, (2) VSE Grass Flow.Screen: 14.1", resolution of 1280x800. I notice that when viewing it on my 19" 1440x900 desktop monitor, how large the fonts look. Well, they're much smaller on the laptop. The laptop resolution is so high that I have to enlarge things considerably; my eyes aren't what they used to be.