X-Git-Url: http://git.grml.org/?p=grml-quickconfig.git;a=blobdiff_plain;f=quickconfig%2F030-wm.sh;fp=quickconfig%2F030-wm.sh;h=2a9dd693df38460b9e4e0ac3780c270290606605;hp=b9f460c4700e8e399984818fac203db3005f8acd;hb=4d3259ff6102606e91e86c94d59ea2289c2fd50b;hpb=5f0ac8e2b49fc413326a6f5c7f2843f63ffcc509 diff --git a/quickconfig/030-wm.sh b/quickconfig/030-wm.sh index b9f460c..2a9dd69 100644 --- a/quickconfig/030-wm.sh +++ b/quickconfig/030-wm.sh @@ -9,6 +9,12 @@ display_entry() { return $? } +if [ "$(cat /proc/1/comm 2>/dev/null)" = "systemd" ] ; then + SYSTEMD=true +else + SYSTEMD=false +fi + # variable definition {{{ typeset -A wms typeset -A available @@ -74,10 +80,15 @@ wm_heading() { # print windowm manager loop {{{ wm_menu() { if [ $AVAILABLE_WM_COUNT == 1 ]; then - chgrp tty "$TTY" - chmod g+rw "$TTY" - run sudo -u grml grml-x - return + if $SYSTEMD ; then + chvt 7 + return + else + chgrp tty "$TTY" + chmod g+rw "$TTY" + run sudo -u grml grml-x + return + fi fi echo wm_heading @@ -90,9 +101,15 @@ wm_menu() { get_key INPUT case $INPUT in [${(k)available}]) - chgrp tty "$TTY" - chmod g+rw "$TTY" - run sudo -u grml -c "grml-x ${available[$INPUT]}" + if $SYSTEMD ; then + mkdir -p /var/run/grml-x/ + echo "${available[$INPUT]}" > /var/run/grml-x/window-manager + chvt 7 + else + chgrp tty "$TTY" + chmod g+rw "$TTY" + run sudo -u grml -c "grml-x ${available[$INPUT]}" + fi ;; esac } @@ -101,4 +118,4 @@ wm_menu() { print_available_wm ## END OF FILE ################################################################# -# vim:foldmethod=marker expandtab ai ft=zsh shiftwidth=3 +# vim:foldmethod=marker expandtab ai ft=zsh shiftwidth=2