gnu: slim: Do not reset session after failed login

Message ID 20161018003156.78e68be2@centurylink.net
State New
Headers

Commit Message

Eric Bavier Oct. 18, 2016, 5:31 a.m. UTC
  Hello Guix,

The first patch fixes an often-bemoaned usability issue in SLiM.  The
second is mostly to improve aesthetics, IMHO.

`~Eric
  

Comments

Christopher Allan Webber Oct. 18, 2016, 3:20 p.m. UTC | #1
Eric Bavier writes:

> Hello Guix,
>
> The first patch fixes an often-bemoaned usability issue in SLiM.  The
> second is mostly to improve aesthetics, IMHO.
>
> `~Eric

I'm not as sure about how needed the second one is, but the first patch
looks very useful.  I've certainly been bit by the "mistyping my
password and suddenly ending up on StumpWM" bug.

One thing that's missing from the .patch files: they don't say
authorship or origin.  Could you add that?
 - Chris
  
Eric Bavier Oct. 18, 2016, 4:30 p.m. UTC | #2
On October 18, 2016 10:20:00 AM CDT, Christopher Allan Webber <cwebber@dustycloud.org> wrote:
>Eric Bavier writes:
>
>> Hello Guix,
>>
>> The first patch fixes an often-bemoaned usability issue in SLiM.  The
>> second is mostly to improve aesthetics, IMHO.
>>
>> `~Eric
>
>I'm not as sure about how needed the second one is, but the first patch
>looks very useful.  I've certainly been bit by the "mistyping my
>password and suddenly ending up on StumpWM" bug.

I remember the first few times using SLiM on a slightly older computer. After logging in the screen would simply clear and I was left wondering whether things were working or if I had gotten the config wrong and things were just hosed.  So the second patch adds visual feedback similar to what you get when typing "halt" at the prompt.

>
>One thing that's missing from the .patch files: they don't say
>authorship or origin.  Could you add that?

They're my own patches :). But sure, the others SLiM patches have authors listed too.
  
Ludovic Courtès Oct. 19, 2016, 3:13 p.m. UTC | #3
Hi,

Eric Bavier <ericbavier@centurylink.net> skribis:

> The first patch fixes an often-bemoaned usability issue in SLiM.  The
> second is mostly to improve aesthetics, IMHO.

Both are definitely an improvement, so I’m all for it.

If there’s an upstream bug report or commit for the patches, please add
the URL in the patch.

Thanks!

Ludo’.
  

Patch

From 7c0af8d1f41e730fe26fd608e7c669c8ac89d765 Mon Sep 17 00:00:00 2001
From: Eric Bavier <bavier@member.fsf.org>
Date: Mon, 17 Oct 2016 17:20:24 -0500
Subject: [PATCH 2/2] gnu: slim: Display login message.

* gnu/packages/patches/slim-login.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-login.patch | 33 +++++++++++++++++++++++++++++++++
 3 files changed, 35 insertions(+)
 create mode 100644 gnu/packages/patches/slim-login.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index a22a22c..3955e6e 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -821,6 +821,7 @@  dist_patch_DATA =						\
   %D%/packages/patches/slim-config.patch			\
   %D%/packages/patches/slim-sigusr1.patch			\
   %D%/packages/patches/slim-reset.patch				\
+  %D%/packages/patches/slim-login.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 5479bb5..0eca945 100644
--- a/gnu/packages/display-managers.scm
+++ b/gnu/packages/display-managers.scm
@@ -200,6 +200,7 @@  create smooth, animated user interfaces.")
 	      (base32 "1pqhk22jb4aja4hkrm7rjgbgzjyh7i4zswdgf5nw862l2znzxpi1"))
              (patches (search-patches "slim-config.patch"
                                       "slim-reset.patch"
+                                      "slim-login.patch"
                                       "slim-session.patch"
                                       "slim-sigusr1.patch"))))
     (build-system cmake-build-system)
diff --git a/gnu/packages/patches/slim-login.patch b/gnu/packages/patches/slim-login.patch
new file mode 100644
index 0000000..eb1bf86
--- /dev/null
+++ b/gnu/packages/patches/slim-login.patch
@@ -0,0 +1,33 @@ 
+Display configurable login message after successful authentication.
+
+--- 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,19 +260,19 @@
+ 
+ void Panel::ClosePanel() {
+ 	XUngrabKeyboard(Dpy, CurrentTime);
++	XClearWindow(Dpy, Root);
+ 	XUnmapWindow(Dpy, Win);
+ 	XDestroyWindow(Dpy, Win);
+ 	XFlush(Dpy);
+--- slim-1.3.6/cfg.cpp.orig	2016-10-17 17:08:06.767666139 -0500
++++ slim-1.3.6/cfg.cpp	2016-10-17 17:06:53.115663516 -0500
+@@ -52,6 +52,7 @@
+ 	options.insert(option("lockfile","/var/run/slim.lock"));
+ 	options.insert(option("logfile","/var/log/slim.log"));
+ 	options.insert(option("authfile","/var/run/slim.auth"));
++	options.insert(option("login_msg","Logging in..."));
+ 	options.insert(option("shutdown_msg","The system is halting..."));
+ 	options.insert(option("reboot_msg","The system is rebooting..."));
+ 	options.insert(option("sessiondir",""));
+--- slim-1.3.6/app.cpp.orig	2016-10-17 17:08:41.731667384 -0500
++++ slim-1.3.6/app.cpp	2016-10-17 17:07:48.415665486 -0500
+@@ -520,6 +520,8 @@
+ 	struct passwd *pw;
+ 	pid_t pid;
+ 
++	LoginPanel->Message((char*)cfg->getOption("login_msg").c_str());
++
+ #ifdef USE_PAM
+ 	try{
+ 		pam.open_session();
-- 
2.10.0