All posts by PCMan

Directory tree is now available in PCManFM!

Everybody loves screenshot!

Directory tree in side pane was a feature in PCManFM 0.5 series, but it’s not yet implemented in the latest rewrite. Yesterday, I finished the rewrite for directory tree and added it to PCManFM. This new feature is now availble in git repository. I also added a drop-down menu to side pane to swtich between different kind of side panes. Currently there are only “Places” and “Directory Tree”. Later I plan to add more modes.

I also reworked the tabbed browsing part yesterday. Due to the limitations of GTK+, I did some dirty hacks for it to reduce resource usage. This comes at the price of less readable source code, though. After the tab-browsing rework, I fixed an old bug causing incorrect and outdated info shown in status bar so now the info in status bar is up-to-date most of the times.  Later, I’ll try to add a “Reload” button so remote filesystems without notifications on changes can be refreshed manually.

To test the latest features, grab the source code from git.

You have to install libfm first:
git://pcmanfm.git.sourceforge.net/gitroot/pcmanfm/libfm
This is the supporting library required by PCManFM.

Then install pcmanfm. Notice that the new feature is in "tab-rework" branch, not in "master"
git://pcmanfm.git.sourceforge.net/gitroot/pcmanfm/pcmanfm

If you don’t know how to compile libfm/pcmanfm from source code, read this:

http://wiki.lxde.org/en/PCManFM_build_and_setup_guide

Now, it’s time to fix the remaining bugs in the bug tracker and keep heading for 1.0 release.
Cheers!

Finally, Directory Tree is Back!

A picture is worth a thousand words.

Directory tree demo

The directory tree is not yet added to PCManFM itself. This screenshot is the demo program included in libfm. A very primitive directory tree is finished. Later I’ll add this to PCManFM.

Many people are curious about this feature since it used to be available in old PCManFM 0.5 series, but why it’s not implemented in the new series?

  1. We want a better one which supports asynchronous I/O and does not block the UI.
  2. It supports gio. So later we may add remote filesystem supports to it.
  3. It might run faster than the old one
  4. The source code is cleaner and more well-structured
  5. The “<Empty>” items look weird and less elegant, but detecting whether a folder contains sub folders and keeping all the nodes updated in real time requires much more resources since you have monitor all of them one by one. On Linux it’s not an issue since inotify supports monioring of tons of files. On other POSIX systems, this can potentially use up all file descriptors available to a process. So, finally I do it like this way.

Please, stay tuned. I’ll put this in PCManFM soon.

Status Update for the File Manager

OK, it’s time to tell the world what we’re doing to the file manager Here is a status report for PCManFM.

  1. Several bugs are fixed, and others are not. I’m currently working on fixing them.
  2. Directory tree will be available from side pane again in next release. I have finished 50% of the feature and hope that I can make it in the following weeks
  3. Tabs now takes less space when showing filenames that are too long.
  4. The location bar is re-written. Now auto-completion for directory paths works more correctly.
  5. I have implemented a simple button-style path bar recently, but to add it to PCManFM, some changes to the UI are needed so this might not be available yet in the next release.
  6. Integration with lxshortcut is planned. So you can create new application shortcut on the desktop easier, but this is not yet implemented.
  7. Status messages are now more correct and human readable.
  8. Some code cleanup was done to make the source code more readable to future contributors.
  9. While fixing bugs of PCManFM, I found a severe bug in udisks regarding to CD-ROM polling. This bug leaves the filesystem on CD-ROM mounted even after the media has been removed via pressing physical eject button on the device. I made a patch for it, but upstream authors did not accept the patch. They came up with a new solution utilizing the latest in-kernel polling provided by Linux kernel and did some fixes themselves. So in the near future, this bug will be resolved anyways.

So these are basically what I’m doing on the file manager recently. Please help if you can. Thanks a lot.

Desktop icons are now freely movable!

I just merged the latest movable desktop icon support to master branch.
So now it’s available in git repository. If you’re installing from git you’ll get it.

There are still some usability issues, but it mostly works quite well.
After two years, finally we have movable desktop icons. Really thank you all for the patience.

To test the latest source code and help debug, please follow this guide:
http://wiki.lxde.org/en/PCManFM_build_and_setup_guide

Cheers!

Desktop icons of PCManFM becomes movable!

I just did very primitive partial support for moving desktop icons.
Let’s see a screenshot.
Now the position of icons can be saved and restored, but there are sitll some bugs. As a proof of concept, however, it works already.
For the interested, the source code is in “move_icon” branch of our git repo.
So the desktop icons will become movable in version 0.9.8, finally.
Now PCManFM is much closer to a final stable release. This can become one of the best lightweight file manager ever. If you’re a programmer who is familiar with C language and GTK+ and want to help, please contact me. Help is needed! Or if you’re not coders but still want to contribute, my PayPal account is “pcman.tw@gmail.com”. (Special thanks to Mihai Militaru and Seth Smar who did donations to support the development!)
Cheers!

New Mailing List lxde-i18n for translators

In the past we used <translation@mailinglist.lxde.org> to coordinate translation work for LXDE. This mailing list server, however, suffers from unexpected downtime sometimes recently and has some maintaince issues. To eliminate the maintaince load and provide more stable service, we’re moving to a new mailing list hosted on sourceforge.net after some discussions. Since all other LXDE-related mailing lists are all on sourceforge.net, it’s quite natural to do so for translations as well.

Address of the new mailing list is: <lxde-i18n@lists.sourceforge.net.>
To subscribe or unsubscribe, please go to: https://lists.sourceforge.net/lists/listinfo/lxde-i18n

Current and potential future translators of LXDE, if you see this message, please subscibe to the new mailing list instead. We already start using the new mailing list to coordinate translation work. The traffic of the list is low and we call for translations when a new release is being planned. The lxde-i18n list is specifically used for translation and related discussions only. General development issues are discussed using the “lxde-list” mailing list.

Some new releases of LXDE components are now being planned. So let’s do it!

LXAppearance – OpenBox Integration is Finished!

Since LXAppearance now supports plugins, it’s possible to add new features to it with third party plugins. Today I ported the GUI configuration tool for OpenBox obconf to LXAppearance. Now a plugin for seamless OpenBox integration is available.

A picture is worth a thousand words:

No additional dependencies are added to LXAppearance. You get this “Window Border” page and the openbox support only when the plugin is installed. In addition, the plugin won’t be loaded if openbox is not in use. Perfect!

The source code is here for the brave:
http://lxde.git.sourceforge.net/git/gitweb.cgi?p=lxde/lxappearance-obconf;a=summary

Note: Ubuntu 10.04 users cannot get this correctly compiled and linked due to a bug of Ubuntu 10.04. The bug will be fixed in Ubuntu 10.10. So don’t bug report to me if it doesn’t compile/link on Ubuntu 10.04. That’s normal.

Cheers!

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.
Cheers!

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:
http://lxde.git.sourceforge.net/git/gitweb.cgi?p=lxde/lxappearance2;a=summary

Cheers!