xfce4-settings: move to schnitzeltony's git repo to get new datetime setter

I implemented a datetime setting dialog based on gnome-control-center and
submitted a pull-request in [1,2]. As long as it is not submitted - or as long
as I find no way to patch binary files (e.g. icons - I asked for that in [3] -
no response yet) we use the git repo and a copied branch of the pull-request
(just in case some feedback from xfce-devels requires modifcations).

Some patches had to be modified/removed to apply against mainline HEAD still.
Furthermore in 0002-mouse-settings-dialog-add-touchscreen-pointer-option.patch
label 'alignment8' was introduced mainline and we do not need mouse-dialog_ui.h
when building from git in maintainer-mode - this file is created during build
process.

[1] http://mail.xfce.org/pipermail/xfce4-dev/2013-September/030442.html
[2] https://bugzilla.xfce.org/show_bug.cgi?id=10354
[3] http://lists.openembedded.org/pipermail/openembedded-core/2013-September/083804.html

Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
This commit is contained in:
Andreas Müller 2013-09-16 09:04:15 +00:00 committed by Martin Jansa
parent e839d7b671
commit 23f020f742
5 changed files with 29 additions and 1250 deletions

View File

@ -1,155 +0,0 @@
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

View File

@ -11,7 +11,7 @@ Upstream-Status: Submitted [1]
[1] https://bugzilla.xfce.org/show_bug.cgi?id=9474
---
Makefile.am | 1 +
configure.ac | 2 +
configure.ac.in | 2 +
cursors/Makefile.am | 178 +++++++++++++++++++++++++++++++++++++++++++++++++++
cursors/index.theme | 3 +
6 files changed, 184 insertions(+), 0 deletions(-)
@ -30,10 +30,10 @@ index 3060bac..3f0dd1d 100644
dialogs \
xfce4-settings-manager \
xfce4-settings-editor \
diff --git a/configure.ac b/configure.ac
diff --git a/configure.ac.in b/configure.ac.in
index 0e7907d..1378049 100644
--- a/configure.ac
+++ b/configure.ac
--- a/configure.ac.in
+++ b/configure.ac.in
@@ -157,6 +157,7 @@ dnl *** Optional support for Xcursor ***
dnl ************************************
XDT_CHECK_OPTIONAL_PACKAGE([XCURSOR], [xcursor], [1.1.0],

View File

@ -133,7 +133,7 @@ index 62ebc60..32662cc 100644
(*G_OBJECT_CLASS (xfce_pointers_helper_parent_class)->finalize) (object);
}
@@ -267,17 +295,17 @@ static void
@@ -267,19 +295,19 @@ static void
xfce_pointers_helper_syndaemon_check (XfcePointersHelper *helper)
{
#ifdef DEVICE_PROPERTIES
@ -146,7 +146,9 @@ index 62ebc60..32662cc 100644
- Atom *props;
- gint i, nprops;
- gboolean have_synaptics = FALSE;
- gchar *args[] = { "syndaemon", "-i", "2.0", "-K", "-R", NULL };
- gdouble disable_duration;
- gchar disable_duration_string[64];
- gchar *args[] = { "syndaemon", "-i", disable_duration_string, "-K", "-R", NULL };
- GError *error = NULL;
+ Display *xdisplay = GDK_DISPLAY ();
+ XDeviceInfo *device_list;
@ -157,7 +159,9 @@ index 62ebc60..32662cc 100644
+ Atom *props;
+ gint i, nprops;
+ gboolean have_synaptics = FALSE;
+ gchar *args[] = { "syndaemon", "-i", "2.0", "-K", "-R", NULL };
+ gdouble disable_duration;
+ gchar disable_duration_string[64];
+ gchar *args[] = { "syndaemon", "-i", disable_duration_string, "-K", "-R", NULL };
+ GError *error = NULL;
/* only stop a running daemon */

View File

@ -6,9 +6,9 @@ DEPENDS = "exo garcon gtk+ libxfce4util libxfce4ui xfconf dbus-glib libxi virtua
inherit xfce
SRC_URI += "file://0001-xsettings.xml-remove-trouble-causing-comment.patch \
SRC_URI = " git://gitorious.org/xfce/xfce4-settings.git;protocol=git;branch=for-oe \
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 \
@ -17,13 +17,24 @@ SRC_URI += "file://0001-xsettings.xml-remove-trouble-causing-comment.patch \
file://touchscreen/0004-XfceXSettingsHelper-gets-a-property-touchscreen-poin.patch \
file://touchscreen/0005-pointers-detect-a-change-of-pointer-device-used-and-.patch \
"
SRC_URI[md5sum] = "3bf42281b64b10b2691008cd693f7dbd"
SRC_URI[sha256sum] = "4a4f1e79a58b524f3a6dd030b6fc687671b35566f847e6f516c6f84211191698"
SRCREV = "b7a0e1fd77f5bb5c372223ff62aec7acf252f061"
S = "${WORKDIR}/git"
PV = "4.10.0+git${SRCPV}"
EXTRA_OECONF += "--enable-maintainer-mode --disable-debug"
PACKAGECONFIG ??= ""
PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES','systemd','datetime-setter','',d)}"
PACKAGECONFIG[datetime-setter] = "--enable-datetime-settings, --disable-datetime-settings,, tzdata"
PACKAGECONFIG[notify] = "--enable-libnotify,--disable-libnotify,libnotify"
FILES_${PN} += "${libdir}/xfce4"
do_configure_prepend() {
NOCONFIGURE=yes ./autogen.sh
}
FILES_${PN} += " \
${libdir}/xfce4 \
${datadir}/xfce4 \
"
do_install_prepend() {
# somehow binary files are not patched correctly by oe-patch - so copy them