Signed-off-by: Max Krummenacher Patch taken from: https://git.archlinux.org/svntogit/community.git/tree/trunk/gtk3.patch?h=packages/lxsession From d01e3742e92b25c268084243584004851cc9be0e Mon Sep 17 00:00:00 2001 From: =?utf8?q?Ball=C3=B3=20Gy=C3=B6rgy?= Date: Thu, 18 Dec 2014 21:32:39 +0100 Subject: [PATCH] Beautify GtkBuilder UI file of lxpolkit without modification This makes it easier to track changes in the future. --- data/ui/lxpolkit.ui | 183 +++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 182 insertions(+), 1 deletion(-) diff --git a/data/ui/lxpolkit.ui b/data/ui/lxpolkit.ui index e0940a2..2859db0 100644 --- a/data/ui/lxpolkit.ui +++ b/data/ui/lxpolkit.ui @@ -1 +1,182 @@ -5AuthenticationFalsecenternormalFalseTruevertical2True12vertical6TrueTruegtk-missing-imageFalse0True00True1False0True6TrueIdentity:False0True01False1TrueTrueFalse0TrueTrueTrueFalseTrue1False2True00False3False1Trueendgtk-cancelTrueTrueTrueTrueFalseFalse0gtk-okTrueTrueTrueTrueTrueTrueFalseFalse1Falseend0cancelok + + + + + 5 + Authentication + False + center + normal + False + + + True + vertical + 2 + + + True + 12 + vertical + 6 + + + True + + + True + gtk-missing-image + + + False + 0 + + + + + True + 0 + 0 + True + + + 1 + + + + + False + 0 + + + + + True + 6 + + + True + Identity: + + + False + 0 + + + + + True + + + + 0 + + + + + 1 + + + + + False + 1 + + + + + True + + + True + + + False + 0 + + + + + True + True + True + False + • + True + + + 1 + + + + + False + 2 + + + + + True + 0 + 0 + + + False + 3 + + + + + False + 1 + + + + + True + end + + + gtk-cancel + True + True + True + True + + + False + False + 0 + + + + + gtk-ok + True + True + True + True + True + True + + + False + False + 1 + + + + + False + end + 0 + + + + + + cancel + ok + + + -- 2.1.4 From f28fd2e9309bcc5053430ebfc01a9e130c66b816 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Ball=C3=B3=20Gy=C3=B6rgy?= Date: Thu, 18 Dec 2014 21:33:50 +0100 Subject: [PATCH] Some fixes for GTK+ 3 This makes lxpolkit and lxsession-edit compatible with GTK+ 3. --- data/ui/lxpolkit.ui | 1 - data/ui/lxsession-edit.ui | 1 - 2 files changed, 2 deletions(-) diff --git a/data/ui/lxpolkit.ui b/data/ui/lxpolkit.ui index 2859db0..c5b157c 100644 --- a/data/ui/lxpolkit.ui +++ b/data/ui/lxpolkit.ui @@ -7,7 +7,6 @@ False center normal - False True diff --git a/data/ui/lxsession-edit.ui b/data/ui/lxsession-edit.ui index 4d382aa..90cdada 100644 --- a/data/ui/lxsession-edit.ui +++ b/data/ui/lxsession-edit.ui @@ -10,7 +10,6 @@ 512 420 dialog - True True -- 2.1.4 From 21fa7f186771b7aa586a8cb05d0622dbee6a7c91 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Ball=C3=B3=20Gy=C3=B6rgy?= Date: Thu, 23 Jul 2015 10:31:26 +0200 Subject: [PATCH] Fix background on GTK+ 3 expose_event is not available in GTK+ 3, use draw signal to modify background. Also set a background for the center_area. --- lxsession-logout/lxsession-logout.c | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/lxsession-logout/lxsession-logout.c b/lxsession-logout/lxsession-logout.c index 3ad757f..cc7c7e3 100644 --- a/lxsession-logout/lxsession-logout.c +++ b/lxsession-logout/lxsession-logout.c @@ -94,7 +94,11 @@ static void switch_user_clicked(GtkButton * button, HandlerContext * handler_con static void cancel_clicked(GtkButton * button, gpointer user_data); static GtkPositionType get_banner_position(void); static GdkPixbuf * get_background_pixbuf(void); +#ifdef USE_GTK3 +gboolean draw(GtkWidget * widget, cairo_t * cr, GdkPixbuf * pixbuf); +#else gboolean expose_event(GtkWidget * widget, GdkEventExpose * event, GdkPixbuf * pixbuf); +#endif /* Try to run lxlock command in order to lock the screen, return TRUE on * success, FALSE if command execution failed @@ -419,13 +423,18 @@ static GdkPixbuf * get_background_pixbuf(void) } /* Handler for "expose_event" on background. */ +#ifdef USE_GTK3 +gboolean draw(GtkWidget * widget, cairo_t * cr, GdkPixbuf * pixbuf) +#else gboolean expose_event(GtkWidget * widget, GdkEventExpose * event, GdkPixbuf * pixbuf) +#endif { if (pixbuf != NULL) { /* Copy the appropriate rectangle of the root window pixmap to the drawing area. * All drawing areas are immediate children of the toplevel window, so the allocation yields the source coordinates directly. */ -#if GTK_CHECK_VERSION(2,14,0) +#ifdef USE_GTK3 +#elif GTK_CHECK_VERSION(2,14,0) cairo_t * cr = gdk_cairo_create (gtk_widget_get_window(widget)); #else cairo_t * cr = gdk_cairo_create (widget->window); @@ -437,7 +446,9 @@ gboolean expose_event(GtkWidget * widget, GdkEventExpose * event, GdkPixbuf * pi 0); cairo_paint (cr); +#ifndef USE_GTK3 cairo_destroy(cr); +#endif } return FALSE; } @@ -600,7 +611,11 @@ int main(int argc, char * argv[]) GdkScreen* screen = gtk_widget_get_screen(window); gtk_window_set_default_size(GTK_WINDOW(window), gdk_screen_get_width(screen), gdk_screen_get_height(screen)); gtk_widget_set_app_paintable(window, TRUE); +#ifdef USE_GTK3 + g_signal_connect(G_OBJECT(window), "draw", G_CALLBACK(draw), pixbuf); +#else g_signal_connect(G_OBJECT(window), "expose_event", G_CALLBACK(expose_event), pixbuf); +#endif g_signal_connect(G_OBJECT(window), "destroy", G_CALLBACK(gtk_main_quit), NULL); /* Toplevel container */ @@ -610,6 +625,12 @@ int main(int argc, char * argv[]) GtkWidget* center_area = gtk_event_box_new(); gtk_container_add(GTK_CONTAINER(alignment), center_area); +#ifdef USE_GTK3 + GtkStyle* style = gtk_widget_get_style (window); + GdkColor color = style->bg[GTK_STATE_NORMAL]; + gtk_widget_modify_bg(center_area, GTK_STATE_NORMAL, &color); +#endif + GtkWidget* center_vbox = gtk_vbox_new(FALSE, 6); gtk_container_set_border_width(GTK_CONTAINER(center_vbox), 12); gtk_container_add(GTK_CONTAINER(center_area), center_vbox); -- 2.1.4 From 0951a91a74f924f5537737a59cfa79505de3521d Mon Sep 17 00:00:00 2001 From: =?utf8?q?Ball=C3=B3=20Gy=C3=B6rgy?= Date: Fri, 31 Jul 2015 20:54:53 +0200 Subject: [PATCH] Add support for recent GDM versions. Recently its pid file is located at /var/run/gdm/gdm.pid --- lxsession-logout/lxsession-logout.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lxsession-logout/lxsession-logout.c b/lxsession-logout/lxsession-logout.c index cc7c7e3..8141b19 100644 --- a/lxsession-logout/lxsession-logout.c +++ b/lxsession-logout/lxsession-logout.c @@ -144,6 +144,9 @@ static gboolean verify_running(const char * display_manager, const char * execut char buffer[PATH_MAX]; sprintf(buffer, "/var/run/%s.pid", display_manager); + if (!g_file_test (buffer, G_FILE_TEST_IS_REGULAR)) + sprintf(buffer, "/var/run/%s/%s.pid", display_manager, display_manager); + /* Open the pid file. */ int fd = open(buffer, O_RDONLY); if (fd >= 0) -- 2.1.4 From 44f11c8ef2d84e7e031d996086686bee9b9e15c2 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Ball=C3=B3=20Gy=C3=B6rgy?= Date: Sun, 2 Aug 2015 00:56:22 +0200 Subject: [PATCH] Add OnlyShowIn LXDE to desktop entries And MATE to NotShowIn in lxpolkit desktop entry, --- data/lxpolkit.desktop.in.in | 2 +- data/lxsession-default-apps.desktop.in | 2 +- data/lxsession-edit.desktop.in | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/data/lxpolkit.desktop.in.in b/data/lxpolkit.desktop.in.in index b86b1df..f717f0f 100644 --- a/data/lxpolkit.desktop.in.in +++ b/data/lxpolkit.desktop.in.in @@ -5,5 +5,5 @@ _Comment=Policykit Authentication Agent Exec=lxpolkit TryExec=lxpolkit Icon=gtk-dialog-authentication -NotShowIn=GNOME;KDE; +NotShowIn=GNOME;KDE;MATE; Hidden=true diff --git a/data/lxsession-default-apps.desktop.in b/data/lxsession-default-apps.desktop.in index d383f29..df3f453 100644 --- a/data/lxsession-default-apps.desktop.in +++ b/data/lxsession-default-apps.desktop.in @@ -5,4 +5,4 @@ Exec=lxsession-default-apps _Name=Default applications for LXSession _Comment=Change the default applications on LXDE Categories=GTK;Settings;DesktopSettings;X-LXDE-Settings; -NotShowIn=GNOME;KDE;XFCE; +OnlyShowIn=LXDE; diff --git a/data/lxsession-edit.desktop.in b/data/lxsession-edit.desktop.in index 240d3a3..f826044 100644 --- a/data/lxsession-edit.desktop.in +++ b/data/lxsession-edit.desktop.in @@ -5,4 +5,4 @@ Exec=lxsession-edit _Name=Desktop Session Settings _Comment=Manage applications loaded in desktop session Categories=GTK;Settings;DesktopSettings;X-LXDE-Settings; -NotShowIn=GNOME;KDE;XFCE; +OnlyShowIn=LXDE; -- 2.1.4 From 743d933df2146105b0fd8c5651612065432dffba Mon Sep 17 00:00:00 2001 From: =?utf8?q?Ball=C3=B3=20Gy=C3=B6rgy?= Date: Sun, 2 Aug 2015 02:35:03 +0200 Subject: [PATCH] Use standard icons --- data/lxsession-default-apps.desktop.in | 2 +- data/lxsession-edit.desktop.in | 2 +- lxsession-default-apps/combobox.vala | 8 ++++---- lxsession-default-apps/main.vala | 10 +++++++++- lxsession-edit/lxsession-edit.c | 2 +- 5 files changed, 16 insertions(+), 8 deletions(-) diff --git a/data/lxsession-default-apps.desktop.in b/data/lxsession-default-apps.desktop.in index df3f453..9fb9643 100644 --- a/data/lxsession-default-apps.desktop.in +++ b/data/lxsession-default-apps.desktop.in @@ -1,6 +1,6 @@ [Desktop Entry] Type=Application -Icon=xfwm4 +Icon=preferences-desktop Exec=lxsession-default-apps _Name=Default applications for LXSession _Comment=Change the default applications on LXDE diff --git a/data/lxsession-edit.desktop.in b/data/lxsession-edit.desktop.in index f826044..ddf87a5 100644 --- a/data/lxsession-edit.desktop.in +++ b/data/lxsession-edit.desktop.in @@ -1,6 +1,6 @@ [Desktop Entry] Type=Application -Icon=xfwm4 +Icon=preferences-desktop Exec=lxsession-edit _Name=Desktop Session Settings _Comment=Manage applications loaded in desktop session diff --git a/lxsession-default-apps/combobox.vala b/lxsession-default-apps/combobox.vala index fa4f631..cd07954 100644 --- a/lxsession-default-apps/combobox.vala +++ b/lxsession-default-apps/combobox.vala @@ -83,7 +83,7 @@ namespace LDefaultApps help_window.set_skip_taskbar_hint(true); try { - help_window.icon = IconTheme.get_default ().load_icon ("xfwm4", 48, 0); + help_window.icon = IconTheme.get_default ().load_icon ("preferences-desktop", 48, 0); } catch (Error e) { @@ -113,7 +113,7 @@ namespace LDefaultApps window.set_default_size (300, 500); try { - window.icon = IconTheme.get_default ().load_icon ("xfwm4", 48, 0); + window.icon = IconTheme.get_default ().load_icon ("preferences-desktop", 48, 0); } catch (Error e) { @@ -422,7 +422,7 @@ namespace LDefaultApps /* First row, empty for not selected and for unselect */ list_store.append (out iter); - list_store.set (iter, 0, "gtk-close" , 1, _("Disable"), 2, 0, 3,""); + list_store.set (iter, 0, "window-close" , 1, _("Disable"), 2, 0, 3,""); for (int a = 0 ; a < combobox_list.length ; a++) { @@ -542,7 +542,7 @@ namespace LDefaultApps window_mime.set_skip_taskbar_hint(true); try { - window_mime.icon = IconTheme.get_default ().load_icon ("xfwm4", 48, 0); + window_mime.icon = IconTheme.get_default ().load_icon ("preferences-desktop", 48, 0); } catch (Error e) { diff --git a/lxsession-default-apps/main.vala b/lxsession-default-apps/main.vala index 859e219..3b27b18 100644 --- a/lxsession-default-apps/main.vala +++ b/lxsession-default-apps/main.vala @@ -32,7 +32,7 @@ namespace LDefaultApps this.window_position = Gtk.WindowPosition.CENTER; try { - this.icon = IconTheme.get_default ().load_icon ("xfwm4", 48, 0); + this.icon = IconTheme.get_default ().load_icon ("preferences-desktop", 48, 0); } catch (Error e) { @@ -97,6 +97,14 @@ namespace LDefaultApps { this.title = _("LXSession configuration"); this.window_position = Gtk.WindowPosition.CENTER; + try + { + this.icon = IconTheme.get_default ().load_icon ("preferences-desktop", 48, 0); + } + catch (Error e) + { + message ("Could not load application icon: %s\n", e.message); + } this.set_default_size (600, 400); this.destroy.connect (Gtk.main_quit); diff --git a/lxsession-edit/lxsession-edit.c b/lxsession-edit/lxsession-edit.c index 88fe9d1..af63edb 100644 --- a/lxsession-edit/lxsession-edit.c +++ b/lxsession-edit/lxsession-edit.c @@ -75,7 +75,7 @@ int main(int argc, char** argv) gtk_dialog_set_alternative_button_order((GtkDialog*)dlg, GTK_RESPONSE_OK, GTK_RESPONSE_CANCEL, -1); /* Set icon name for main (dlg) window so it displays in the panel. */ - gtk_window_set_icon_name(GTK_WINDOW(dlg), "xfwm4"); + gtk_window_set_icon_name(GTK_WINDOW(dlg), "preferences-desktop"); /* autostart list */ init_list_view((GtkTreeView*)autostarts); -- 2.1.4