1 |
lxnay 11/07/03 10:02:30 |
2 |
|
3 |
Added: |
4 |
lxdm-0.3.0-properly-load-session-settings-using-dmrc-entry-as-pointer-for-xsessions-dir-file.patch |
5 |
Log: |
6 |
add patch that fixes loading of Fluxbox, E17, Openbox and perhaps others, see http://lxnay.wordpress.com/2011/07/03/lxdm-the-wannabe-login-manager for more details |
7 |
|
8 |
(Portage version: 2.2.0_alpha37/cvs/Linux x86_64) |
9 |
|
10 |
Revision Changes Path |
11 |
1.1 lxde-base/lxdm/files/lxdm-0.3.0-properly-load-session-settings-using-dmrc-entry-as-pointer-for-xsessions-dir-file.patch |
12 |
|
13 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/lxde-base/lxdm/files/lxdm-0.3.0-properly-load-session-settings-using-dmrc-entry-as-pointer-for-xsessions-dir-file.patch?rev=1.1&view=markup |
14 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/lxde-base/lxdm/files/lxdm-0.3.0-properly-load-session-settings-using-dmrc-entry-as-pointer-for-xsessions-dir-file.patch?rev=1.1&content-type=text/plain |
15 |
|
16 |
Index: lxdm-0.3.0-properly-load-session-settings-using-dmrc-entry-as-pointer-for-xsessions-dir-file.patch |
17 |
=================================================================== |
18 |
diff -Nurp lxdm-0.3.0.orig/src/lxdm.c lxdm-0.3.0/src/lxdm.c |
19 |
--- lxdm-0.3.0.orig/src/lxdm.c 2011-07-03 01:53:26.262780480 +0200 |
20 |
+++ lxdm-0.3.0/src/lxdm.c 2011-07-03 01:52:11.975780526 +0200 |
21 |
@@ -1174,7 +1174,27 @@ gboolean lxdm_get_session_info(char *ses |
22 |
} |
23 |
else |
24 |
{ |
25 |
- name=g_strdup(session); |
26 |
+ GKeyFile *f; |
27 |
+ char *file_path; |
28 |
+ gboolean loaded; |
29 |
+ |
30 |
+ f = g_key_file_new(); |
31 |
+ char *desktop_name = g_strconcat(session, ".desktop", NULL); |
32 |
+ file_path = g_build_filename(XSESSIONS_DIR, desktop_name, NULL); |
33 |
+ loaded = g_key_file_load_from_file(f, file_path, G_KEY_FILE_NONE, NULL); |
34 |
+ g_free(file_path); |
35 |
+ g_free(desktop_name); |
36 |
+ |
37 |
+ if ( loaded ) |
38 |
+ { |
39 |
+ name = g_key_file_get_locale_string(f, "Desktop Entry", "Name", NULL, NULL); |
40 |
+ exec = g_key_file_get_string(f, "Desktop Entry", "Exec", NULL); |
41 |
+ } |
42 |
+ else |
43 |
+ { |
44 |
+ name=g_strdup(session); |
45 |
+ } |
46 |
+ g_key_file_free(f); |
47 |
} |
48 |
} |
49 |
if(name && !exec) |