LFS Desktop Project
A low resource/dependency desktop for Linux From Scratch, although
designed for Linux From Scratch has been tested on Slackware and XUbuntu
Please note this project is not an official part of the LFS project here:
Linux From Scratch
The project consists of a window manager, desktop, panels, and wallpaper
manager, it is themeable via standard gnome/xfce icons, gtk2 themes and
the window manager can use standard xfce4 themes, there are also an
number of themes included for themeing the various widgets used by the
Code is available on github here:
LFS Desktop Project
Toolkit Prefs ( All Hallows )
Toolkit Prefs ( Steel )
Toolkit Prefs ( Winter Wood )
Toolkit Prefs ( Oldy XMas )
Default Prefs ( No Theme )
All the window manager, icon and gtk2 themes can be found here:
Themes And Icons
Additionally the toolkit themes shown above are packaged with the library.
Multiple panels can be used and their size, position and which
monitor to display them on ( on a multi head system ) is set via the
panel prefs dialog.
Various builtin widgets can be set in the panels, eg clock, alsa volume
etc etc and of course an applications menu and logout/shutdown/reboot
Panel widgets are placed grouped either to the left or right and are
selected in the prefs accordingly, a single letter defines which widgets
to use ie:
A=Application menu, W=All windows, w=Only windows on current desktop,
L=Logout menu, C=Clock, D=Disk activity, M=CPU data, S=Spacer,
l=Launchers, s=ALSA volume.
Launchers are just normal .desktop files placed in
~/.config/LFS/launchers-PANELNAME/, the user should create the
folder.,the PANELNAME is user set and added to the panel config eg
lfspanel-LEFT.rc ( as above ), lfspanel-RIGHT.rc etc. As you can see
from the above image, the left panel includes launchers (l) and the ALSA volume control (s).
The application menu includes items from ~/.local/share/applications as well as the global apps in /usr/share/applications.
Global Window Menu
Windows On Current Desktop Menu
You can also add .desktop files to act as launchers.
A range of example widgets are available in the LFSDesktopProject/LFSToolKit/examples folder eg:
Full API documentation is available for the lfstklib in the
LFSToolKit/docs folder and can be built like with 'make docs' after
doing the configure.
A full fledged desktop is included and will display icons for
disks and any items placed in the~/Desktop folder, there are also three
convenience icons Home, Computer and Documents which will take you to
the corresponding folder ( file manager is chosen by the xdg-open
application ). Icons can be double clicked to activate or you can use a
right click to pop up a context menu. Double clicking a desktop file
will attempt to run the corresponding application.
Desktop prefs are set via the lfsdesktopprefs dialog.
Dual head system with separate wallpapers:
A number of convenience apps are supplied like so:
lfsfontselect results are outputted on the command line.
lfscolourchooser results are outputted on the command line.
Prefs are set via the relevant settings dialogs.
You can load a complete set of prefs via the lfsappearance dialog via the drop down menu, you can also add an new set just type a new name in the edit box and select 'Add Group' from the drop down.
The new group will be a clone of the current prefs used.
Starting a complete desktop
An example xinitrc.sample file is included in the main folder,
this should be modified to your own needs and copied to ~/.xinitrc, to
scripts are also installed with the LFS Applications, startlfsdesktop
and lfslaunchpanels, startlfsdesktop will create a set of sensible
default prefs if none exist and then start the desktop session, lfslaunchpanels will launch all the panels you have configured.