mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2026-06-05 02:50:46 +00:00
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>
This commit is contained in:
committed by
Martin Jansa
parent
8663bf9e29
commit
701f87736f
+155
@@ -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
|
||||
|
||||
@@ -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 \
|
||||
|
||||
Reference in New Issue
Block a user