~ruther/guix-local

0b71c15c8086544236d3348caedeff3a84ab2948 — Eric Bavier 9 years ago 5d5cdb7
gnu: slim: Do not reset session after failed login.

* gnu/packages/patches/slim-reset.patch: New patch.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/display-managers.scm (slim)[source]: Use it.
3 files changed, 35 insertions(+), 0 deletions(-)

M gnu/local.mk
M gnu/packages/display-managers.scm
A gnu/packages/patches/slim-reset.patch
M gnu/local.mk => gnu/local.mk +1 -0
@@ 829,6 829,7 @@ dist_patch_DATA =						\
  %D%/packages/patches/slim-session.patch			\
  %D%/packages/patches/slim-config.patch			\
  %D%/packages/patches/slim-sigusr1.patch			\
  %D%/packages/patches/slim-reset.patch				\
  %D%/packages/patches/slock-CVE-2016-6866.patch		\
  %D%/packages/patches/slurm-configure-remove-nonfree-contribs.patch \
  %D%/packages/patches/soprano-find-clucene.patch		\

M gnu/packages/display-managers.scm => gnu/packages/display-managers.scm +1 -0
@@ 199,6 199,7 @@ create smooth, animated user interfaces.")
	     (sha256
	      (base32 "1pqhk22jb4aja4hkrm7rjgbgzjyh7i4zswdgf5nw862l2znzxpi1"))
             (patches (search-patches "slim-config.patch"
                                      "slim-reset.patch"
                                      "slim-session.patch"
                                      "slim-sigusr1.patch"))))
    (build-system cmake-build-system)

A gnu/packages/patches/slim-reset.patch => gnu/packages/patches/slim-reset.patch +33 -0
@@ 0,0 1,33 @@
Do not reset chosen session and maintain the session-choser dialog after a
failed login attempt.

Patch by E. Bavier

--- slim-1.3.6/panel.cpp.orig	1969-12-31 18:00:00.000000000 -0600
+++ slim-1.3.6/panel.cpp	2016-10-17 17:00:07.259649063 -0500
@@ -260,13 +260,12 @@
 }
 
 void Panel::ClearPanel() {
-	session_name = "";
-    session_exec = "";
 	Reset();
 	XClearWindow(Dpy, Root);
 	XClearWindow(Dpy, Win);
 	Cursor(SHOW);
 	ShowText();
+	ShowSession();
 	XFlush(Dpy);
 }
 
@@ -760,9 +760,7 @@
         pair<string,string> ses = cfg->nextSession();
         session_name = ses.first;
         session_exec = ses.second;
-        if (session_name.size() > 0) {
-                ShowSession();
-        }
+        ShowSession();
  }
 
 /* Display session type on the screen */