diff options
author | Andreas Müller <schnitzeltony@googlemail.com> | 2012-12-23 13:02:35 +0000 |
---|---|---|
committer | Martin Jansa <Martin.Jansa@gmail.com> | 2012-12-27 16:14:21 +0100 |
commit | 701f87736f3d745d5948b8a0b8aa0e5838a6a0b6 (patch) | |
tree | 68cd0d8991e15e792f27f051b8df9ecf33f28cfb /meta-xfce | |
parent | 8663bf9e29a2f66ae4238b5c668c0d92d00fcf38 (diff) | |
download | meta-openembedded-contrib-701f87736f3d745d5948b8a0b8aa0e5838a6a0b6.tar.gz |
xfce4-settings: Remember the settings manager window size
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Diffstat (limited to 'meta-xfce')
2 files changed, 157 insertions, 1 deletions
diff --git a/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings/0003-Remember-the-settings-manager-window-size-bug-9384.patch b/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings/0003-Remember-the-settings-manager-window-size-bug-9384.patch new file mode 100644 index 0000000000..8c1d1d9aa7 --- /dev/null +++ b/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings/0003-Remember-the-settings-manager-window-size-bug-9384.patch @@ -0,0 +1,155 @@ +From b3b1986327b9b42ac6f9442443ff103f6565a323 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Guelfucci?= <jeromeg@xfce.org> +Date: Wed, 19 Dec 2012 09:53:58 +0100 +Subject: [PATCH] Remember the settings manager window size (bug #9384). + +Handy with pluggable dialogs, allows the user to get rid of most of the +scrollbars. + +Upstream-Status: applied +--- + xfce4-settings-manager/Makefile.am | 2 + + xfce4-settings-manager/main.c | 13 +++++++ + .../xfce-settings-manager-dialog.c | 38 +++++++++++++++----- + 3 files changed, 44 insertions(+), 9 deletions(-) + +diff --git a/xfce4-settings-manager/Makefile.am b/xfce4-settings-manager/Makefile.am +index c6bdc2d..99f9b3f 100644 +--- a/xfce4-settings-manager/Makefile.am ++++ b/xfce4-settings-manager/Makefile.am +@@ -20,6 +20,7 @@ xfce4_settings_manager_CFLAGS = \ + $(LIBXFCE4UTIL_CFLAGS) \ + $(LIBXFCE4UI_CFLAGS) \ + $(GARCON_CFLAGS) \ ++ $(XFCONF_CFLAGS) \ + $(EXO_CFLAGS) \ + $(PLATFORM_CFLAGS) + +@@ -31,6 +32,7 @@ xfce4_settings_manager_LDADD = \ + $(GTK_LIBS) \ + $(LIBXFCE4UTIL_LIBS) \ + $(LIBXFCE4UI_LIBS) \ ++ $(XFCONF_LIBS) \ + $(EXO_LIBS) \ + $(GARCON_LIBS) + +diff --git a/xfce4-settings-manager/main.c b/xfce4-settings-manager/main.c +index 3a65879..42bec66 100644 +--- a/xfce4-settings-manager/main.c ++++ b/xfce4-settings-manager/main.c +@@ -28,6 +28,7 @@ + #include <gtk/gtk.h> + #include <libxfce4util/libxfce4util.h> + #include <garcon/garcon.h> ++#include <xfconf/xfconf.h> + + #include "xfce-settings-manager-dialog.h" + +@@ -79,6 +80,16 @@ main(int argc, + return EXIT_SUCCESS; + } + ++ /* initialize xfconf */ ++ if (G_UNLIKELY (!xfconf_init (&error))) ++ { ++ /* print error and leave */ ++ g_critical ("Failed to connect to Xfconf daemon: %s", error->message); ++ g_error_free (error); ++ ++ return EXIT_FAILURE; ++ } ++ + garcon_set_environment ("XFCE"); + + dialog = xfce_settings_manager_dialog_new (); +@@ -95,5 +106,7 @@ main(int argc, + + gtk_main(); + ++ xfconf_shutdown (); ++ + return EXIT_SUCCESS; + } +diff --git a/xfce4-settings-manager/xfce-settings-manager-dialog.c b/xfce4-settings-manager/xfce-settings-manager-dialog.c +index 043b143..39e33ff 100644 +--- a/xfce4-settings-manager/xfce-settings-manager-dialog.c ++++ b/xfce4-settings-manager/xfce-settings-manager-dialog.c +@@ -35,6 +35,7 @@ + + #include <libxfce4util/libxfce4util.h> + #include <libxfce4ui/libxfce4ui.h> ++#include <xfconf/xfconf.h> + #include <garcon/garcon.h> + #include <exo/exo.h> + +@@ -55,6 +56,7 @@ struct _XfceSettingsManagerDialog + { + XfceTitledDialog __parent__; + ++ XfconfChannel *channel; + GarconMenu *menu; + + GtkListStore *store; +@@ -156,17 +158,19 @@ xfce_settings_manager_dialog_class_init (XfceSettingsManagerDialogClass *klass) + static void + xfce_settings_manager_dialog_init (XfceSettingsManagerDialog *dialog) + { +- GtkWidget *scroll; ++ GtkWidget *align; ++ GtkWidget *bbox; + GtkWidget *dialog_vbox; +- GtkWidget *viewport; +- gchar *path; +- GtkWidget *hbox; ++ GtkWidget *ebox; + GtkWidget *entry; +- GtkWidget *align; +- GList *children; ++ GtkWidget *hbox; + GtkWidget *header; +- GtkWidget *ebox; +- GtkWidget *bbox; ++ GtkWidget *scroll; ++ GtkWidget *viewport; ++ GList *children; ++ gchar *path; ++ ++ dialog->channel = xfconf_channel_get ("xfce4-settings-manager"); + + dialog->store = gtk_list_store_new (N_COLUMNS, + G_TYPE_STRING, +@@ -180,7 +184,9 @@ xfce_settings_manager_dialog_init (XfceSettingsManagerDialog *dialog) + dialog->menu = garcon_menu_new_for_path (path != NULL ? path : MENUFILE); + g_free (path); + +- gtk_window_set_default_size (GTK_WINDOW (dialog), 640, 500); ++ gtk_window_set_default_size (GTK_WINDOW (dialog), ++ xfconf_channel_get_int (dialog->channel, "/last/window-width", 640), ++ xfconf_channel_get_int (dialog->channel, "/last/window-height", 500)); + xfce_settings_manager_dialog_set_title (dialog, NULL, NULL, NULL); + + dialog->button_back = xfce_gtk_button_new_mixed (GTK_STOCK_GO_BACK, _("All _Settings")); +@@ -334,6 +340,20 @@ xfce_settings_manager_dialog_response (GtkDialog *widget, + } + else + { ++ GdkWindowState state; ++ gint width, height; ++ ++ /* Don't save the state for full-screen windows */ ++ state = gdk_window_get_state (GTK_WIDGET (widget)->window); ++ ++ if ((state & (GDK_WINDOW_STATE_MAXIMIZED | GDK_WINDOW_STATE_FULLSCREEN)) == 0) ++ { ++ /* Save window size */ ++ gtk_window_get_size (GTK_WINDOW (widget), &width, &height); ++ xfconf_channel_set_int (dialog->channel, "/last/window-width", width), ++ xfconf_channel_set_int (dialog->channel, "/last/window-height", height); ++ } ++ + gtk_widget_destroy (GTK_WIDGET (widget)); + gtk_main_quit (); + } +-- +1.7.4.4 + diff --git a/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings_4.10.0.bb b/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings_4.10.0.bb index 9b6205b2dd..aa878ae48e 100644 --- a/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings_4.10.0.bb +++ b/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings_4.10.0.bb @@ -3,12 +3,13 @@ SECTION = "x11/wm" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" DEPENDS = "exo garcon gtk+ libxfce4util libxfce4ui xfconf dbus-glib libxi virtual/libx11 xrandr libnotify libxcursor libxklavier" -PR = "r2" +PR = "r3" inherit xfce SRC_URI += "file://0001-xsettings.xml-remove-trouble-causing-comment.patch \ file://0002-xsettings.xml-Set-default-themes.patch \ + file://0003-Remember-the-settings-manager-window-size-bug-9384.patch \ file://touchscreen/invisible \ file://touchscreen/wait \ file://touchscreen/0001-add-cursor-theme-xfce-invisible.patch \ |