Subject: slim: Please create available sessions on the fly

From: Mirosław Zalewski <[email-masked]>
Date: Tue, 16 Nov 2010 20:58:34 +0100

Package: slim
Version: 1.3.1-7
Severity: important

Slim has option to toggle between available DEs/WMs. Corresponding
slim.conf option is named 'sessions'. Unfortunetly, current slim.conf
has few sessions hardcoded, which turns slim to be quite confusing - it
suggests that it is able to run programs that user doesn't even have
installed.

I think that there could be a script that checks for WMs available on
user's system and creates proper sessions line on the fly. It could be
run after installation of slim, so slim.conf will reflect system state
on time slim is installed. It shouldn't be run anymore to not override
user settings, but there could be some sort of '--force' flag, so user
could be able to manually run that script and update slim.conf when
needed.

The most basic example of that script could look like this (please note
that it is not intended to provide such a script. It, under no
circumantes, is not ready to be put in package. It's just an example):

-- example.sh
#!/bin/sh

sessions=default

for SESSION in gnome-session lxdestart startfluxbox openbox-session \
	startxfce4 ion3 icewm wmaker blackbox awesome; do
		if which $SESSION >/dev/null 2>&1; then
			sessions="$sessions,$SESSION"
		fi
done

sessions="$sessions,failsafe"

sed -i -e "/^sessions/s/.\+/sessions\t$sessions/" /etc/slim.conf

Cheers and please don't mind my poor english

-- System Information:
Debian Release: squeeze/sid
  APT prefers testing
  APT policy: (990, 'testing'), (500, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.32-5-amd64 (SMP w/2 CPU cores)
Locale: LANG=pl_PL.UTF-8, LC_CTYPE=pl_PL.UTF-8 (charmap=UTF-8) (ignored: LC_ALL set to pl_PL.UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages slim depends on:
ii  debconf [debconf-2.0]         1.5.36     Debian configuration management sy
ii  libc6                         2.11.2-7   Embedded GNU C Library: Shared lib
ii  libgcc1                       1:4.4.5-6  GCC support library
ii  libjpeg62                     6b1-1      The Independent JPEG Group's JPEG 
ii  libpam0g                      1.1.1-6.1  Pluggable Authentication Modules l
ii  libpng12-0                    1.2.44-1   PNG library - runtime
ii  libstdc++6                    4.4.5-6    The GNU Standard C++ Library v3
ii  libx11-6                      2:1.3.3-3  X11 client-side library
ii  libxft2                       2.1.14-2   FreeType-based font drawing librar
ii  libxmu6                       2:1.0.5-2  X11 miscellaneous utility library

Versions of packages slim recommends:
pn  xterm                         <none>     (no description available)

Versions of packages slim suggests:
pn  scrot                         <none>     (no description available)