#!/bin/sh # # Copyright (C) 2002-2006 Dmitry V. Levin # # Updates window manager session lists. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. runwmlist="$(runwm --list)" || exit 1 [ -n "$runwmlist" ] || exit 1 # GDM (new scheme) if [ -d /etc/X11/sessions ]; then rm -f /etc/X11/sessions/* printf '%s\n' "$runwmlist" |while read n; do [ -n "$n" ] || continue icon= # Icon finding (optional) wmsessionfile=`grep -rl "$n" /etc/X11/wmsession.d/` if [ -e "$wmsessionfile" ]; then icon=`awk 'BEGIN {FS="="}; /ICON=/ {print $2}' "$wmsessionfile"` fi cat >"/etc/X11/sessions/$n.desktop" <<__EOF__ [Desktop Entry] Encoding=UTF-8 Name=$n Comment=$n session Exec=/etc/X11/Xsession "$n" Icon=$icon Type=Application __EOF__ done fi