From 0b71c15c8086544236d3348caedeff3a84ab2948 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Mon, 17 Oct 2016 17:17:50 -0500 Subject: [PATCH] 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. --- gnu/local.mk | 1 + gnu/packages/display-managers.scm | 1 + gnu/packages/patches/slim-reset.patch | 33 +++++++++++++++++++++++++++ 3 files changed, 35 insertions(+) create mode 100644 gnu/packages/patches/slim-reset.patch diff --git a/gnu/local.mk b/gnu/local.mk index 76fd64d666..e5cc9f5aa0 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -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 \ diff --git a/gnu/packages/display-managers.scm b/gnu/packages/display-managers.scm index 1371bb5f39..5479bb529a 100644 --- a/gnu/packages/display-managers.scm +++ b/gnu/packages/display-managers.scm @@ -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) diff --git a/gnu/packages/patches/slim-reset.patch b/gnu/packages/patches/slim-reset.patch new file mode 100644 index 0000000000..eebee6b7b5 --- /dev/null +++ b/gnu/packages/patches/slim-reset.patch @@ -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 ses = cfg->nextSession(); + session_name = ses.first; + session_exec = ses.second; +- if (session_name.size() > 0) { +- ShowSession(); +- } ++ ShowSession(); + } + + /* Display session type on the screen */