Merge lp:~darkxst/ubuntu/saucy/gdm/lp1212408 into lp:ubuntu/saucy/gdm

Proposed by Tim Lunn
Status: Merged
Merge reported by: Tim Lunn
Merged at revision: not available
Proposed branch: lp:~darkxst/ubuntu/saucy/gdm/lp1212408
Merge into: lp:ubuntu/saucy/gdm
Diff against target: 114 lines (+94/-0)
3 files modified
debian/changelog (+7/-0)
debian/patches/series (+1/-0)
debian/patches/ubuntu_export_XDG_CURRENT_DESKTOP.patch (+86/-0)
To merge this branch: bzr merge lp:~darkxst/ubuntu/saucy/gdm/lp1212408
Reviewer Review Type Date Requested Status
Ubuntu branches Pending
Review via email: mp+183303@code.launchpad.net
To post a comment you must log in.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'debian/changelog'
--- debian/changelog 2013-07-30 20:04:14 +0000
+++ debian/changelog 2013-08-31 03:04:04 +0000
@@ -1,3 +1,10 @@
1gdm (3.8.4-0ubuntu2) UNRELEASED; urgency=low
2
3 * debian/patches/ubuntu_export_XDG_CURRENT_DESKTOP.patch:
4 - Set $XDG_CURRENT_DESKTOP if specified in the xsession file. (LP: #1212408)
5
6 -- Tim Lunn <tim@feathertop.org> Sat, 31 Aug 2013 13:01:11 +1000
7
1gdm (3.8.4-0ubuntu1) saucy; urgency=low8gdm (3.8.4-0ubuntu1) saucy; urgency=low
29
3 * New upstream release10 * New upstream release
411
=== modified file 'debian/patches/series'
--- debian/patches/series 2013-07-30 20:04:14 +0000
+++ debian/patches/series 2013-08-31 03:04:04 +0000
@@ -15,3 +15,4 @@
15ubuntu_no_debug.patch15ubuntu_no_debug.patch
16ubuntu_xresources_is_a_dir.patch16ubuntu_xresources_is_a_dir.patch
17ubuntu_no_LANG_setting_in_Xsession.patch17ubuntu_no_LANG_setting_in_Xsession.patch
18ubuntu_export_XDG_CURRENT_DESKTOP.patch
1819
=== added file 'debian/patches/ubuntu_export_XDG_CURRENT_DESKTOP.patch'
--- debian/patches/ubuntu_export_XDG_CURRENT_DESKTOP.patch 1970-01-01 00:00:00 +0000
+++ debian/patches/ubuntu_export_XDG_CURRENT_DESKTOP.patch 2013-08-31 03:04:04 +0000
@@ -0,0 +1,86 @@
1From e6024432a560341ddae5ce6873b2030e6b6c886f Mon Sep 17 00:00:00 2001
2From: Tim Lunn <tim@feathertop.org>
3Date: Sat, 31 Aug 2013 12:12:12 +1000
4Subject: [PATCH] session: export XDG_CURRENT_DESKTOP environment
5
6---
7 daemon/gdm-session.c | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
8 1 file changed, 48 insertions(+)
9
10diff --git a/daemon/gdm-session.c b/daemon/gdm-session.c
11index d74bed6..26b0c80 100644
12--- a/daemon/gdm-session.c
13+++ b/daemon/gdm-session.c
14@@ -2275,6 +2275,46 @@ get_session_command (GdmSession *self)
15 return command;
16 }
17
18+char *
19+get_session_desktop_name (GdmSession *self)
20+{
21+ GError *error;
22+ GKeyFile *key_file;
23+ gboolean res;
24+ char *desktop_name = NULL;
25+ char *filename;
26+
27+ g_return_val_if_fail (self != NULL, FALSE);
28+ g_return_val_if_fail (GDM_IS_SESSION (self), FALSE);
29+
30+ filename = g_strdup_printf ("%s.desktop", get_session_name (self));
31+
32+ key_file = g_key_file_new ();
33+ error = NULL;
34+ res = g_key_file_load_from_dirs (key_file,
35+ filename,
36+ get_system_session_dirs (),
37+ NULL,
38+ G_KEY_FILE_NONE,
39+ &error);
40+ if (! res) {
41+ g_debug ("GdmSession: File '%s' not found: %s", filename, error->message);
42+ goto out;
43+ }
44+
45+ res = g_key_file_has_key (key_file, G_KEY_FILE_DESKTOP_GROUP, "X-LightDM-DesktopName", NULL);
46+ if (!res) {
47+ goto out;
48+ } else {
49+ desktop_name = g_key_file_get_string (key_file, G_KEY_FILE_DESKTOP_GROUP, "X-LightDM-DesktopName", NULL);
50+ }
51+
52+out:
53+ g_free (filename);
54+ return desktop_name;
55+}
56+
57+
58 void
59 gdm_session_set_environment_variable (GdmSession *self,
60 const char *key,
61@@ -2292,6 +2332,7 @@ static void
62 setup_session_environment (GdmSession *self)
63 {
64 const char *locale;
65+ const char *desktop_name;
66
67 gdm_session_set_environment_variable (self,
68 "GDMSESSION",
69@@ -2299,6 +2340,13 @@ setup_session_environment (GdmSession *self)
70 gdm_session_set_environment_variable (self,
71 "DESKTOP_SESSION",
72 get_session_name (self));
73+ desktop_name = get_session_desktop_name (self);
74+ if (desktop_name != NULL) {
75+ gdm_session_set_environment_variable (self,
76+ "XDG_CURRENT_DESKTOP",
77+ desktop_name);
78+ g_free (desktop_name);
79+ }
80
81 locale = get_language_name (self);
82
83--
841.8.3.2
85
86

Subscribers

People subscribed via source and target branches

to all changes: