LXAppearance becomes the most feature-rich Gnome-free gtk+ theme changer.

As stated in previous posts, LXAppearance is currently being rewritten. Today, the rewrite is finished.
Now LXAppearance becomes the most feature-rich Gnome-free gtk+ theme changer.
Let’s see a screenshot:
If the gtk+ theme you use supports color schemes, such as Clearlooks, you can customize these colors in LXAppearance, just like what you can do in gnome-appearance-properties.

Later, LXAppearance2  will replace LXAppearance and move to lxappearance git repository.

Main features of LXApppearance2:

  1. Depends on gtk+ only. Can work completely without gnome.
  2. Friendly and Gnome HIG compliant user interface
  3. Provides real-time preview of the selected themes
  4. Changes icon theme
  5. Changes cursor theme in a almost desktop independent way.
  6. Supports color schemes. You can change the color used by themes if the themes support gtk color scheme.
  7. Able to install/remove icon and cursor themes in a user-friendly way
  8. Provides additional options for gtk toolbars
  9. Able to turn off event sound provided by libcanberra-gtk-module.
  10. Changes default font used by gtk+ applications
  11. Although this is a LXDE component, it works perfectly well outside LXDE and it has no LXDE dependencies.

To get the latest source code in development:
git clone git://lxde.git.sourceforge.net/gitroot/lxde/lxappearanceIf you’re a happy user and you want to donate, my PayPal account is pcman.tw@gmail.com.

Please get it heavily tested and give some feedbacks. Patches is also welcomed.

LXAppearance gets a rewrite, too!

While the rewrite of PCManFM/libfm is still in progress, another parts of LXDE requires more attention. So this week I did a rewrite/redesign for LXAppearance. The most notable change is the new cursor theme support. Let’s see some screenshots:

The main screen demostrating current GTK+ theme didn’t change much.

The icon theme choosing page now becomes cleaner.

Guess what? The cursor theme configuration tool with nice preview. This is the most expected feature and now it’s added.

A new option was added to change toolbar icon size. Even more, it’s now possible to turn off the annoying and disturbing GUI event sounds made by libcanberra-gtk-module with LXAppearance.

LXAppearance is the tool let you change the look and feels of gtk+ programs. However, it can work very well outside LXDE. If LXDE is detected, it uses lxde’s Xsettings daemon. Otherwise, it writes the configurations to ~/.gtkrc-2.0. So it’s fully usable outside LXDE. Among the all non-gnome dependent gtk+ theme changer, LXAppearance may become the most feature-rich one. Please stay tuned.

For those who are brave, here is the code:


Direct UDisks support for libfm and pcmanfm is finished!

I just finished direct udisks support for libfm and pcmanfm. After days of testing, it works well. So it’s now merged back t master branch and will be available in next release of libfm.  Please help test it.
Nothing in pcmanfm need to be changed. You only need to update libfm and it works. Adventurous users are encouraged to try out the latest libfm in git repository.

In addition, I add a config value in libfm.conf.
Adding show_internal_volumes=1 to [config] section of
~/.config/libfm/libfm.conf can let you show system internal volumes in
side panes even when udisks asks us to hide them.
This option is available in config file, but this might not be provided in UI later since it’s a geek’s option.

Now, gvfs is not needed for volume management. Only dbus and udisks are needed and it’s quite lightweight.
However, due to known limitations of glib/gio/gvfs, the gvfs module doing volume management still gets loaded and there is no clean way to stop it being loaded. However, if later we finished our own gvfs implementation, you won’t need gnome gvfs and this will be solved.

P.S.: If you get the error message “GLib-GIO-WARNING **: Extension point gio-native-volume-monitor registered multiple times”, that means you’re using a glib with too old version. Earlier versions of glib causes this bug. It’s fixed in newer glib versions.


Volume Management Without Gvfs is Possible Now!

As I stated in previous posts, I’m doing direct UDisks support for PCManFM/Libfm. Now I have some things to show.

It now correctly supports different kinds of devices without GVFS. However, LUCKS devices are not supported because I don’t know how to do it. In addition, I’m not sure if LVM or RAID are displayed in proper way because I don’t have them for testing, either, but mostly used storage media for desktop PC Or laptop should be well-supported.

