unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
blob f68604a94be1f9012a9dce39397750983d68caa2 2601 bytes (raw)
name: patches/slim-display.patch 	 # note: path name is non-authoritative(*)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
 
Add "display_name" configuration option and use its value instead of
the hard coded one.

Patch by Diego N. Barbato

--- a/app.cpp	1970-01-01 01:00:00.000000000 +0100
+++ b/app.cpp	2019-04-27 13:48:23.479133531 +0200
@@ -190,7 +190,13 @@
 }
 
 void App::Run() {
-	DisplayName = DISPLAY;
+	/* Read configuration */
+	cfg = new Cfg;
+	char *cfgfile = getenv("SLIM_CFGFILE");
+	if (!cfgfile) cfgfile = CFGFILE;
+	cfg->readConf(cfgfile);
+
+	DisplayName = cfg->getOption("display_name").c_str();
 
 #ifdef XNEST_DEBUG
 	char* p = getenv("DISPLAY");
@@ -200,11 +206,7 @@
 	}
 #endif
 
-	/* Read configuration and theme */
-	cfg = new Cfg;
-	char *cfgfile = getenv("SLIM_CFGFILE");
-	if (!cfgfile) cfgfile = CFGFILE;
-	cfg->readConf(cfgfile);
+	/* Read theme */
 	string themebase = "";
 	string themefile = "";
 	string themedir = "";
@@ -911,9 +913,7 @@
 	static const int MAX_XSERVER_ARGS = 256;
 	static char* server[MAX_XSERVER_ARGS+2] = { NULL };
 	server[0] = (char *)cfg->getOption("default_xserver").c_str();
-	string argOption = cfg->getOption("xserver_arguments");
-	/* Add mandatory -xauth option */
-	argOption = argOption + " -auth " + cfg->getOption("authfile");
+	string argOption = cfg->getOption("display_name") + " " + cfg->getOption("xserver_arguments") + " -auth " + cfg->getOption("authfile");
 	char* args = new char[argOption.length()+2]; /* NULL plus vt */
 	strcpy(args, argOption.c_str());
 
@@ -1233,7 +1233,7 @@
 	authfile = cfg->getOption("authfile");
 	remove(authfile.c_str());
 	putenv(StrConcat("XAUTHORITY=", authfile.c_str()));
-	Util::add_mcookie(mcookie, ":0", cfg->getOption("xauth_path"),
+	Util::add_mcookie(mcookie, cfg->getOption("display_name").c_str(), cfg->getOption("xauth_path"),
 	  authfile);
 }
 
--- a/cfg.cpp	1970-01-01 01:00:00.000000000 +0100
+++ b/cfg.cpp	2019-04-27 13:49:40.511773743 +0200
@@ -31,6 +31,7 @@
 	/* Configuration options */
 	options.insert(option("default_path","/bin:/usr/bin:/usr/local/bin"));
 	options.insert(option("default_xserver","/usr/bin/X"));
+	options.insert(option("display_name",":0.0"));
 	options.insert(option("xserver_arguments",""));
 	options.insert(option("numlock",""));
 	options.insert(option("daemon",""));
--- a/switchuser.cpp	1970-01-01 01:00:00.000000000 +0100
+++ b/switchuser.cpp	2019-04-27 13:50:19.380096651 +0200
@@ -54,6 +54,6 @@
 	string home = string(Pw->pw_dir);
 	string authfile = home + "/.Xauthority";
 	remove(authfile.c_str());
-	Util::add_mcookie(mcookie, ":0", cfg->getOption("xauth_path"),
+	Util::add_mcookie(mcookie, displayName.c_str(), cfg->getOption("xauth_path"),
 	  authfile);
 }

debug log:

solving f68604a94be1f9012a9dce39397750983d68caa2 ...
found f68604a94be1f9012a9dce39397750983d68caa2 in https://git.savannah.gnu.org/cgit/guix.git

(*) Git path names are given by the tree(s) the blob belongs to.
    Blobs themselves have no identifier aside from the hash of its contents.^

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).