Having upgraded to xfce 4.12 I have found that yet again stuff has been broken, apparently by inclusion of dependencies ( runtime or otherwise ) on systemd/gtk3 and I'm fed up with it.
See here:
http://www.linuxquestions.org/questi...vt-4175538803/
http://www.linuxquestions.org/questi...it-4175540203/
And so on!
So I decided to start this little project to get a working desktop just with packages from LFS/BLFS avoiding as much as possible packages that rely on stuff that is constantly broken by the likes of systemd/gtk3, so no polkit/consolekit etc, where possible (B)LFS packages are used, this is not set in stone s there are some glaring omissions from the BLFS book.
If you are NOT using (B)LFS this project will almost certainly not work.
This for a GUI desktop only, NOT the underlying system ( xorg/udev etc ).
Other distributions have their own customised desktop so why not LFS, so the LFSDesktopProject was born!
This software is VERY much alpha software and may not work 'as is' on your set up, so if your computer explodes or the wife runs off with the milkman it's not my fault, you have been warned!
The first objective was to find a replacement composite manager from the one supplied by xfce, I chose compton, there doesn't seem to be a compositing manager in BLFS, compton can be found here:
https://github.com/chjj/compton/rele...3-10-21.tar.xz
It needs libconfig from here:
http://www.hyperrealm.com/libconfig/...g-1.4.9.tar.gz
Building libconfig:
Code:
./configure --prefix=/usr
make
sudo make install
Building compton:
Code:
make
sudo make install
Compton is the successor to xcompmgr which I used for years, is rock solid and has shed loads of config options I use:
Code:
compton -cC -r15 -o.6 -l5 -t5 --backend glx --glx-no-rebind-pixmap -z
Which isn't too fancy or heavy on system resources.
A compositor of some sort is ESSENTIAL for this desktop.
The first job was to set the the wallpaper for the desktop, I have twin monitors and like to have different images on both, so I wrote the setwallpaper app this can be used as is without any desktop ( even from the basic twm installed with xorg ), if you are using another desktop manager like xfce's xfdesktop you need to quit it BEFORE setwallpaper
if your file manager covers the root window you will need to turn that off (pcmanfm does this ).
Download SetWallpaper from here:
https://dl.dropboxusercontent.com/s/...r-0.0.4.tar.gz
Unpack and build:
Code:
./autogen --prefix=/usr
make
sudo make install
Use
For config options, options are dealt with in first come first served order so to set the image for monitor 1,stretch to fit and then monitor 0 tiled use
Code:
setwallpaper --monitor=1 --monitormode=0 --wallpaper=/home/keithhedger/Wallpapers/311917.jpg --monitor=0 --monitormode=1 --wallpaper=/home/keithhedger/Wallpapers/red.jpg --multimode=1
This code may be folded into the LFSDesktop code at some future date, but for now I 'm keeping it separate as some people don't lke icons etc on their desktop.
The second bit was to make the actual desktop app which can be downloaded from here:
https://dl.dropboxusercontent.com/s/...p-0.0.6.tar.gz
Unpack and build:
Code:
./autogen --prefix=/usr
make
sudo make install
The lfsdesktop app can at the moment use two different backends for mounting disks the default is to use a custom setuid app that just does the mount, you can also use udevil to mount disks ( which again is not in the blfs book ) this allows normal user's to all sorts of different disks as a normal user, it is highly configurable and is a great piece of code available here:
https://nodeload.github.com/Ignorant...vil/zip/master
This is not the place to go into all it's details however, but to use udevil add --disable-suidhelper to configure/autogen.sh
To run lfsdesktop use
You can add the --clean switch which will clear the disk cache, so all disks will appear in the default positions, and/or the --theme switch which will try to display the icons with the selected theme like so
Code:
lfsdesktop --theme gnome
running the command again with a different theme name will restart the desktop and switch to the new theme, use theme names only not path's, if a particular icon cannot be found it will try to use the general hard disk icon from the theme or if that is not available the icon from the default gnome theme.
Disk icons initially appear in a grid, but can be dragged to new positions on the grid these positions are remembered until you use the --clean switch.
Dragging an icon will show a white square as you move the mouse ( click and hold obviously ) snapping to the nearest grid position, just release to move the icon to a new position , you can't drop an icon on another icon.
Double clicking the disk icon will mount the disk and open it in the default app set by xdg-open, this was the easy bit, why does xfce still have so many problems detecting and mounting disks!
All prefs are set via a simple text file in keeping with the UNIX philosophy, they are stored at '~/.config/LFS'
The setwallpaper prefs are updated when the app exits, if something mucks up your root window wallpaper, for instance running xfdesktop and then quiting it will result in a grey screen, just issue the setwallpaper command with no arguments and all the previous settings will be used.
The prefs for lfsdesktop ( such as the are ) are at '~/.config/LFS/lfsdesktop.rc' where you can manually set the icon size etc, these prefs will be folded into the lfsdesktop code as switches later on.
That's about all for now as I said still very alpha software but lot's to add, suggestions welcome, the main one being what toolkit I should use for a settings editor, right click menu etc, I won't use gtk, qt5 is nice but is a BIG compile and a bit of overkill, wxWidgets, well I just don't like them, lesstif seems OK but not a lot of documentation, any thoughts? Not urgent yet.
At the moment I am using a hybrid of xfce with xfwm4, xfce4-panel and lfsdesktop/setwallpaper.
Couple of screen shots etc:
https://dl.dropboxusercontent.com/s/...booy/scrn1.jpg
https://dl.dropboxusercontent.com/s/...aard/desk1.mp4
TO DO
Add right click on disk icon to bring up menu for mounting, unmounting and ejecting.
Add Icons from files in ~/Desktop. - DONE.
Improve event handling. - DONE.
Add Settings manager.
Add other backends for mounting disks sudo/pmount, will need a gui for getting password.
Add WM menu if available to right click.
Add SetWallpaper code into LFSDesktop code as an option.
Long way off.
Add session manager.
Add window manager.
Add panels.
Add panel plugins, minimum logout/shutdown/restart/application menu/page switch/clock/notification area, probably more.
Add dock.
Add floating widgets?