Here is a design decision to made: Should we show partitions reported as “system internal” by UDisks? UDisks consider them internal to the system and asks us to hide these partitions. So that’s why you don’t see some partitions in GVFS since it follows the direction of UDisks. Last release of libfm/pcmanfm does this, too. Should we ignore that and display all partitions just like what the old 0.5.x series do?

Anyway, volume management without gvfs now works. Hooray!
Now, it’s time to clear the bugs on the bug tracker. Later, when there is spare time, it’s also possible to move udisks of PCManFM to a separate gio module, so all gio-using programs, even XFCE, can use it without gnome.

Special thanks to Mihai Militaru who made some donation to the development of PCManFM and libfm through my PayPal account. If you want to help the development, too, feel free to donate via PayPal. My account is pcman.tw@gmail.com.


LXDE on Nexus One phone

Sven Killig has managed to run LXDE on his Nexus One in a USB host mode. He has made a video showing how all kinds of devices plugged in – including a web cam, keyboards, screens and a display link unit.

Connect USB devices to your Nexus One


Hackaday: http://hackaday.com/2010/06/08/nexus-one-as-usb-host/

Sven Killig: http://sven.killig.de/android/N1/2.2/usb_host/

Recent LXDE Progress

Here are some updates on recent LXDE progress.

The file manager has much exciting progress:

  1. I”m now doing “direct” udisks support without gvfs or gnome-disk-utility. So far the progress is good and it already can listed volumes. Mounting and unmounting should be available soon. This enables volume management totally without gvfs. You can test the source code in libfm udisks branch.
  2. The current code and translations are in good shape and only some minor glitches need to be fixed.
  3. Naveen Kumar Molleti is working on adding custom actions to pcmanfm as a Google SoC project.
  4. Shae Smittle is working on adding file searching utility as a Google SoC project, but there is no usable code yet.
  5. Although 1.0 release is planned, I’m seriously considering adding udisks supoprt to 1.0. Gvfs actually causes various problems and its behavior is not predictable sometimes. In addition, it’s not configurable and the volume management interface it provides is quite limited. Moreover mounting options cannot be changed. Using our own implementation can make things easier and we don’t need to check if the problems are caused by gvfs or our code since we used our own code only. But this only will happen when udisks branch is prooved to be working well and stable. If it’s buggy, it won’t be in 1.0.
  6. During hackweek of openSuSE community, Josef Reidinger and I started a new project named gfusevfs. It’s a new lightweight gvfs replacement based on fuse. It’s not fully working now, but the basic skeleton is already done. This will work both in LXDE and XFCE. So, we’ll be gnome-free soon.

Image viewer:

  1. Kuleshov Alexander is now working on a rewrite of GPicView as a Google SoC project
  2. The rewrite will utilize new stuff in glib/gio and try to work with multi-threading
  3. We may try to integrate screenshot utility with this


  1. Marty Jack is now doing some major improvement, but the release date is unknown.

Please help testing and give some feedbacks or even better, patches.

Have trouble with PCManFM 0.9.x? Read this FAQ!

After the release of the so-called RC1 (actually 0.9.7) of PCManFM, I got some bug reports, which are not bugs.
Please, read this document before you submitting a bug report. At least packagers need to read this before packaging. Otherwise you’ll end up with something that never works. This guide is very complete and it contains information enough for you to build it from source, get it running or packaged, and even to debug it.

Most of the problems are caused by missing or malfunction of gvfs caused by incorrect installation or configuration.

