services: slim: Make the logged-in session show up in "w".
authorDanny Milosavljevic <dannym@scratchpost.org>
Sat, 17 Feb 2018 16:34:12 +0000 (17:34 +0100)
committerDanny Milosavljevic <dannym@scratchpost.org>
Tue, 20 Feb 2018 20:15:54 +0000 (21:15 +0100)
* gnu/services/xorg.scm (slim-shepherd-service): Use SESSREG to register X11
session.
* doc/guix.texi (slim-configuration): Document new field "sessreg".

doc/guix.texi
gnu/services/xorg.scm

index 7ed39ff..ee70994 100644 (file)
@@ -11263,6 +11263,9 @@ The XAuth package to use.
 The Shepherd package used when invoking @command{halt} and
 @command{reboot}.
 
+@item @code{sessreg} (default: @code{sessreg})
+The sessreg package used in order to register the session.
+
 @item @code{slim} (default: @code{slim})
 The SLiM package to use.
 @end table
index 50af240..ea8433a 100644 (file)
@@ -437,7 +437,9 @@ desktop session from the system or user profile will be used."
   (auto-login-session slim-configuration-auto-login-session
                       (default #f))
   (startx slim-configuration-startx
-          (default (xorg-start-command))))
+          (default (xorg-start-command)))
+  (sessreg slim-configuration-sessreg
+           (default sessreg)))
 
 (define (slim-pam-service config)
   "Return a PAM service for @command{slim}."
@@ -454,7 +456,8 @@ desktop session from the system or user profile will be used."
           (xauth   (slim-configuration-xauth config))
           (startx  (slim-configuration-startx config))
           (shepherd   (slim-configuration-shepherd config))
-          (theme-name (slim-configuration-theme-name config)))
+          (theme-name (slim-configuration-theme-name config))
+          (sessreg (slim-configuration-sessreg config)))
       (mixed-text-file "slim.cfg"  "
 default_path /run/current-system/profile/bin
 default_xserver " startx "
@@ -467,6 +470,8 @@ authfile /var/run/slim.auth
 login_cmd  exec " xinitrc " %session
 sessiondir /run/current-system/profile/share/xsessions
 session_msg session (F1 to change):
+sessionstart_cmd " sessreg "/bin/sessreg -a -l $DISPLAY %user
+sessionstop_cmd " sessreg "/bin/sessreg -d -l $DISPLAY %user
 
 halt_cmd " shepherd "/sbin/halt
 reboot_cmd " shepherd "/sbin/reboot\n"