From: PCMan <pcm...@gm...> - 2009-05-27 19:07:31
|
However, if there is anyone willing to help, forking thunar-vfs is also as good. Gtk file dialogs can be overriden with our own implementation by using LD_PRELOAD. On Thu, May 28, 2009 at 2:33 AM, Manu <ho...@gm...> wrote: > I understand... so gio/gvfs seems the better solution. > > You already have an alpha tester if you want. ;) > > I already have an Ubuntu Minimal + LXDE built from SVN, > and another Ubuntu + Compiz + an experimental LXDE built. > > Hotnuma. > > PCMan wrote: >> >> It's hard to keep sync with upstream, the original thunar-vfs. >> Besides, if they shift to gio/gvfs.... Then we are alone again. >> Dependencies to several gnome components doesn't mean bloat-ware, if >> you use them carefully. >> Besides, those libs exist on most distros already. >> If you are using firefox compiled with gnome support, you're already using >> them. >> If you're using gksu, you're using them already, too. >> Gnome developers nowadays are trying to get rid of those old gnome libs, >> too. >> So I feel this won't break our LXDE if we use them judiciously. >> >> On Thu, May 28, 2009 at 1:43 AM, Manu <ho...@gm...> wrote: >> >>> >>> Hi, >>> >>> I would fork thunar-vfs. Dependencies with Gnome sounds >>> like bloat-ware... Even Xorg is bloated, so it's really >>> difficult to design a lightweight system nowadays. >>> >>> IMHO, PCManFM and LxPanel need some code cleanup... >>> A shared library should be created with a cleaner API. >>> >>> I've found some duplicated code from PCManFM into >>> Lxpanel for example. Doing some changes in the code >>> adds more and more dirty things in it. >>> >>> Hotnuma. >>> >>> >>> PCMan wrote: >>> >>>> >>>> Please go to this URL for vote. >>>> http://forum.lxde.org/viewtopic.php?f=0&t=456 >>>> >>>> Hi, all LXDE users. >>>> After more than two years of development, now LXDE became very active >>>> and more and more mature. >>>> Recently, some developers joined us, and many new changes were made in >>>> our svn repository. >>>> However, the core and the origin of the desktop, the file manager, >>>> PCManFM, didn't get improved for a period of time. >>>> There are originally some plans, but due to dramtic changes in recent >>>> GTK+/glib/gnome/freedesktop.org/HAL, we have a dilemma now. >>>> One thing that I hate Linux most is they are always breaking backward >>>> compatibilities and trying to ruin others' work. >>>> >>>> The volume management parts is now broken due to incompatibility changes >>>> in HAL. >>>> Now many modern distros are using PolicyKit and force the use of it with >>>> HAL. >>>> Unfortunately, some related things are now GNOME-specific, and more or >>>> less depends on gnome. >>>> KDE guys are now trying to develop their own equivalent tools, and its >>>> only availble in the latest KDE. >>>> The simple gksu, sudo, or other similar tricks no longer works >>>> correctly without gnome stuff. >>>> >>>> Thunar and XFCE uses their own libexo and exo-mount along with some >>>> xfce libs to handle volumes. >>>> Not sure about how it handle PolicyKit. >>>> >>>> So, a gnome-free clean solution to this is not quite possible at this >>>> time. >>>> >>>> Second, since glib/gio is now extensively used in gtk+ itself, the >>>> GtkFileChooser (Open/Save dialog) now uses gio, too. >>>> So, shifting to gio seems to be a reasonable and inevitabe move. >>>> GTK+ already depends on it, so there is no way to prevent the use of >>>> gio. >>>> >>>> However, though they claimed that gio works without gvfs (fallback to >>>> local filesystem), that's not the truth. >>>> File copying, HAL-based volume mouting, and even trash bin...etc don't >>>> work at all without gvfs, >>>> which has many dependencies. Using gio extensively means that you'll >>>> need gvfs, too. >>>> Current gvfs depends on some gnome stuff, such as gnome-mount and >>>> gnome-terminal, gconf...etc, and >>>> those parts are "hard-coded" in gvfs. So they are not changable. >>>> >>>> Bookmarks in GTK+ file dialogs now supports remote URLs. If we don't >>>> use gvfs, we will be incompatible with gtk+ itself. >>>> Current PCManFM doesn't recognize those remote URLs, and this causes >>>> problems with more recent gtk+/gnome programs. >>>> No matter you like it or not, gtk+ is now depending on gio, which >>>> requires gvfs + gnome stuff to be fully functional. >>>> Yes I know it still work without gvfs, but most of the advantages of >>>> gio won't be available without gvfs. >>>> Removable devices are not mountable in GTK+ file dialogs without gvfs, >>>> too. >>>> >>>> Besides, some parts of gio are not efficient and uses much more memory >>>> in many places. >>>> Hence using gio along with gvfs (plus its gnome dependencies) seems to >>>> be inevitable in the future. >>>> >>>> Another solution will be using thunar-vfs implemented by thunar. >>>> The advantage is quite apparent. Thunar is very fast and the memory >>>> footprint is small. >>>> The APIs are easy to use and provides more sophiticated interface to >>>> developers. >>>> I already reviewed its code, and it's well written, commented, and >>>> optimized. The quality is very good. >>>> The author of thunar, Benny, is one of the best gtk+ programmer I've >>>> ever seen in the free world. >>>> However, thunar-vfs depends on several XFCE libs. Besides, in some >>>> distros, it's bundled with thunar. >>>> It has no support for remote filesystems, and the compatibliy with >>>> gio/gvfs is hence questioned. >>>> >>>> In addition, there are some XFCE developers trying to migrate thunar >>>> from thunar-vfs to gio. >>>> I think they made a huge mistake since both the design and performance >>>> of thunar-vfs are better than gio. >>>> Thunar-vfs, however, doesn't support remote filesystems. This can be >>>> compensated by using FUSE-based implementations. Originally this is >>>> also the plan of PCManFM, and was once tried in 0.4 branch. >>>> Unfortunately, due to lack of good-quality and GUI-friendly FUSE-based >>>> remote filesystem implementations, this was removed in 0.5. Moreover, >>>> using FUSE-based implementation can only provide POSIX interface to >>>> programmers, which is a little bit restrictive to desktop >>>> applications. >>>> >>>> Apart from those two existing vfs implementations, there is no >>>> existing equivalence. >>>> Our own vfs implementation in PCManFM is quite primitive and a little >>>> bit buggy. Besides, we'll be lagged behind freedesktop.org specs since >>>> it's mainly controlled by GNOME and KDE guys. >>>> >>>> Before this important issue is solved, further development of PCManFM >>>> will make the shift to other VFS more difficult. So a decision should >>>> be made here, and we can continue the development of the file manager. >>>> >>>> Options are: >>>> >>>> 1. Shift to GIO + GVFS, and accept the inevitable GNOME dependencies >>>> it brings since many gtk+ apps also need them, and we can get full >>>> support to remote filesystems with good compatibility with gnome/gtk+. >>>> Future breaks in backward compatiblity won't affect us since those >>>> dirty works were maintained by GNOME developers. Then we can focus on >>>> the design of desktop environment, not on fixing broken >>>> compatibilities. Since XFCE seems to be shifting to GIO, maybe it's >>>> inevitable. >>>> >>>> 2. Shift to thunar-vfs, and accept the inevitable XFCE dependencies. >>>> Then handle all remote filesystems with FUSE-based solutions. However, >>>> if XFCE adopted GIO/GVFS in the future, we'll lose all the supports. >>>> Besides, I'm not sure if XFCE solutions can be compatible with future >>>> GNOME. Especially when PolicyKit, ConsoleKit, and more things are >>>> widely adopted by modern distros, and they are more or less >>>> gnome-related. >>>> >>>> 3. Copy the code of thunar-vfs, and create our fork. We can do what we >>>> want, and try to minimize XFCE dependencies. However, it's difficult >>>> to keep sync with XFCE/thunar, and removing those XFCE dependencies is >>>> not quite easy. Besides, this can make XFCE guys angry since we only >>>> steal their code and rename all the libs, then strip their XFCE >>>> dependencies. In addition, our improvement cannot get into XFCE source >>>> tree. So duplicated work will be done by both project, and we'll >>>> become out of sync grdually. >>>> >>>> 4. Keep current work, and try to fix all bugs (Not quite possible). If >>>> freedesktop.org specs changes (happens frequently), we just rewrite >>>> our programs to fit them (a great waste of time and this definitely >>>> blocks our development in other areas). This could even make our work >>>> totally broken if they change something in the spec or the future >>>> versions of gtk+/gio. Then we'll be busy fixing broken compatability >>>> all the time. >>>> >>>> So, it's a important and difficult decision. >>>> Personally I'll suggest adopting GIO/GVFS and accept its deps, then >>>> try to keep our program lightweight (This is still possible). This >>>> will make PCManFM heavier and slower than current implementation, but >>>> since the current code is buggy and not functioning well.... It's not >>>> a fair comparison anyways. >>>> Any thoughts or better ideas? >>>> >>>> >>>> >>>> ------------------------------------------------------------------------------ >>>> Register Now for Creativity and Technology (CaT), June 3rd, NYC. CaT is >>>> a >>>> gathering of tech-side developers & brand creativity professionals. Meet >>>> the minds behind Google Creative Lab, Visual Complexity, Processing, & >>>> iPhoneDevCamp as they present alongside digital heavyweights like >>>> Barbarian >>>> Group, R/GA, & Big Spaceship. http://p.sf.net/sfu/creativitycat-com >>>> _______________________________________________ >>>> Pcmanfm-develop mailing list >>>> Pcm...@li... >>>> https://lists.sourceforge.net/lists/listinfo/pcmanfm-develop >>>> >>>> >>>> >>> >>> >> >> >> ------------------------------------------------------------------------------ >> Register Now for Creativity and Technology (CaT), June 3rd, NYC. CaT is a >> gathering of tech-side developers & brand creativity professionals. Meet >> the minds behind Google Creative Lab, Visual Complexity, Processing, & >> iPhoneDevCamp as they present alongside digital heavyweights like Barbarian >> Group, R/GA, & Big Spaceship. http://p.sf.net/sfu/creativitycat-com >> _______________________________________________ >> Pcmanfm-develop mailing list >> Pcm...@li... >> https://lists.sourceforge.net/lists/listinfo/pcmanfm-develop >> >> > > |