Here is a list the most important FAQs:

  1. Voume mounting or trash is not supported? Make sure you have properly working gvfs. Read the preceding guide to fix it.
  2. Why use gvfs? I think this is well explained in my previous post. I say it again. Gvfs is optional. PCManFM will work well without gvfs. So stop spreading the FUD that pcmanfm becomes gnome-dependent.
  3. Where is tree view? I want to redesign this and get it implemented in a better way. Due to some limitations of UNIX-like systems, file monitoring can be a problem and it’s a limited system resource. So to keep the dir tree up-to-date and sync with the filesystem, it requires very careful design. I need to think it more and get it well done for the rewrite. So in 1.0, tree view is temporarily removed. In 1.x series I’ll add it again when it’s ready.
  4. What? PCManFM2 doesn’t manage desktop? It sucks!  Yes, it does but you forgot RTFM. The command line used to lauch desktop manager is now: pcmanfm –desktop
  5. How to access the configuration dialog of desktop manager? Did the author forget this? It sucks. Well, I thought about this for some time and found it better to leave desktop configuration in a separate dialog specifically designed for desktop management options. Now to access it, right click on pcmanfm managed desktop and choose “Properties”, just like what you do in Windows. Or, you can use this command (can be called from openbox menu, for example): pcmanfm –desktop-pref
  6. If you see no icons, make sure  you have a properly installed freedesktop.org compliant icon theme. If you don’t know which to use, download lxde-icon-theme from http://sf.net/projects/lxde/
  7. If you still see no icons, and you’re using gtk+ ourside any desktop environment, make sure you specified “gtk-icon-theme-name” in ~/.gtkrc or just use tools like lxappearance to set a proper icon theme.

If you find someone in some internet forum who asked questions about PCManFM, please be kind and refer him/her to this guide. If any errors are found in this guide or you think any important topic is not covered, feel free to mail me and I’ll update it.


LXDE translation status

During last year we had biweekly updates to the translation community and it was a great help but as our components got more and more completed in regards to translations and the supported languages we dropped those reports to do more targeted messages.

Last week we updated all files and repositories to make the source files match the source codes more properly. At that time I added the numbers to a spread sheet outlining the complete support trend and health state of our translations.

Get the spread sheet above or read my summary at the LXDE development mailing list. At the moment we do not have a working mailing list for translations but we are working on that to get it solved.

PCManFM 0.9.7 + libfm 0.1.12 (RC1)

The new file manager, next generation of PCManFM, is now entering RC1 (release candidate for 1.0).
Most of the bugs in pcmanfm bug tracker are cleared and the stability is quite good. As we are now in feature-freeze, no new features are added and this is a major bug fix release.
Please get it heavily tested. If you want to help the development, you can:

  1. Help the test and debugging. Please read this guide.
  2. Promotion, spread the word, and show off to your colleagues
  3. Help answering questions in our forum or forums of some Linux distros or just redirect them to this detailed guide.
  4. Donation is welcomed. My PayPal account is: pcman.tw@gmail.com

No new screenshot this time as this is a bug-fix release without any change in UI.
Some major changes are:

  1. The binary name is now changed back to pcmanfm since it’s stable enough for daily use and is ready to replace the old pcmanfm 0.5.x series. So packagers please be careful when packaging this since it cannot be co-exist with the old pcmanfm from now on.
  2. Resize of desktop when screen resolution is changed now works
  3. Mid-click on side-pane now open folders in new tabs
  4. Better compatibility with gtk+ 3
  5. Use “tab-new” icon for new tab tool button rather than “gtk-new”
  6. Fix several seg faults
  7. Fix some missing icons for desktop entry files (*.desktop)
  8. Merge directory contents correctly when pasting to an existing folders
  9. Fix auto-scroll during drag and drop in folder view
  10. Translation updates

The goal is to make a stable 1.0 release with production quality as soon as possible and deprecate 0.5 series. We’re in feature-freeze period so there won’t be new features added until 1.0 is released. My current plan is to make 2 ~ 3 RC release before the final stable release. I’ll make RC release when I fix most of the solvable problems. However, I won’t decide when to release final stable version myself this time.
I leave the decision regarding to when to make a 1.0 stable release to our package maintainers for ArchLinux, Debian, Fedora, SuSE, and Ubuntu and our translation coordinator. If all of them agree that the file manager is stable enough and there should be a 1.0 stable release, we can make one. If the quality doesn’t meet the requirements for a stable release, then I’ll keep fixing it until it’s suitable for production use.
This should ensure enough quality assurance for this major component of LXDE.

P.S. The new PCManFM can manage the desktop icons, but you need to start it with “pcmanfm –desktop”

Thank you all