Which software comprises user desktop session?
Really our project is about software toolbox, so each component can be easily replaced with one, which suites better to the needs of particular user.
Typically desktop session contains following component (short of appliations such as browser or productivity suite):
- Window manager (our current choice jwm). It also provides tray for docking applets, window list and menu to invoke applications.
- Run application - something which pops up when Win-R is pressed and allows to enter command line, (grun)
- File manager (spacefm)
- Calendar widget which pops up upon click on the taskbar clock (gsimplecal)
- Removable file system management. (udevil) It is not exactly part of file manager, although is tightly coupled with it, because file manager just works with user-accessable files, and management of removable filesystems requires some superuser operation
- Power management, i.e. shutdown or suspend system. No current choice. Best thing we can imagine is to use gksudo to call shutdown(8) or pm-utils directly.
- Power indication (fdpowermon) - tray applet to show how much energy left in the laptop battery.
- Bluetooth manager. No current choice. Linux bluetooth subsystem (bluez) is too tightly integrated with bloated desktops such as Gnome. But gnome blueman-applet runs happily in jwm tray.
- Keyboard state indicator - either xxkb or fbxkb would do. It depends on your preference - do you prefer screen-wide keyboard layout or per-window.
- Sound volume control. No good candidate yet. veromix is unable to hide its main window properly and to start with tray icon only, pasystray requires too many clicks to reach volume contorl slider, pa-applet is buggy, volti and volumeicon-alsa don't support pulseaudio (or pulseaudio is yet another daemon we need to expel?)
- Mail notification trysterobiff.
- Wired networks - is there any need to manage them from user session?
- Wireless networks - there is native gui for wpa_supplicant named wpa_gui. It is not ideal and we are considering to replace it
- VPN networks. Each type of vpn should have its own managment utility, because they are different. For instance openvpn has management interface which can be used. See another our project
Things which are not exactly part of session decoration, but deserve to be mentioned here as well.
- Virtual machines. For kvm see vws project
This list of tools and applications should probably be a big table, describing several alternatives for each task. Or even each position should be a link to the page with comparation of tools with screenshots et cetera. But it is for future.