summaryrefslogtreecommitdiffstats
path: root/meta-xfce/recipes-xfce
diff options
context:
space:
mode:
authorTudor Florea <tudor.florea@enea.com>2015-10-08 22:51:41 +0200
committerTudor Florea <tudor.florea@enea.com>2015-10-08 22:51:41 +0200
commit1219bf8a90a7bf8cd3a5363551ef635d51e8fc8e (patch)
treea21a5fc103bb3bd65ecd85ed22be5228fc54e447 /meta-xfce/recipes-xfce
downloadmeta-openembedded-1219bf8a90a7bf8cd3a5363551ef635d51e8fc8e.tar.gz
initial commit for Enea Linux 5.0 arm
Signed-off-by: Tudor Florea <tudor.florea@enea.com>
Diffstat (limited to 'meta-xfce/recipes-xfce')
-rw-r--r--meta-xfce/recipes-xfce/exo/exo/configure.patch43
-rw-r--r--meta-xfce/recipes-xfce/exo/exo/exo-no-tests-0.8.patch31
-rw-r--r--meta-xfce/recipes-xfce/exo/exo/reduce-build-to-exo-csource-only.patch80
-rw-r--r--meta-xfce/recipes-xfce/exo/exo_0.10.2.bb37
-rw-r--r--meta-xfce/recipes-xfce/garcon/files/0001-xfce-applications.menu-don-t-bloat-settings-menu-by-.patch35
-rw-r--r--meta-xfce/recipes-xfce/garcon/garcon_0.2.1.bb14
-rw-r--r--meta-xfce/recipes-xfce/gtk-xfce-engine/gtk-xfce-engine_3.0.1.bb23
-rw-r--r--meta-xfce/recipes-xfce/libxfce4ui/files/0001-libxfce4kbd-private-xfce4-keyboard-shortcuts.xml-fix.patch31
-rw-r--r--meta-xfce/recipes-xfce/libxfce4ui/files/0002-configure.ac.in-remove-optional-gtk3-support.patch37
-rw-r--r--meta-xfce/recipes-xfce/libxfce4ui/libxfce4ui_4.10.0.bb29
-rw-r--r--meta-xfce/recipes-xfce/libxfce4util/libxfce4util_4.10.1.bb10
-rw-r--r--meta-xfce/recipes-xfce/packagegroups/packagegroup-xfce-base.bb35
-rw-r--r--meta-xfce/recipes-xfce/packagegroups/packagegroup-xfce-extended.bb56
-rw-r--r--meta-xfce/recipes-xfce/thunar-volman/thunar-volman_0.8.0.bb15
-rw-r--r--meta-xfce/recipes-xfce/thunar/thunar_1.6.3.bb29
-rw-r--r--meta-xfce/recipes-xfce/tumbler/tumbler/0001-configure-use-pkg-config-for-freetype2.patch45
-rw-r--r--meta-xfce/recipes-xfce/tumbler/tumbler_0.1.30.bb36
-rw-r--r--meta-xfce/recipes-xfce/xfce4-appfinder/xfce4-appfinder_4.10.1.bb10
-rw-r--r--meta-xfce/recipes-xfce/xfce4-dev-tools/xfce4-dev-tools-4.11.0/xdt-autogen_dependency.patch13
-rw-r--r--meta-xfce/recipes-xfce/xfce4-dev-tools/xfce4-dev-tools_4.11.0.bb26
-rw-r--r--meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.10.1.bb29
-rw-r--r--meta-xfce/recipes-xfce/xfce4-power-manager/xfce4-power-manager_1.4.1.bb42
-rw-r--r--meta-xfce/recipes-xfce/xfce4-session/xfce4-session/0001-configure.in-hard-code-path-to-iceauth.patch40
-rw-r--r--meta-xfce/recipes-xfce/xfce4-session/xfce4-session_4.10.1.bb36
-rw-r--r--meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings/0001-xsettings.xml-remove-trouble-causing-comment.patch31
-rw-r--r--meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings/0002-xsettings.xml-Set-default-themes.patch32
-rw-r--r--meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings/touchscreen/0001-add-cursor-theme-xfce-invisible.patch248
-rw-r--r--meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings/touchscreen/0002-mouse-settings-dialog-add-touchscreen-pointer-option.patch152
-rw-r--r--meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings/touchscreen/0003-XfcePointersHelper-gets-a-pointer-to-XfceXSettingsHe.patch137
-rw-r--r--meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings/touchscreen/0004-XfceXSettingsHelper-gets-a-property-touchscreen-poin.patch249
-rw-r--r--meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings/touchscreen/0005-pointers-detect-a-change-of-pointer-device-used-and-.patch589
-rw-r--r--meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings/touchscreen/invisiblebin0 -> 4160 bytes
-rw-r--r--meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings/touchscreen/waitbin0 -> 126096 bytes
-rw-r--r--meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings_git.bb47
-rw-r--r--meta-xfce/recipes-xfce/xfconf/files/0001-Simplify-checks.patch112
-rw-r--r--meta-xfce/recipes-xfce/xfconf/xfconf_4.10.0.bb16
-rw-r--r--meta-xfce/recipes-xfce/xfdesktop/xfdesktop_4.10.2.bb15
-rw-r--r--meta-xfce/recipes-xfce/xfwm4/files/0001-don-t-block-display-events-when-time-is-set-backward.patch33
-rw-r--r--meta-xfce/recipes-xfce/xfwm4/xfwm4_git.bb36
39 files changed, 2479 insertions, 0 deletions
diff --git a/meta-xfce/recipes-xfce/exo/exo/configure.patch b/meta-xfce/recipes-xfce/exo/exo/configure.patch
new file mode 100644
index 000000000..ef27e423b
--- /dev/null
+++ b/meta-xfce/recipes-xfce/exo/exo/configure.patch
@@ -0,0 +1,43 @@
1--- a/configure.ac 2007-12-02 10:37:06.000000000 -0200
2+++ b/configure.ac 2008-06-05 17:21:42.000000000 -0300
3@@ -127,22 +127,24 @@
4 dnl ***************************************
5 dnl *** Check for strftime() extensions ***
6 dnl ***************************************
7-AC_TRY_RUN([
8- #include <string.h>
9- #include <time.h>
10- int
11- main (int argc, char **argv)
12- {
13- struct tm tm;
14- char buffer[16];
15- tm.tm_year = 81;
16- if (strftime (buffer, 16, "%EY", &tm) == 4 && strcmp (buffer, "1981") == 0)
17- return 0;
18- return 1;
19- }
20-], [
21- AC_DEFINE([HAVE_STRFTIME_EXTENSION], 1, [Define if strftime supports %E and %O modifiers.])
22-])
23+dnl grrrr... this doesn't work for cross compiling, define it for OE
24+AC_DEFINE([HAVE_STRFTIME_EXTENSION], 1, [Define if strftime supports %E and %O modifiers.])
25+dnl AC_TRY_RUN([
26+dnl #include <string.h>
27+dnl #include <time.h>
28+dnl int
29+dnl main (int argc, char **argv)
30+dnl {
31+dnl struct tm tm;
32+dnl char buffer[16];
33+dnl tm.tm_year = 81;
34+dnl if (strftime (buffer, 16, "%EY", &tm) == 4 && strcmp (buffer, "1981") == 0)
35+dnl return 0;
36+dnl return 1;
37+dnl }
38+dnl ], [
39+dnl AC_DEFINE([HAVE_STRFTIME_EXTENSION], 1, [Define if strftime supports %E and %O modifiers.])
40+dnl ])
41
42 dnl ******************************
43 dnl *** Check for i18n support ***
diff --git a/meta-xfce/recipes-xfce/exo/exo/exo-no-tests-0.8.patch b/meta-xfce/recipes-xfce/exo/exo/exo-no-tests-0.8.patch
new file mode 100644
index 000000000..ac8bca5f3
--- /dev/null
+++ b/meta-xfce/recipes-xfce/exo/exo/exo-no-tests-0.8.patch
@@ -0,0 +1,31 @@
1From 5f1e19860d89647488bdd32a02fb332f69434405 Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
3Date: Fri, 18 May 2012 21:13:00 +0200
4Subject: [PATCH] Do not run tests at build time
5MIME-Version: 1.0
6Content-Type: text/plain; charset=UTF-8
7Content-Transfer-Encoding: 8bit
8Upstream-Status: Not-Applicable
9
10Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
11---
12 Makefile.am | 3 +--
13 1 files changed, 1 insertions(+), 2 deletions(-)
14
15diff --git a/Makefile.am b/Makefile.am
16index 0ab3853..3e72391 100644
17--- a/Makefile.am
18+++ b/Makefile.am
19@@ -8,8 +8,7 @@ SUBDIRS = \
20 docs \
21 icons \
22 pixmaps \
23- po \
24- tests
25+ po
26
27 AUTOMAKE_OPTIONS = \
28 1.9 \
29--
301.7.4.4
31
diff --git a/meta-xfce/recipes-xfce/exo/exo/reduce-build-to-exo-csource-only.patch b/meta-xfce/recipes-xfce/exo/exo/reduce-build-to-exo-csource-only.patch
new file mode 100644
index 000000000..84b237096
--- /dev/null
+++ b/meta-xfce/recipes-xfce/exo/exo/reduce-build-to-exo-csource-only.patch
@@ -0,0 +1,80 @@
1From e710d8d4a3e3480416826c70d56ea3d2598a77e4 Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
3Date: Thu, 28 Mar 2013 23:41:03 +0100
4Subject: [PATCH] reduce build to exo-csource only
5MIME-Version: 1.0
6Content-Type: text/plain; charset=UTF-8
7Content-Transfer-Encoding: 8bit
8
9exo-csource creates c-header files from glade resource output files. When
10building xfce-packages from git instead of tarball this exo-csource-native is
11required.
12
13Upstream-Status: Inappropriate [configuration]
14
15Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
16---
17 Makefile.am | 10 +---------
18 configure.ac | 20 --------------------
19 2 files changed, 1 insertions(+), 29 deletions(-)
20
21diff --git a/Makefile.am b/Makefile.am
22index c2e3fff..79b0931 100644
23--- a/Makefile.am
24+++ b/Makefile.am
25@@ -1,13 +1,5 @@
26 SUBDIRS = \
27- exo \
28- exo-csource \
29- exo-desktop-item-edit \
30- exo-helper \
31- exo-open \
32- docs \
33- icons \
34- pixmaps \
35- po
36+ exo-csource
37
38 AUTOMAKE_OPTIONS = \
39 1.9 \
40diff --git a/configure.ac b/configure.ac
41index efcd62e..aac2495 100644
42--- a/configure.ac
43+++ b/configure.ac
44@@ -110,15 +110,6 @@ AC_PROG_CC()
45 AM_PROG_CC_C_O()
46 AC_PROG_INSTALL()
47 AC_PROG_INTLTOOL([0.31], [no-xml])
48-AC_CHECK_PROGS([PERL], [perl5 perl])
49-
50-dnl ***************************************
51-dnl *** Check for required Perl modules ***
52-dnl ***************************************
53-AC_PROG_PERL_MODULES([URI::Escape URI::file URI::URL], [],
54-[
55- AC_MSG_ERROR([Atleast one of the required Perl modules (URI::Escape, URI::file and URI::URL) was not found on your system])
56-])
57
58 dnl ***************************************
59 dnl *** Check for standard header files ***
60@@ -165,17 +156,6 @@ dnl ***********************************
61 dnl *** Check for required packages ***
62 dnl ***********************************
63 XDT_CHECK_PACKAGE([GLIB], [glib-2.0], [2.30.0])
64-XDT_CHECK_PACKAGE([GIO], [gio-2.0], [2.30.0])
65-XDT_CHECK_PACKAGE([GTK], [gtk+-2.0], [2.24.0])
66-XDT_CHECK_PACKAGE([GTHREAD], [gthread-2.0], [2.30.0])
67-XDT_CHECK_PACKAGE([LIBXFCE4UTIL], [libxfce4util-1.0], [4.10.0])
68-XDT_CHECK_PACKAGE([LIBXFCE4UI], [libxfce4ui-1], [4.10.0])
69-XDT_CHECK_OPTIONAL_PACKAGE([GIO_UNIX], [gio-unix-2.0], [2.30.0], [gio-unix], [GIO-Unix features])
70-
71-dnl *********************
72-dnl *** Check for X11 ***
73-dnl *********************
74-XDT_CHECK_LIBX11_REQUIRE()
75
76 dnl *************************
77 dnl *** Check for gtk-doc ***
78--
791.7.4.4
80
diff --git a/meta-xfce/recipes-xfce/exo/exo_0.10.2.bb b/meta-xfce/recipes-xfce/exo/exo_0.10.2.bb
new file mode 100644
index 000000000..ef8e55fa6
--- /dev/null
+++ b/meta-xfce/recipes-xfce/exo/exo_0.10.2.bb
@@ -0,0 +1,37 @@
1DESCRIPTION="Application library for the Xfce desktop environment"
2SECTION = "x11"
3LICENSE = "GPLv2"
4LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
5DEPENDS = "gtk+ libxfce4util libxfce4ui virtual/libx11 liburi-perl-native cairo"
6DEPENDS_class-native = "glib-2.0-native xfce4-dev-tools-native intltool-native"
7PR = "r4"
8
9inherit xfce pythonnative perlnative gtk-doc
10
11# SRC_URI must follow inherited one
12SRC_URI += " \
13 file://exo-no-tests-0.8.patch \
14 file://configure.patch \
15"
16
17SRC_URI_append_class-native = " \
18 file://reduce-build-to-exo-csource-only.patch \
19"
20
21SRC_URI[md5sum] = "c70f2a217811bfba2e62f938d4b8f748"
22SRC_URI[sha256sum] = "b385828bf8a38204da3254b57fdfa25a72694495aa189fabd5040f707eec76ce"
23
24PACKAGES =+ "exo-csource"
25
26# Note: python bindings did not work in oe-dev and are about to be moved to
27# pyxfce see http://comments.gmane.org/gmane.comp.desktop.xfce.devel.version4/19560
28FILES_${PN} += "${datadir}/xfce4/ \
29 ${libdir}/xfce4/exo-1 \
30"
31
32FILES_${PN}-dbg += "${libdir}/gio/modules/.debug \
33"
34
35FILES_exo-csource += "${bindir}/exo-csource"
36
37BBCLASSEXTEND = "native"
diff --git a/meta-xfce/recipes-xfce/garcon/files/0001-xfce-applications.menu-don-t-bloat-settings-menu-by-.patch b/meta-xfce/recipes-xfce/garcon/files/0001-xfce-applications.menu-don-t-bloat-settings-menu-by-.patch
new file mode 100644
index 000000000..e5ad4e1a1
--- /dev/null
+++ b/meta-xfce/recipes-xfce/garcon/files/0001-xfce-applications.menu-don-t-bloat-settings-menu-by-.patch
@@ -0,0 +1,35 @@
1From f5398b49cc6fd7a53562aae2abbac0d9c656559c Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
3Date: Wed, 15 May 2013 14:17:49 +0200
4Subject: [garcon] xfce-applications.menu: don't bloat settings menu by
5 entries found in settings manager
6MIME-Version: 1.0
7Content-Type: text/plain; charset=UTF-8
8Content-Transfer-Encoding: 8bit
9
10Upstream-Status: Submitted [1]
11
12[1] https://bugzilla.xfce.org/show_bug.cgi?id=10092
13
14Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
15---
16 data/xfce/xfce-applications.menu | 3 +++
17 1 files changed, 3 insertions(+), 0 deletions(-)
18
19diff --git a/data/xfce/xfce-applications.menu b/data/xfce/xfce-applications.menu
20index dc3056b..c2aa0bb 100644
21--- a/data/xfce/xfce-applications.menu
22+++ b/data/xfce/xfce-applications.menu
23@@ -34,6 +34,9 @@
24 <Include>
25 <Category>Settings</Category>
26 </Include>
27+ <Exclude>
28+ <Category>X-XFCE-SettingsDialog</Category>
29+ </Exclude>
30
31 <Layout>
32 <Filename>xfce-settings-manager.desktop</Filename>
33--
341.7.6.5
35
diff --git a/meta-xfce/recipes-xfce/garcon/garcon_0.2.1.bb b/meta-xfce/recipes-xfce/garcon/garcon_0.2.1.bb
new file mode 100644
index 000000000..44ae51f07
--- /dev/null
+++ b/meta-xfce/recipes-xfce/garcon/garcon_0.2.1.bb
@@ -0,0 +1,14 @@
1DESCRIPTION="Xfce Menu Library"
2SECTION = "x11/libs"
3LICENSE = "LGPLv2"
4LIC_FILES_CHKSUM = "file://COPYING;md5=04a01abcbdabffae1ca26335a293276b"
5DEPENDS = "glib-2.0 xfce4-dev-tools-native libxfce4util intltool-native"
6PR = "r1"
7
8inherit xfce gtk-doc
9
10SRC_URI += "file://0001-xfce-applications.menu-don-t-bloat-settings-menu-by-.patch"
11SRC_URI[md5sum] = "c3cf89c836be0ddb281c81e4808fb68b"
12SRC_URI[sha256sum] = "48b644b8b2ffe597974e2526ca1a5d2d7da6a09c2d434f008dec80e9152701f7"
13
14FILES_${PN} += "${datadir}/desktop-directories"
diff --git a/meta-xfce/recipes-xfce/gtk-xfce-engine/gtk-xfce-engine_3.0.1.bb b/meta-xfce/recipes-xfce/gtk-xfce-engine/gtk-xfce-engine_3.0.1.bb
new file mode 100644
index 000000000..d62208fb4
--- /dev/null
+++ b/meta-xfce/recipes-xfce/gtk-xfce-engine/gtk-xfce-engine_3.0.1.bb
@@ -0,0 +1,23 @@
1SUMMARY = "XFCE theme for GTK"
2SECTION = "x11/libs"
3LICENSE = "GPLv2"
4LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
5DEPENDS = "gtk+ gtk+3 xfce4-dev-tools-native"
6
7inherit xfce
8
9SRC_URI[md5sum] = "174e774d0debb052ec457640275f065d"
10SRC_URI[sha256sum] = "eb03cf81da1a91e426a2141c092ed7a1634cab29ea2f3546480e901290a7a06d"
11
12PACKAGES += "${PN}-themes gtk3-xfce-engine"
13FILES_${PN} += "${libdir}/gtk-2.0/*/engines/*.so"
14FILES_gtk3-xfce-engine += "${libdir}/gtk-3.0/*/theming-engines/*.so"
15FILES_${PN}-themes += "${datadir}/themes"
16
17FILES_${PN}-dbg += "${libdir}/gtk-3.0/*/theming-engines/.debug \
18 ${libdir}/gtk-2.0/*/engines/.debug"
19FILES_${PN}-dev += "${libdir}/gtk-2.0/*/engines/*.la \
20 ${libdir}/gtk-3.0/*/theming-engines/*.la"
21
22RDEPENDS_${PN} += "${PN}-themes"
23RDEPENDS_gtk3-xfce-engine += "${PN}-themes"
diff --git a/meta-xfce/recipes-xfce/libxfce4ui/files/0001-libxfce4kbd-private-xfce4-keyboard-shortcuts.xml-fix.patch b/meta-xfce/recipes-xfce/libxfce4ui/files/0001-libxfce4kbd-private-xfce4-keyboard-shortcuts.xml-fix.patch
new file mode 100644
index 000000000..b8c917883
--- /dev/null
+++ b/meta-xfce/recipes-xfce/libxfce4ui/files/0001-libxfce4kbd-private-xfce4-keyboard-shortcuts.xml-fix.patch
@@ -0,0 +1,31 @@
1From 708e59caaf1c0c271a96a4d1fe46b122aff45e34 Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
3Date: Mon, 27 Aug 2012 09:16:29 +0200
4Subject: [PATCH] libxfce4kbd-private/xfce4-keyboard-shortcuts.xml: fix xfwm4
5 crash on first start
6MIME-Version: 1.0
7Content-Type: text/plain; charset=UTF-8
8Content-Transfer-Encoding: 8bit
9
10Upstream-Status: Pending
11Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
12---
13 libxfce4kbd-private/xfce4-keyboard-shortcuts.xml | 4 ++++
14 1 files changed, 4 insertions(+), 0 deletions(-)
15
16diff --git a/libxfce4kbd-private/xfce4-keyboard-shortcuts.xml b/libxfce4kbd-private/xfce4-keyboard-shortcuts.xml
17index 723a10d..e6502f3 100644
18--- a/libxfce4kbd-private/xfce4-keyboard-shortcuts.xml
19+++ b/libxfce4kbd-private/xfce4-keyboard-shortcuts.xml
20@@ -66,4 +66,8 @@
21 <property name="&lt;Control&gt;F12" type="string" value="workspace_12_key"/>
22 </property>
23 </property>
24+ <property name="providers" type="array">
25+ <value type="string" value="commands"/>
26+ <value type="string" value="xfwm4"/>
27+ </property>
28 </channel>
29--
301.7.6.5
31
diff --git a/meta-xfce/recipes-xfce/libxfce4ui/files/0002-configure.ac.in-remove-optional-gtk3-support.patch b/meta-xfce/recipes-xfce/libxfce4ui/files/0002-configure.ac.in-remove-optional-gtk3-support.patch
new file mode 100644
index 000000000..a93fabfac
--- /dev/null
+++ b/meta-xfce/recipes-xfce/libxfce4ui/files/0002-configure.ac.in-remove-optional-gtk3-support.patch
@@ -0,0 +1,37 @@
1From d61dc6718a2abaf70d19f17d34128cb7e161e057 Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
3Date: Wed, 18 Sep 2013 20:50:11 +0200
4Subject: [PATCH] configure.ac.in: remove optional gtk3 support
5MIME-Version: 1.0
6Content-Type: text/plain; charset=UTF-8
7Content-Transfer-Encoding: 8bit
8
9it drags in gtk3 if that was build before. This is not yet wanted
10
11Upstream-Status: Inappropriate [configuration]
12
13Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
14---
15 configure.ac.in | 6 ------
16 1 file changed, 6 deletions(-)
17
18diff --git a/configure.ac.in b/configure.ac.in
19index e47df04..b6edab1 100644
20--- a/configure.ac.in
21+++ b/configure.ac.in
22@@ -129,12 +129,6 @@ XDT_CHECK_PACKAGE([GOBJECT], [gobject-2.0], [2.28.0])
23 XDT_CHECK_PACKAGE([GTK2], [gtk+-2.0], [2.24.0])
24 XDT_CHECK_PACKAGE([LIBXFCE4UTIL], [libxfce4util-1.0], [4.10.0])
25
26-dnl ***********************************************************
27-dnl *** Optional support for a GTK+3 version of the library ***
28-dnl ***********************************************************
29-XDT_CHECK_OPTIONAL_PACKAGE([GTK3],
30- [gtk+-3.0], [3.2.0], [gtk3],
31- [GTK+ 3 support])
32 AM_CONDITIONAL([ENABLE_GTK3_LIBRARY], [test "x$GTK3_FOUND" = "xyes"])
33
34 dnl *************************************************
35--
361.8.3.1
37
diff --git a/meta-xfce/recipes-xfce/libxfce4ui/libxfce4ui_4.10.0.bb b/meta-xfce/recipes-xfce/libxfce4ui/libxfce4ui_4.10.0.bb
new file mode 100644
index 000000000..6534f940c
--- /dev/null
+++ b/meta-xfce/recipes-xfce/libxfce4ui/libxfce4ui_4.10.0.bb
@@ -0,0 +1,29 @@
1SUMMARY = "Xfce4 Widget library and X Window System interaction"
2SECTION = "x11/libs"
3LICENSE = "GPLv2"
4LIC_FILES_CHKSUM = "file://COPYING;md5=252890d9eee26aab7b432e8b8a616475"
5DEPENDS = "perl-native glib-2.0 gtk+ intltool libxfce4util xfconf xfce4-dev-tools virtual/libx11 libsm libice"
6
7inherit autotools gettext gtk-doc xfce xfce-git
8
9SRC_URI = " \
10 git://git.xfce.org/xfce/libxfce4ui;protocol=git \
11 file://0001-libxfce4kbd-private-xfce4-keyboard-shortcuts.xml-fix.patch \
12 file://0002-configure.ac.in-remove-optional-gtk3-support.patch \
13"
14SRCREV = "530b72f50fcbd8cb4b970fcc97be0321bf78183e"
15PV = "4.10.0+git${SRCPV}"
16S = "${WORKDIR}/git"
17
18EXTRA_OECONF += "--enable-maintainer-mode --disable-debug --with-vendor-info=${DISTRO}"
19
20PACKAGECONFIG ??= ""
21PACKAGECONFIG[gladeui] = "--enable-gladeui,--disable-gladeui,glade3"
22PACKAGECONFIG[startup-notification] = "--enable-startup-notification,--disable-startup-notification,startup-notification"
23
24FILES_${PN}-dbg += "${libdir}/glade3/modules/.debug"
25FILES_${PN}-dev += "${libdir}/glade3/modules/*.la \
26 ${datadir}/glade3/catalogs/*.in"
27PACKAGES += "${PN}-glade"
28FILES_${PN}-glade = "${libdir}/glade3 \
29 ${datadir}/glade3"
diff --git a/meta-xfce/recipes-xfce/libxfce4util/libxfce4util_4.10.1.bb b/meta-xfce/recipes-xfce/libxfce4util/libxfce4util_4.10.1.bb
new file mode 100644
index 000000000..4a79f8233
--- /dev/null
+++ b/meta-xfce/recipes-xfce/libxfce4util/libxfce4util_4.10.1.bb
@@ -0,0 +1,10 @@
1SUMMARY = "Basic utility library for Xfce4"
2SECTION = "x11/libs"
3LICENSE = "GPLv2"
4LIC_FILES_CHKSUM = "file://COPYING;md5=252890d9eee26aab7b432e8b8a616475"
5DEPENDS = "intltool-native xfce4-dev-tools-native glib-2.0"
6
7inherit xfce gtk-doc
8
9SRC_URI[md5sum] = "11eec87e8eda2bc62512c2416cb807a1"
10SRC_URI[sha256sum] = "e82cd1ad715c02a385b3cf6646cb89aa3c4724446dac1d7e424971df12f6cfbb"
diff --git a/meta-xfce/recipes-xfce/packagegroups/packagegroup-xfce-base.bb b/meta-xfce/recipes-xfce/packagegroups/packagegroup-xfce-base.bb
new file mode 100644
index 000000000..28cfc7f0f
--- /dev/null
+++ b/meta-xfce/recipes-xfce/packagegroups/packagegroup-xfce-base.bb
@@ -0,0 +1,35 @@
1SUMMARY = "All packages required for a base installation of XFCE"
2SECTION = "x11/wm"
3LICENSE = "MIT"
4LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690"
5PR = "r5"
6
7inherit packagegroup
8
9RDEPENDS_${PN} = " \
10 xfwm4 \
11 xfce4-session \
12 xfconf \
13 xfdesktop \
14 xfce4-panel \
15 \
16 gtk-xfce-engine \
17 \
18 xfce4-panel-plugin-actions \
19 xfce4-panel-plugin-applicationsmenu \
20 xfce4-panel-plugin-clock \
21 xfce4-panel-plugin-directorymenu \
22 xfce4-panel-plugin-launcher \
23 xfce4-panel-plugin-pager \
24 xfce4-panel-plugin-separator \
25 xfce4-panel-plugin-showdesktop \
26 xfce4-panel-plugin-systray \
27 xfce4-panel-plugin-tasklist \
28 xfce4-panel-plugin-windowmenu \
29 xfce4-settings \
30 \
31 xfce4-notifyd \
32 xfce4-terminal \
33 thunar \
34 thunar-volman \
35"
diff --git a/meta-xfce/recipes-xfce/packagegroups/packagegroup-xfce-extended.bb b/meta-xfce/recipes-xfce/packagegroups/packagegroup-xfce-extended.bb
new file mode 100644
index 000000000..af8977d38
--- /dev/null
+++ b/meta-xfce/recipes-xfce/packagegroups/packagegroup-xfce-extended.bb
@@ -0,0 +1,56 @@
1SUMMARY = "All packages for full XFCE installation"
2SECTION = "x11/wm"
3LICENSE = "MIT"
4LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690"
5
6PR = "r10"
7
8inherit packagegroup
9
10# mandatory
11RDEPENDS_${PN} = " \
12 packagegroup-xfce-base \
13"
14
15# nice to have
16RRECOMMENDS_${PN} = " \
17 xfwm4-theme-daloa \
18 xfwm4-theme-kokodi \
19 xfwm4-theme-moheli \
20 \
21 xfce4-cpufreq-plugin \
22 xfce4-cpugraph-plugin \
23 xfce4-datetime-plugin \
24 xfce4-eyes-plugin \
25 xfce4-clipman-plugin \
26 xfce4-diskperf-plugin \
27 xfce4-netload-plugin \
28 xfce4-genmon-plugin \
29 xfce4-xkb-plugin \
30 xfce4-wavelan-plugin \
31 xfce4-places-plugin \
32 xfce4-systemload-plugin \
33 xfce4-time-out-plugin \
34 xfce4-embed-plugin \
35 xfce4-weather-plugin \
36 xfce4-fsguard-plugin \
37 xfce4-battery-plugin \
38 xfce4-mount-plugin \
39 xfce4-powermanager-plugin \
40 xfce4-closebutton-plugin \
41 xfce4-equake-plugin \
42 xfce4-notes-plugin \
43 xfce4-whiskermenu-plugin \
44 xfce4-mailwatch-plugin \
45 \
46 thunar-media-tags-plugin \
47 thunar-archive-plugin \
48 \
49 xfce4-appfinder \
50 xfce4-screenshooter \
51 xfce4-power-manager \
52 xfce4-mixer \
53 ristretto \
54 xfce4-taskmanager \
55 gigolo \
56"
diff --git a/meta-xfce/recipes-xfce/thunar-volman/thunar-volman_0.8.0.bb b/meta-xfce/recipes-xfce/thunar-volman/thunar-volman_0.8.0.bb
new file mode 100644
index 000000000..909ae85dd
--- /dev/null
+++ b/meta-xfce/recipes-xfce/thunar-volman/thunar-volman_0.8.0.bb
@@ -0,0 +1,15 @@
1SUMMARY = "Automatic management of removable drives and media for thunar"
2SECTION = "x11"
3LICENSE = "GPLv2"
4LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
5DEPENDS = "exo glib-2.0 gtk+ libxfce4ui libxfce4util xfconf libnotify udev"
6
7inherit xfce
8
9SRC_URI[md5sum] = "250af757ea629c7c27f554d17119080c"
10SRC_URI[sha256sum] = "ff0887c862b578580d05f4cd7db66081382ff143f9cc7ea3c9ba58cf5d02bceb"
11
12PACKAGECONFIG ??= ""
13PACKAGECONFIG[notify] = "--enable-notifications,--disable-notifications,libnotify"
14
15RDEPENDS_${PN} = "eject"
diff --git a/meta-xfce/recipes-xfce/thunar/thunar_1.6.3.bb b/meta-xfce/recipes-xfce/thunar/thunar_1.6.3.bb
new file mode 100644
index 000000000..36c5ed07e
--- /dev/null
+++ b/meta-xfce/recipes-xfce/thunar/thunar_1.6.3.bb
@@ -0,0 +1,29 @@
1SUMMARY = "File manager for the Xfce Desktop Environment"
2SECTION = "x11"
3LICENSE = "GPLv2"
4LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
5DEPENDS = "exo glib-2.0 gtk+ gdk-pixbuf libxfce4util libxfce4ui libsm dbus-glib startup-notification libnotify xfce4-panel udev"
6
7inherit xfce
8
9SRC_URI[md5sum] = "4f10d5d5576ce5127308d6badbac3afa"
10SRC_URI[sha256sum] = "9a2706f6881ac29cda9f0b0325d179153bc09e37bcbafcab9823c1c1ec89579d"
11SRC_URI = "http://archive.xfce.org/src/xfce/${BPN}/${@'${PV}'[0:3]}/Thunar-${PV}.tar.bz2"
12
13S = "${WORKDIR}/Thunar-${PV}/"
14
15PACKAGECONFIG ??= ""
16PACKAGECONFIG[pcre] = "--enable-pcre,--disable-pcre,libpcre"
17
18FILES_${PN} += "${libdir}/thunarx-2/* \
19 ${libdir}/xfce4/panel/plugins/* \
20 ${libdir}/Thunar/[Tt]hunar* \
21 ${datadir}/dbus-1 \
22 ${datadir}/Thunar \
23 ${datadir}/xfce4/panel-plugins/*"
24
25FILES_${PN}-dbg += "${libdir}/thunarx-2/.debug/ \
26 ${libdir}/xfce4/panel/plugins/.debug/ \
27 ${libdir}/Thunar/.debug/"
28
29RRECOMMENDS_${PN} = "gvfs gvfsd-trash udisks"
diff --git a/meta-xfce/recipes-xfce/tumbler/tumbler/0001-configure-use-pkg-config-for-freetype2.patch b/meta-xfce/recipes-xfce/tumbler/tumbler/0001-configure-use-pkg-config-for-freetype2.patch
new file mode 100644
index 000000000..5ecc35e37
--- /dev/null
+++ b/meta-xfce/recipes-xfce/tumbler/tumbler/0001-configure-use-pkg-config-for-freetype2.patch
@@ -0,0 +1,45 @@
1From f5c283b1251ad005da7342e654cd2ec5ae9e5fb2 Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
3Date: Fri, 26 Sep 2014 13:44:36 +0200
4Subject: [PATCH] configure: use pkg-config for freetype2
5MIME-Version: 1.0
6Content-Type: text/plain; charset=UTF-8
7Content-Transfer-Encoding: 8bit
8
9Upstream-status: Pending
10
11Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
12---
13 acinclude.m4 | 16 +---------------
14 1 file changed, 1 insertion(+), 15 deletions(-)
15
16diff --git a/acinclude.m4 b/acinclude.m4
17index 66e79d1..4c70b00 100644
18--- a/acinclude.m4
19+++ b/acinclude.m4
20@@ -52,21 +52,7 @@ if test x"$ac_tumbler_font_thumbnailer" = x"yes"; then
21 PKG_CHECK_MODULES([GDK_PIXBUF], [gdk-pixbuf-2.0 >= 2.14],
22 [
23 dnl Check for FreeType 2.x
24- FREETYPE_LIBS=""
25- FREETYPE_CFLAGS=""
26- AC_PATH_PROG([FREETYPE_CONFIG], [freetype-config], [no])
27- if test x"$FREETYPE_CONFIG" != x"no"; then
28- AC_MSG_CHECKING([FREETYPE_CFLAGS])
29- FREETYPE_CFLAGS="`$FREETYPE_CONFIG --cflags`"
30- AC_MSG_RESULT([$FREETYPE_CFLAGS])
31-
32- AC_MSG_CHECKING([FREETYPE_LIBS])
33- FREETYPE_LIBS="`$FREETYPE_CONFIG --libs`"
34- AC_MSG_RESULT([$FREETYPE_LIBS])
35- else
36- dnl We can only build the font thumbnailer if FreeType 2.x is available
37- ac_tumbler_font_thumbnailer=no
38- fi
39+ PKG_CHECK_MODULES(FREETYPE, freetype2, , [ac_tumbler_font_thumbnailer=no])
40 AC_SUBST([FREETYPE_CFLAGS])
41 AC_SUBST([FREETYPE_LIBS])
42 ], [ac_tumbler_font_thumbnailer=no])
43--
441.8.3.1
45
diff --git a/meta-xfce/recipes-xfce/tumbler/tumbler_0.1.30.bb b/meta-xfce/recipes-xfce/tumbler/tumbler_0.1.30.bb
new file mode 100644
index 000000000..535954533
--- /dev/null
+++ b/meta-xfce/recipes-xfce/tumbler/tumbler_0.1.30.bb
@@ -0,0 +1,36 @@
1DESCRIPTION="Thumbnail service implementing the thumbnail management D-Bus specification"
2SECTION = "x11/libs"
3LICENSE = "GPLv2"
4LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
5DEPENDS = "dbus-glib freetype gdk-pixbuf poppler curl xfce4-dev-tools-native libxml2 libgsf"
6
7inherit xfce gtk-doc
8
9SRC_URI[md5sum] = "2524e39439c13238565160da0b6fed2d"
10SRC_URI[sha256sum] = "e7c20d79c830465f8b3b792893f05e8b8d5ba90aec4973e7517e07ef31537304"
11SRC_URI += "file://0001-configure-use-pkg-config-for-freetype2.patch"
12
13INSANE_SKIP_${PN} = "dev-so"
14
15do_install_append() {
16 # correct tumbler-cache-plugin.so link (see plugins/xdg-cache/Makefile.am)
17 ln -sf ${libdir}/tumbler-1/plugins/cache/tumbler-xdg-cache.so ${D}${libdir}/tumbler-1/plugins/cache/tumbler-cache-plugin.so
18}
19
20PACKAGECONFIG ??= ""
21PACKAGECONFIG[gstreamer-thumbnailer] = "--enable-gstreamer-thumbnailer,--disable-gstreamer-thumbnailer,gstreamer1.0 gstreamer1.0-plugins-base"
22
23FILES_${PN} += "${datadir}/dbus-1/services \
24 ${libdir}/tumbler-1/tumblerd \
25 ${libdir}/tumbler-1/plugins/*.so \
26 ${libdir}/tumbler-1/plugins/cache/*.so \
27"
28
29FILES_${PN}-dev += "${libdir}/tumbler-1/plugins/*.la \
30 ${libdir}/tumbler-1/plugins/cache/*.la"
31FILES_${PN}-staticdev += "${libdir}/tumbler-1/plugins/*.a \
32 ${libdir}/tumbler-1/plugins/cache/*.a"
33FILES_${PN}-dbg += "${libdir}/tumbler-1/.debug \
34 ${libdir}/tumbler-1/plugins/.debug \
35 ${libdir}/tumbler-1/plugins/cache/.debug \
36"
diff --git a/meta-xfce/recipes-xfce/xfce4-appfinder/xfce4-appfinder_4.10.1.bb b/meta-xfce/recipes-xfce/xfce4-appfinder/xfce4-appfinder_4.10.1.bb
new file mode 100644
index 000000000..f2d688f2d
--- /dev/null
+++ b/meta-xfce/recipes-xfce/xfce4-appfinder/xfce4-appfinder_4.10.1.bb
@@ -0,0 +1,10 @@
1DESCRIPTION="Xfce4 Application Finder"
2SECTION = "x11"
3LICENSE = "GPLv2"
4LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
5DEPENDS="glib-2.0 gtk+ libxfce4util libxfce4ui garcon dbus-glib xfconf"
6
7inherit xfce
8
9SRC_URI[md5sum] = "bea253956638e2df2dd950343b3b1b7b"
10SRC_URI[sha256sum] = "65ee74ffa76334d273e4c9ae501ec7f81f7de028813849f7d1441cbf7788eb77"
diff --git a/meta-xfce/recipes-xfce/xfce4-dev-tools/xfce4-dev-tools-4.11.0/xdt-autogen_dependency.patch b/meta-xfce/recipes-xfce/xfce4-dev-tools/xfce4-dev-tools-4.11.0/xdt-autogen_dependency.patch
new file mode 100644
index 000000000..8e6bd3542
--- /dev/null
+++ b/meta-xfce/recipes-xfce/xfce4-dev-tools/xfce4-dev-tools-4.11.0/xdt-autogen_dependency.patch
@@ -0,0 +1,13 @@
1diff --git a/scripts/Makefile.am b/scripts/Makefile.am
2index f2f0600..8e677dc 100644
3--- a/scripts/Makefile.am
4+++ b/scripts/Makefile.am
5@@ -10,7 +10,7 @@ bin_SCRIPTS = \
6 xdt-autogen \
7 xdt-commit
8
9-xdt-autogen: Makefile $(srcdir)/xdt-autogen.in
10+xdt-autogen: Makefile xdt-autogen.in
11 rm -f xdt-autogen xdt-autogen.gen
12 sed -e 's,\@DATADIR\@,$(datadir),g' \
13 xdt-autogen.in \
diff --git a/meta-xfce/recipes-xfce/xfce4-dev-tools/xfce4-dev-tools_4.11.0.bb b/meta-xfce/recipes-xfce/xfce4-dev-tools/xfce4-dev-tools_4.11.0.bb
new file mode 100644
index 000000000..5884ef64c
--- /dev/null
+++ b/meta-xfce/recipes-xfce/xfce4-dev-tools/xfce4-dev-tools_4.11.0.bb
@@ -0,0 +1,26 @@
1SUMMARY = "Xfce4 development tools"
2HOMEPAGE = "http://www.xfce.org"
3SECTION = "x11/libs"
4LICENSE = "GPLv2"
5LIC_FILES_CHKSUM = "file://COPYING;md5=9ac2e7cff1ddaf48b6eab6028f23ef88"
6DEPENDS = "glib-2.0"
7
8inherit autotools pkgconfig
9
10BBCLASSEXTEND = "native"
11
12SRC_URI = " \
13 http://archive.xfce.org/src/xfce/${BPN}/${@'${PV}'[0:4]}/${BPN}-${PV}.tar.bz2 \
14 file://xdt-autogen_dependency.patch \
15"
16SRC_URI[md5sum] = "36112d0256092c30bd1b47105c547edf"
17SRC_URI[sha256sum] = "2dccdd4935716a97db28464ba2403572ce03134fd7adf294e1a59eaf297e6555"
18
19do_install_append() {
20 install -d ${D}${datadir}/aclocal
21 install -m 644 ${S}/m4macros/*.m4 ${D}${datadir}/aclocal/
22}
23
24FILES_${PN} += "${datadir}/xfce4/dev-tools/m4macros/*.m4"
25
26RDEPENDS_${PN} = "bash"
diff --git a/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.10.1.bb b/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.10.1.bb
new file mode 100644
index 000000000..08703e788
--- /dev/null
+++ b/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.10.1.bb
@@ -0,0 +1,29 @@
1SUMMARY = "Xfce4 Panel"
2SECTION = "x11"
3LICENSE = "GPLv2"
4LIC_FILES_CHKSUM = "file://COPYING;md5=26a8bd75d8f8498bdbbe64a27791d4ee"
5DEPENDS = "libxfce4util garcon libxfce4ui xfconf exo gtk+ dbus cairo virtual/libx11 libxml2 libwnck"
6
7inherit xfce
8
9SRC_URI[md5sum] = "8a1f8371fc725ba00f4594c5c0f81c59"
10SRC_URI[sha256sum] = "573052ed1b65e247415f92df120c8a78f9e4152c2636d38c923f82e32b8475d6"
11
12python populate_packages_prepend() {
13 plugin_dir = d.expand('${libdir}/xfce4/panel/plugins/')
14 plugin_name = d.expand('${PN}-plugin-%s')
15 do_split_packages(d, plugin_dir, '^lib(.*).so$', plugin_name,
16 '${PN} plugin for %s', extra_depends='', prepend=True,
17 aux_files_pattern=['${datadir}/xfce4/panel/plugins/%s.desktop',
18 '${sysconfdir}/xdg/xfce/panel/%s-*',
19 '${datadir}/icons/hicolor/48x48/apps/*-%s.png',
20 '${bindir}/*%s*'])
21}
22
23PACKAGES_DYNAMIC += "^${PN}-plugin-.*"
24
25FILES_${PN} += "${libdir}/xfce4/panel/migrate \
26 ${libdir}/xfce4/panel/wrapper"
27
28FILES_${PN}-dbg += "${libdir}/xfce4/panel/plugins/.debug \
29"
diff --git a/meta-xfce/recipes-xfce/xfce4-power-manager/xfce4-power-manager_1.4.1.bb b/meta-xfce/recipes-xfce/xfce4-power-manager/xfce4-power-manager_1.4.1.bb
new file mode 100644
index 000000000..a4aaf668d
--- /dev/null
+++ b/meta-xfce/recipes-xfce/xfce4-power-manager/xfce4-power-manager_1.4.1.bb
@@ -0,0 +1,42 @@
1SUMMARY = "Power manager for the Xfce desktop environment"
2HOMEPAGE = "http://goodies.xfce.org/projects/applications/xfce4-power-manager"
3SECTION = "x11"
4
5LICENSE = "GPLv2+"
6LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
7
8inherit xfce
9
10DEPENDS = "gtk+ glib-2.0 dbus-glib xfconf libxfce4ui libxfce4util libnotify \
11 libxrandr virtual/libx11 libxext xfce4-panel"
12
13SRC_URI[md5sum] = "808a2630487d75e6eae915e464b7fda3"
14SRC_URI[sha256sum] = "16a9e9bf3e0f8480d05b248817fbdc59e701e9161d3d0c7e53f3de28ed491f58"
15
16EXTRA_OECONF = " \
17 --enable-network-manager \
18 --enable-panel-plugins \
19"
20
21PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES','systemd','systemd','',d)}"
22PACKAGECONFIG[systemd] = "--enable-polkit, --disable-polkit, polkit"
23
24PACKAGES += "xfce4-powermanager-plugin"
25
26FILES_${PN} += " \
27 ${datadir}/polkit-1 \
28 ${datadir}/appdata \
29"
30
31FILES_xfce4-powermanager-plugin = " \
32 ${libdir}/xfce4 \
33 ${datadir}/xfce4 \
34"
35
36RDEPENDS_xfce4-powermanager-plugin = "${PN}"
37RDEPENDS_${PN} = "networkmanager udisks upower ${@base_contains('DISTRO_FEATURES','systemd','','consolekit',d)}"
38
39# xfce4-brightness-plugin was replaced by xfce4-powermanager-plugin
40RPROVIDES_xfce4-powermanager-plugin += "xfce4-brightness-plugin"
41RREPLACES_xfce4-powermanager-plugin += "xfce4-brightness-plugin"
42RCONFLICTS_xfce4-powermanager-plugin += "xfce4-brightness-plugin"
diff --git a/meta-xfce/recipes-xfce/xfce4-session/xfce4-session/0001-configure.in-hard-code-path-to-iceauth.patch b/meta-xfce/recipes-xfce/xfce4-session/xfce4-session/0001-configure.in-hard-code-path-to-iceauth.patch
new file mode 100644
index 000000000..d619cde6c
--- /dev/null
+++ b/meta-xfce/recipes-xfce/xfce4-session/xfce4-session/0001-configure.in-hard-code-path-to-iceauth.patch
@@ -0,0 +1,40 @@
1From a629b051f4e5462150c77b95574bbc7a33bc9666 Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
3Date: Mon, 31 Dec 2012 16:35:29 +0100
4Subject: [PATCH] configure.ac: hard code path to iceauth
5MIME-Version: 1.0
6Content-Type: text/plain; charset=UTF-8
7Content-Transfer-Encoding: 8bit
8
9workaround AC_PATH_PROG which was meant to find programs required at build-time
10not at run-time.
11
12Upstream-Status: Inappropriate [config]
13
14Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
15---
16 configure.ac | 8 +-------
17 1 files changed, 1 insertions(+), 7 deletions(-)
18
19diff --git a/configure.ac b/configure.ac
20index 3cf3510..505e744 100644
21--- a/configure.ac
22+++ b/configure.ac
23@@ -111,13 +111,7 @@ XDT_FEATURE_DEBUG([xfsm_debug_default])
24 dnl Check for linker optimizations
25 XDT_FEATURE_LINKER_OPTS()
26
27-dnl Check for iceauth
28-AC_PATH_PROG([ICEAUTH], [iceauth])
29-if test x"$ICEAUTH" != x""; then
30- AC_DEFINE_UNQUOTED([ICEAUTH_CMD], ["$ICEAUTH"], [path to iceauth])
31-else
32- AC_MSG_ERROR([iceauth missing, please check your X11 installation])
33-fi
34+AC_DEFINE_UNQUOTED([ICEAUTH_CMD], ["$bindir/iceauth"], [path to iceauth])
35
36 dnl Find a location for the session desktop file
37 AC_MSG_CHECKING([what xsession-prefix to use])
38--
391.7.4.4
40
diff --git a/meta-xfce/recipes-xfce/xfce4-session/xfce4-session_4.10.1.bb b/meta-xfce/recipes-xfce/xfce4-session/xfce4-session_4.10.1.bb
new file mode 100644
index 000000000..74289fb35
--- /dev/null
+++ b/meta-xfce/recipes-xfce/xfce4-session/xfce4-session_4.10.1.bb
@@ -0,0 +1,36 @@
1SUMMARY = "xfce4-session is a session manager for Xfce 4 Desktop Environment"
2SECTION = "x11"
3LICENSE = "GPLv2"
4LIC_FILES_CHKSUM = "file://COPYING;md5=9ac2e7cff1ddaf48b6eab6028f23ef88"
5DEPENDS = "virtual/libx11 libsm libxfce4util libxfce4ui gtk+ libwnck dbus dbus-glib xfconf"
6RDEPENDS_${PN} = "netbase xinit dbus-x11 iceauth upower"
7
8inherit xfce update-alternatives
9
10SRC_URI[md5sum] = "1757657c1d590aa6274b7b7cbba33352"
11SRC_URI[sha256sum] = "0154fabdc398798c3445374ccc52a2f5bcb2d867fc94bc54114395b24f9cfc83"
12SRC_URI += " \
13 file://0001-configure.in-hard-code-path-to-iceauth.patch \
14"
15
16ALTERNATIVE_${PN} = "x-session-manager"
17ALTERNATIVE_TARGET[x-session-manager] = "${bindir}/xfce4-session"
18ALTERNATIVE_PRIORITY_${PN} = "100"
19
20# protect from frightening message that xfce might not work correctly
21pkg_postinst_${PN} () {
22 echo 127.0.0.1 ${MACHINE} >> /etc/hosts
23}
24
25PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES','systemd','systemd','consolekit',d)}"
26PACKAGECONFIG[systemd] = "--enable-systemd, --disable-systemd, polkit, systemd"
27PACKAGECONFIG[consolekit] = ",,,consolekit"
28
29FILES_${PN} += "${libdir}/xfce4/*/*/*.so \
30 ${libdir}/xfce4/session/*-*-* \
31 ${datadir}/xsessions \
32 ${datadir}/themes/Default/balou/*"
33
34FILES_${PN}-dbg += "${libdir}/xfce4/*/*/.debug"
35
36FILES_${PN}-staticdev += "${libdir}/xfce4/*/*/*.*a"
diff --git a/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings/0001-xsettings.xml-remove-trouble-causing-comment.patch b/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings/0001-xsettings.xml-remove-trouble-causing-comment.patch
new file mode 100644
index 000000000..f926a93d4
--- /dev/null
+++ b/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings/0001-xsettings.xml-remove-trouble-causing-comment.patch
@@ -0,0 +1,31 @@
1From a84a7a6537544cdf56e1d4cad47a4cf002964039 Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
3Date: Sun, 20 May 2012 15:20:08 +0200
4Subject: [PATCH 1/2] xsettings.xml: remove trouble causing comment
5MIME-Version: 1.0
6Content-Type: text/plain; charset=UTF-8
7Content-Transfer-Encoding: 8bit
8Upstream-Status: Pending
9
10
11Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
12---
13 xfsettingsd/xsettings.xml | 5 -----
14 1 files changed, 0 insertions(+), 5 deletions(-)
15
16diff --git a/xfsettingsd/xsettings.xml b/xfsettingsd/xsettings.xml
17index 8f9e2eb..49a4c1e 100644
18--- a/xfsettingsd/xsettings.xml
19+++ b/xfsettingsd/xsettings.xml
20@@ -1,8 +1,3 @@
21-<!--
22- Default values for the X settings registry as described in
23- http://www.freedesktop.org/wiki/Specifications/XSettingsRegistry
24--->
25-
26 <?xml version="1.0" encoding="UTF-8"?>
27 <channel name="xsettings" version="1.0">
28 <property name="Net" type="empty">
29--
301.7.4.4
31
diff --git a/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings/0002-xsettings.xml-Set-default-themes.patch b/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings/0002-xsettings.xml-Set-default-themes.patch
new file mode 100644
index 000000000..498f8d00d
--- /dev/null
+++ b/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings/0002-xsettings.xml-Set-default-themes.patch
@@ -0,0 +1,32 @@
1From 071a390ba09a8a412f73d295be81a805804a1f24 Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
3Date: Sun, 20 May 2012 15:22:09 +0200
4Subject: [PATCH 2/2] xsettings.xml: Set default themes
5MIME-Version: 1.0
6Content-Type: text/plain; charset=UTF-8
7Content-Transfer-Encoding: 8bit
8Upstram status: Inappropriate [configuration]
9
10Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
11---
12 xfsettingsd/xsettings.xml | 4 ++--
13 1 files changed, 2 insertions(+), 2 deletions(-)
14
15diff --git a/xfsettingsd/xsettings.xml b/xfsettingsd/xsettings.xml
16index 49a4c1e..5ec94e9 100644
17--- a/xfsettingsd/xsettings.xml
18+++ b/xfsettingsd/xsettings.xml
19@@ -1,8 +1,8 @@
20 <?xml version="1.0" encoding="UTF-8"?>
21 <channel name="xsettings" version="1.0">
22 <property name="Net" type="empty">
23- <property name="ThemeName" type="empty"/>
24- <property name="IconThemeName" type="empty"/>
25+ <property name="ThemeName" type="string" value="Xfce"/>
26+ <property name="IconThemeName" type="string" value="gnome"/>
27 <property name="DoubleClickTime" type="int" value="250"/>
28 <property name="DoubleClickDistance" type="int" value="5"/>
29 <property name="DndDragThreshold" type="int" value="8"/>
30--
311.7.4.4
32
diff --git a/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings/touchscreen/0001-add-cursor-theme-xfce-invisible.patch b/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings/touchscreen/0001-add-cursor-theme-xfce-invisible.patch
new file mode 100644
index 000000000..5de14fc8e
--- /dev/null
+++ b/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings/touchscreen/0001-add-cursor-theme-xfce-invisible.patch
@@ -0,0 +1,248 @@
1From 4be18d7c8f2ac72b402dcbe8385922638fcd0a89 Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
3Date: Tue, 30 Oct 2012 13:14:11 +0100
4Subject: [PATCH 1/5] add cursor-theme "xfce-invisible"
5MIME-Version: 1.0
6Content-Type: text/plain; charset=UTF-8
7Content-Transfer-Encoding: 8bit
8
9Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
10Upstream-Status: Submitted [1]
11[1] https://bugzilla.xfce.org/show_bug.cgi?id=9474
12---
13 Makefile.am | 1 +
14 configure.ac.in | 2 +
15 cursors/Makefile.am | 178 +++++++++++++++++++++++++++++++++++++++++++++++++++
16 cursors/index.theme | 3 +
17 6 files changed, 184 insertions(+), 0 deletions(-)
18 create mode 100644 cursors/Makefile.am
19 create mode 100644 cursors/index.theme
20
21diff --git a/Makefile.am b/Makefile.am
22index 3060bac..3f0dd1d 100644
23--- a/Makefile.am
24+++ b/Makefile.am
25@@ -1,6 +1,7 @@
26 # $Id$
27
28 SUBDIRS = \
29+ cursors \
30 dialogs \
31 xfce4-settings-manager \
32 xfce4-settings-editor \
33diff --git a/configure.ac.in b/configure.ac.in
34index 0e7907d..1378049 100644
35--- a/configure.ac.in
36+++ b/configure.ac.in
37@@ -157,6 +157,7 @@ dnl *** Optional support for Xcursor ***
38 dnl ************************************
39 XDT_CHECK_OPTIONAL_PACKAGE([XCURSOR], [xcursor], [1.1.0],
40 [xcursor], [Cursor themes support])
41+AC_SUBST(cursordir, "\${datadir}/icons/xfce-invisible/cursors")
42
43 dnl ****************************************
44 dnl *** Optional support for Libxklavier ***
45@@ -232,6 +233,7 @@ AC_SUBST([PLATFORM_LDFLAGS])
46 AC_OUTPUT([
47 Makefile
48 po/Makefile.in
49+cursors/Makefile
50 dialogs/Makefile
51 dialogs/appearance-settings/Makefile
52 dialogs/accessibility-settings/Makefile
53diff --git a/cursors/Makefile.am b/cursors/Makefile.am
54new file mode 100644
55index 0000000..c9e5a9f
56--- /dev/null
57+++ b/cursors/Makefile.am
58@@ -0,0 +1,178 @@
59+CURSOR_NAMES_INVISIBLE = \
60+ 00008160000006810000408080010102 \
61+ 028006030e0e7ebffc7f7070c0600140 \
62+ 2870a09082c103050810ffdffffe0204 \
63+ 03b6e0fcb3499374a867c041f52298f0 \
64+ 0876e1c15ff2fc01f906f1c363074c0f \
65+ 08ffe1cb5fe6fc01f906f1c063814ccf \
66+ 08ffe1e65f80fcfdf9fff11263e74c48 \
67+ 1001208387f90000800003000700f6ff \
68+ 1081e37283d90000800003c07f3ef6bf \
69+ 14fef782d02440884392942c11205230 \
70+ 208530c400c041818281048008011002 \
71+ 3085a0e285430894940527032f8b26df \
72+ 4498f0e0c1937ffe01fd06f973665830 \
73+ 5aca4d189052212118709018842178c0 \
74+ 5c6cd98b3f3ebcb1f9c7f1c204630408 \
75+ 6407b0e94181790501fd1e167b474872 \
76+ 640fb0e74195791501fd1ed57b41487f \
77+ 9081237383d90e509aa00f00170e968f \
78+ 9d800788f1b08800ae810202380a0822 \
79+ a2a266d0498c3104214a47bd64ab0fc8 \
80+ b66166c04f8c3109214a4fbd64a50fc8 \
81+ c7088f0f3e6c8088236ef8e1e3e70000 \
82+ d9ce0ab605698f320427677b458ad60b \
83+ e29285e634086352946a0e7090d73106 \
84+ f41c0e382c94c0958e07017e42b00462 \
85+ f41c0e382c97c0938e07017e42800402 \
86+ fcf1c3c7cd4491d801f1e1c78f100000 \
87+ fcf21c00b30f7e3f83fe0dfd12e71cff \
88+ alias \
89+ all-scroll \
90+ arrow \
91+ base_arrow_down \
92+ base_arrow_up \
93+ based_arrow_down \
94+ based_arrow_up \
95+ bd_double_arrow \
96+ boat \
97+ bottom_left_corner \
98+ bottom_right_corner \
99+ bottom_side \
100+ bottom_tee \
101+ cell \
102+ center_ptr \
103+ circle \
104+ closedhand \
105+ color-picker \
106+ col-resize \
107+ copy \
108+ cross \
109+ cross_reverse \
110+ crossed_circle \
111+ crosshair \
112+ default \
113+ diamond_cross \
114+ dnd-ask \
115+ dnd-copy \
116+ dnd-link \
117+ dnd-move \
118+ dnd-no-drop \
119+ dnd-none \
120+ dot \
121+ dot_box_mask \
122+ dotbox \
123+ double_arrow \
124+ down_arrow \
125+ draft_large \
126+ draft_small \
127+ draped_box \
128+ e-resize \
129+ ew-resize \
130+ exchange \
131+ fd_double_arrow \
132+ fleur \
133+ forbidden \
134+ grab \
135+ grabbing \
136+ gumby \
137+ h_double_arrow \
138+ hand \
139+ hand1 \
140+ hand2 \
141+ help \
142+ ibeam \
143+ icon \
144+ left_arrow \
145+ left_ptr \
146+ left_side \
147+ left_tee \
148+ link \
149+ ll_angle \
150+ lr_angle \
151+ move \
152+ ne-resize \
153+ nesw-resize \
154+ no-drop \
155+ not-allowed \
156+ n-resize \
157+ ns-resize \
158+ nw-resize \
159+ nwse-resize \
160+ openhand \
161+ pencil \
162+ pirate \
163+ plus \
164+ pointer \
165+ pointing_hand \
166+ question_arrow \
167+ right_arrow \
168+ right_ptr \
169+ right_side \
170+ right_tee \
171+ row-resize \
172+ sailboat \
173+ sb_down_arrow \
174+ sb_h_double_arrow \
175+ sb_left_arrow \
176+ sb_right_arrow \
177+ sb_up_arrow \
178+ sb_v_double_arrow \
179+ se-resize \
180+ size_all \
181+ size_bdiag \
182+ size_fdiag \
183+ size_hor \
184+ size_ver \
185+ sizing \
186+ shuttle \
187+ split_h \
188+ split_v \
189+ s-resize \
190+ sw-resize \
191+ target \
192+ tcross \
193+ text \
194+ top_left_arrow \
195+ top_left_corner \
196+ top_right_corner \
197+ top_side \
198+ top_tee \
199+ trek \
200+ ul_angle \
201+ up_arrow \
202+ ur_angle \
203+ vertical-text \
204+ v_double_arrow \
205+ whats_this \
206+ w-resize \
207+ X_cursor \
208+ xterm \
209+ zoom-in \
210+ zoom-out
211+
212+CURSOR_NAMES = \
213+ 3ecb610c1bf2410f44200f48c40d3599 \
214+ 08e8e1c95fe2fc01f976f1e063a24ccd \
215+ 00000000000000020006000e7e9ffc3f \
216+ half-busy \
217+ left_ptr_watch \
218+ progress \
219+ watch
220+
221+
222+EXTRA_DIST = invisible wait index.theme
223+
224+install-data-local:
225+ $(mkinstalldirs) $(DESTDIR)@cursordir@;
226+ $(INSTALL_DATA) $(srcdir)/index.theme $(DESTDIR)/@cursordir@/..
227+ $(INSTALL_DATA) $(srcdir)/invisible $(srcdir)/wait $(DESTDIR)@cursordir@/
228+ for CURSOR in $(CURSOR_NAMES_INVISIBLE); do \
229+ echo '-- Installing invisible cursor '$$CURSOR; \
230+ ln -s $(srcdir)/invisible $(DESTDIR)@cursordir@/$$CURSOR; \
231+ done
232+ for CURSOR in $(CURSOR_NAMES); do \
233+ echo '-- Installing visible cursor '$$CURSOR; \
234+ ln -s $(srcdir)/wait $(DESTDIR)@cursordir@/$$CURSOR; \
235+ done
236+
237diff --git a/cursors/index.theme b/cursors/index.theme
238new file mode 100644
239index 0000000..0c48458
240--- /dev/null
241+++ b/cursors/index.theme
242@@ -0,0 +1,3 @@
243+[Icon Theme]
244+Name=xfce-invisible
245+Example=invisible
246--
2471.7.6.5
248
diff --git a/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings/touchscreen/0002-mouse-settings-dialog-add-touchscreen-pointer-option.patch b/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings/touchscreen/0002-mouse-settings-dialog-add-touchscreen-pointer-option.patch
new file mode 100644
index 000000000..cf58f73d8
--- /dev/null
+++ b/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings/touchscreen/0002-mouse-settings-dialog-add-touchscreen-pointer-option.patch
@@ -0,0 +1,152 @@
1From 7c87f8f202a7743a18b8d7fdab5c66a3d54badd5 Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
3Date: Thu, 1 Nov 2012 21:01:59 +0100
4Subject: [PATCH 2/5] mouse settings dialog: add touchscreen-pointer option
5MIME-Version: 1.0
6Content-Type: text/plain; charset=UTF-8
7Content-Transfer-Encoding: 8bit
8
9
10Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
11Upstream-Status: Submitted [1]
12[1] https://bugzilla.xfce.org/show_bug.cgi?id=9474
13---
14 dialogs/mouse-settings/main.c | 56 +++++++++++++++++++++++++++++
15 dialogs/mouse-settings/mouse-dialog.glade | 28 ++++++++++++++-
16 3 files changed, 422 insertions(+), 329 deletions(-)
17
18diff --git a/dialogs/mouse-settings/main.c b/dialogs/mouse-settings/main.c
19index f4b475b..ff08219 100644
20--- a/dialogs/mouse-settings/main.c
21+++ b/dialogs/mouse-settings/main.c
22@@ -956,6 +956,50 @@ mouse_settings_device_set_enabled (GtkToggleButton *button,
23
24
25
26+#ifdef HAVE_XCURSOR
27+static void
28+mouse_settings_on_touchscreen_pointer (GtkToggleButton *button,
29+ GtkBuilder *builder)
30+{
31+ gchar *name = NULL;
32+ gchar *prop;
33+ gboolean enabled;
34+
35+ if (locked > 0)
36+ return;
37+
38+ if (mouse_settings_device_get_selected (builder, NULL, &name))
39+ {
40+ enabled = gtk_toggle_button_get_active (button);
41+ prop = g_strconcat ("/", name, "/TouchscreenPointer", NULL);
42+ xfconf_channel_set_bool (pointers_channel, prop, enabled);
43+ g_free (prop);
44+ }
45+ g_free (name);
46+}
47+
48+static void
49+mouse_settings_set_touchscreen_pointer (GtkBuilder *builder)
50+{
51+ gchar *name = NULL;
52+ gchar *prop;
53+ gboolean enabled;
54+ GtkToggleButton *button;
55+
56+ if (mouse_settings_device_get_selected (builder, NULL, &name))
57+ {
58+ button = GTK_TOGGLE_BUTTON (gtk_builder_get_object (builder, "touchscreen-pointer"));
59+ prop = g_strconcat ("/", name, "/TouchscreenPointer", NULL);
60+ enabled = xfconf_channel_get_bool (pointers_channel, prop, FALSE);
61+ gtk_toggle_button_set_active (button, enabled);
62+ g_free (prop);
63+ }
64+ g_free (name);
65+}
66+#endif
67+
68+
69+
70 static void
71 mouse_settings_device_selection_changed (GtkBuilder *builder)
72 {
73@@ -1007,6 +1051,9 @@ mouse_settings_device_selection_changed (GtkBuilder *builder)
74 /* get the selected item */
75 if (mouse_settings_device_get_selected (builder, &device, NULL))
76 {
77+#ifdef HAVE_XCURSOR
78+ mouse_settings_set_touchscreen_pointer (builder);
79+#endif
80 gdk_error_trap_push ();
81 device_info = XListInputDevices (xdisplay, &ndevices);
82 if (gdk_error_trap_pop () == 0 && device_info != NULL)
83@@ -1735,11 +1782,20 @@ main (gint argc, gchar **argv)
84 /* populate the themes treeview */
85 mouse_settings_themes_populate_store (builder);
86
87+ /* connect & fill touchscreen-pointer */
88+ object = gtk_builder_get_object (builder, "touchscreen-pointer");
89+ g_signal_connect (G_OBJECT (object), "toggled",
90+ G_CALLBACK (mouse_settings_on_touchscreen_pointer), builder);
91+ mouse_settings_set_touchscreen_pointer (builder);
92+
93 /* connect the cursor size in the cursor tab */
94 object = gtk_builder_get_object (builder, "theme-cursor-size");
95 xfconf_g_property_bind (xsettings_channel, "/Gtk/CursorThemeSize",
96 G_TYPE_INT, G_OBJECT (object), "value");
97 #else
98+ /* hide touchscreen-pointer */
99+ object = gtk_builder_get_object (builder, "touchscreen-pointer");
100+ gtk_widget_hide (GTK_WIDGET (object));
101 /* hide the themes tab */
102 object = gtk_builder_get_object (builder, "themes-hbox");
103 gtk_widget_hide (GTK_WIDGET (object));
104diff --git a/dialogs/mouse-settings/mouse-dialog.glade b/dialogs/mouse-settings/mouse-dialog.glade
105index d3aab0d..573c551 100644
106--- a/dialogs/mouse-settings/mouse-dialog.glade
107+++ b/dialogs/mouse-settings/mouse-dialog.glade
108@@ -323,7 +323,7 @@
109 <property name="visible">True</property>
110 <property name="can_focus">False</property>
111 <property name="border_width">6</property>
112- <property name="n_rows">3</property>
113+ <property name="n_rows">4</property>
114 <property name="n_columns">2</property>
115 <property name="column_spacing">12</property>
116 <property name="row_spacing">6</property>
117@@ -415,6 +415,32 @@
118 <property name="bottom_attach">3</property>
119 </packing>
120 </child>
121+ <child>
122+ <object class="GtkAlignment" id="alignment9">
123+ <property name="visible">True</property>
124+ <property name="can_focus">False</property>
125+ <property name="xalign">0</property>
126+ <property name="xscale">0</property>
127+ <property name="yscale">0</property>
128+ <child>
129+ <object class="GtkCheckButton" id="touchscreen-pointer">
130+ <property name="label" translatable="yes">_Touchscreen pointer</property>
131+ <property name="use_action_appearance">False</property>
132+ <property name="visible">True</property>
133+ <property name="can_focus">True</property>
134+ <property name="receives_default">False</property>
135+ <property name="tooltip_text" translatable="yes">When selected, no mouse pointer is displayed for this device and gtk TouchscreenMode is activated</property>
136+ <property name="use_underline">True</property>
137+ <property name="draw_indicator">True</property>
138+ </object>
139+ </child>
140+ </object>
141+ <packing>
142+ <property name="right_attach">2</property>
143+ <property name="top_attach">3</property>
144+ <property name="bottom_attach">4</property>
145+ </packing>
146+ </child>
147 </object>
148 </child>
149 </object>
150--
1511.7.6.5
152
diff --git a/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings/touchscreen/0003-XfcePointersHelper-gets-a-pointer-to-XfceXSettingsHe.patch b/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings/touchscreen/0003-XfcePointersHelper-gets-a-pointer-to-XfceXSettingsHe.patch
new file mode 100644
index 000000000..eff052b68
--- /dev/null
+++ b/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings/touchscreen/0003-XfcePointersHelper-gets-a-pointer-to-XfceXSettingsHe.patch
@@ -0,0 +1,137 @@
1From a3b0218137c8796fbb7bd6d852dc8ab5895a65cb Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
3Date: Sat, 3 Nov 2012 18:32:01 +0100
4Subject: [PATCH 3/5] XfcePointersHelper gets a pointer to XfceXSettingsHelper
5MIME-Version: 1.0
6Content-Type: text/plain; charset=UTF-8
7Content-Transfer-Encoding: 8bit
8
9
10Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
11Upstream-Status: Submitted [1]
12[1] https://bugzilla.xfce.org/show_bug.cgi?id=9474
13---
14 xfsettingsd/main.c | 2 +-
15 xfsettingsd/pointers.c | 55 ++++++++++++++++++++++++++++++++++++++++++++++++
16 2 files changed, 56 insertions(+), 1 deletions(-)
17
18diff --git a/xfsettingsd/main.c b/xfsettingsd/main.c
19index 55c4183..99982f7 100644
20--- a/xfsettingsd/main.c
21+++ b/xfsettingsd/main.c
22@@ -273,7 +273,7 @@ main (gint argc, gchar **argv)
23 #ifdef HAVE_XRANDR
24 displays_helper = g_object_new (XFCE_TYPE_DISPLAYS_HELPER, NULL);
25 #endif
26- pointer_helper = g_object_new (XFCE_TYPE_POINTERS_HELPER, NULL);
27+ pointer_helper = g_object_new (XFCE_TYPE_POINTERS_HELPER, "xsettings-helper", xsettings_helper, NULL);
28 keyboards_helper = g_object_new (XFCE_TYPE_KEYBOARDS_HELPER, NULL);
29 accessibility_helper = g_object_new (XFCE_TYPE_ACCESSIBILITY_HELPER, NULL);
30 shortcuts_helper = g_object_new (XFCE_TYPE_KEYBOARD_SHORTCUTS_HELPER, NULL);
31diff --git a/xfsettingsd/pointers.c b/xfsettingsd/pointers.c
32index e7192e7..62ebc60 100644
33--- a/xfsettingsd/pointers.c
34+++ b/xfsettingsd/pointers.c
35@@ -47,8 +47,16 @@
36
37 #define XFCONF_TYPE_G_VALUE_ARRAY (dbus_g_type_get_collection ("GPtrArray", G_TYPE_VALUE))
38
39+/* Property identifiers */
40+enum
41+{
42+ PROP_0,
43+ PROP_XSETTINGS_HELPER,
44+};
45+
46
47
48+static void xfce_pointers_helper_constructed (GObject *object);
49 static void xfce_pointers_helper_finalize (GObject *object);
50 static void xfce_pointers_helper_syndaemon_stop (XfcePointersHelper *helper);
51 static void xfce_pointers_helper_syndaemon_check (XfcePointersHelper *helper);
52@@ -63,6 +71,10 @@ static GdkFilterReturn xfce_pointers_helper_event_filter (GdkXEvent
53 GdkEvent *gdk_event,
54 gpointer user_data);
55 #endif
56+static void xfce_pointers_helper_set_property (GObject *object,
57+ guint prop_id,
58+ const GValue *value,
59+ GParamSpec *pspec);
60
61
62
63@@ -75,6 +87,8 @@ struct _XfcePointersHelper
64 {
65 GObject __parent__;
66
67+ GObject *xsettings_helper;
68+
69 /* xfconf channel */
70 XfconfChannel *channel;
71
72@@ -108,7 +122,18 @@ xfce_pointers_helper_class_init (XfcePointersHelperClass *klass)
73 {
74 GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
75
76+ gobject_class->constructed = xfce_pointers_helper_constructed;
77 gobject_class->finalize = xfce_pointers_helper_finalize;
78+ gobject_class->set_property = xfce_pointers_helper_set_property;
79+
80+ g_object_class_install_property (gobject_class,
81+ PROP_XSETTINGS_HELPER,
82+ g_param_spec_object ("xsettings-helper",
83+ "xsettings-helper",
84+ "xsettings-helper",
85+ G_TYPE_OBJECT,
86+ G_PARAM_CONSTRUCT_ONLY |
87+ G_PARAM_WRITABLE));
88 }
89
90
91@@ -116,6 +141,15 @@ xfce_pointers_helper_class_init (XfcePointersHelperClass *klass)
92 static void
93 xfce_pointers_helper_init (XfcePointersHelper *helper)
94 {
95+ /* All initialisation is done at xfce_pointers_helper_constructed */
96+}
97+
98+
99+
100+static void
101+xfce_pointers_helper_constructed (GObject *object)
102+{
103+ XfcePointersHelper *helper = XFCE_POINTERS_HELPER (object);
104 XExtensionVersion *version = NULL;
105 Display *xdisplay;
106 #ifdef DEVICE_HOTPLUGGING
107@@ -181,6 +215,27 @@ xfce_pointers_helper_init (XfcePointersHelper *helper)
108
109
110 static void
111+xfce_pointers_helper_set_property (GObject *object,
112+ guint prop_id,
113+ const GValue *value,
114+ GParamSpec *pspec)
115+{
116+ XfcePointersHelper *helper = XFCE_POINTERS_HELPER (object);
117+
118+ switch (prop_id)
119+ {
120+ case PROP_XSETTINGS_HELPER:
121+ helper->xsettings_helper = g_value_get_object (value);
122+ break;
123+ default:
124+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
125+ break;
126+ }
127+}
128+
129+
130+
131+static void
132 xfce_pointers_helper_finalize (GObject *object)
133 {
134 xfce_pointers_helper_syndaemon_stop (XFCE_POINTERS_HELPER (object));
135--
1361.7.6.5
137
diff --git a/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings/touchscreen/0004-XfceXSettingsHelper-gets-a-property-touchscreen-poin.patch b/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings/touchscreen/0004-XfceXSettingsHelper-gets-a-property-touchscreen-poin.patch
new file mode 100644
index 000000000..cacb5c3a1
--- /dev/null
+++ b/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings/touchscreen/0004-XfceXSettingsHelper-gets-a-property-touchscreen-poin.patch
@@ -0,0 +1,249 @@
1From 878fe1287a4c73f67dd2b51d1d7c450097aeffa7 Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
3Date: Thu, 20 Dec 2012 16:49:18 +0100
4Subject: [PATCH 4/5] XfceXSettingsHelper gets a property
5 "touchscreen-pointer"
6MIME-Version: 1.0
7Content-Type: text/plain; charset=UTF-8
8Content-Transfer-Encoding: 8bit
9
10When this property is set, it overrides overrides cursor theme to
11"xfce-invisible" and sets /Gtk/TouchscreenMode.
12
13Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
14Upstream-Status: Submitted [1]
15[1] https://bugzilla.xfce.org/show_bug.cgi?id=9474
16---
17 xfsettingsd/xsettings.c | 122 ++++++++++++++++++++++++++++++++++++++++++++-
18 xfsettingsd/xsettings.xml | 1 +
19 2 files changed, 122 insertions(+), 1 deletions(-)
20
21diff --git a/xfsettingsd/xsettings.c b/xfsettingsd/xsettings.c
22index 7657465..76bcea1 100644
23--- a/xfsettingsd/xsettings.c
24+++ b/xfsettingsd/xsettings.c
25@@ -73,6 +73,15 @@ typedef struct _XfceXSettingsNotify XfceXSettingsNotify;
26
27
28
29+/* Property identifiers */
30+enum
31+{
32+ PROP_0,
33+ PROP_TOUCHSCREEN_POINTER,
34+};
35+
36+
37+
38 static void xfce_xsettings_helper_finalize (GObject *object);
39 static void xfce_xsettings_helper_fc_free (XfceXSettingsHelper *helper);
40 static gboolean xfce_xsettings_helper_fc_init (gpointer data);
41@@ -86,6 +95,10 @@ static void xfce_xsettings_helper_load (XfceXSettingsHelper *helper)
42 static void xfce_xsettings_helper_screen_free (XfceXSettingsScreen *screen);
43 static void xfce_xsettings_helper_notify_xft (XfceXSettingsHelper *helper);
44 static void xfce_xsettings_helper_notify (XfceXSettingsHelper *helper);
45+static void xfce_xsettings_helper_set_property (GObject *object,
46+ guint prop_id,
47+ const GValue *value,
48+ GParamSpec *pspec);
49
50
51
52@@ -120,6 +133,13 @@ struct _XfceXSettingsHelper
53 GPtrArray *fc_monitors;
54 guint fc_notify_timeout_id;
55 guint fc_init_id;
56+
57+ /* keeper for touchscreen cursor theme / last set */
58+ GValue *touchscreen_cursor_value;
59+ GValue *lastset_cursor_value;
60+
61+ /* properties */
62+ gboolean touchscreen_pointer;
63 };
64
65 struct _XfceXSetting
66@@ -157,6 +177,16 @@ xfce_xsettings_helper_class_init (XfceXSettingsHelperClass *klass)
67
68 gobject_class = G_OBJECT_CLASS (klass);
69 gobject_class->finalize = xfce_xsettings_helper_finalize;
70+ gobject_class->set_property = xfce_xsettings_helper_set_property;
71+
72+ g_object_class_install_property (gobject_class,
73+ PROP_TOUCHSCREEN_POINTER,
74+ g_param_spec_boolean ("touchscreen-pointer",
75+ "touchscreen-pointer",
76+ "touchscreen-pointer",
77+ FALSE,
78+ G_PARAM_WRITABLE |
79+ G_PARAM_STATIC_STRINGS));
80 }
81
82
83@@ -169,6 +199,13 @@ xfce_xsettings_helper_init (XfceXSettingsHelper *helper)
84 helper->settings = g_hash_table_new_full (g_str_hash, g_str_equal,
85 g_free, xfce_xsettings_helper_setting_free);
86
87+ helper->lastset_cursor_value = g_new0 (GValue, 1);
88+ g_value_init(helper->lastset_cursor_value, G_TYPE_STRING);
89+ g_value_set_string (helper->lastset_cursor_value, "default");
90+ helper->touchscreen_cursor_value = g_new0 (GValue, 1);
91+ g_value_init(helper->touchscreen_cursor_value, G_TYPE_STRING);
92+ g_value_set_string (helper->touchscreen_cursor_value, "xfce-invisible");
93+
94 xfce_xsettings_helper_load (helper);
95
96 g_signal_connect (G_OBJECT (helper->channel), "property-changed",
97@@ -202,6 +239,9 @@ xfce_xsettings_helper_finalize (GObject *object)
98
99 g_hash_table_destroy (helper->settings);
100
101+ g_free (helper->lastset_cursor_value);
102+ g_free (helper->touchscreen_cursor_value);
103+
104 (*G_OBJECT_CLASS (xfce_xsettings_helper_parent_class)->finalize) (object);
105 }
106
107@@ -387,6 +427,61 @@ xfce_xsettings_helper_notify_xft_idle (gpointer data)
108
109
110
111+static void
112+xfce_xsettings_helper_set_property (GObject *object,
113+ guint prop_id,
114+ const GValue *value,
115+ GParamSpec *pspec)
116+{
117+ gboolean touchscreen_pointer;
118+ XfceXSetting *setting_theme, *setting_touchscreen;
119+ XfceXSettingsHelper *helper = XFCE_XSETTINGS_HELPER (object);
120+ GtkSettings *gtk_settings;
121+ GValue bool_val = { 0, };
122+
123+ switch (prop_id)
124+ {
125+ case PROP_TOUCHSCREEN_POINTER:
126+ touchscreen_pointer = g_value_get_boolean (value);
127+ if (helper->touchscreen_pointer != touchscreen_pointer)
128+ {
129+ helper->touchscreen_pointer = touchscreen_pointer;
130+ /* Update touchscreen-mode */
131+ xfconf_channel_set_bool (helper->channel, "/Gtk/TouchscreenMode", touchscreen_pointer);
132+ /* Update cursor */
133+ setting_theme = g_hash_table_lookup (helper->settings, "/Gtk/CursorThemeName");
134+ if (G_LIKELY (setting_theme != NULL))
135+ {
136+ /* update the serial */
137+ setting_theme->last_change_serial = helper->serial;
138+ /* update value */
139+ g_value_reset (setting_theme->value);
140+ g_value_copy (touchscreen_pointer ?
141+ helper->touchscreen_cursor_value :
142+ helper->lastset_cursor_value,
143+ setting_theme->value);
144+ }
145+ else
146+ g_critical("Setting not found for /Gtk/CursorThemeName");
147+
148+ if (G_LIKELY (setting_touchscreen != NULL || setting_theme != NULL))
149+ {
150+ /* schedule xsettings update */
151+ if (helper->notify_idle_id == 0)
152+ helper->notify_idle_id = g_idle_add (xfce_xsettings_helper_notify_idle, helper);
153+ if (helper->notify_xft_idle_id == 0)
154+ helper->notify_xft_idle_id = g_idle_add (xfce_xsettings_helper_notify_xft_idle, helper);
155+ }
156+ }
157+ break;
158+ default:
159+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
160+ break;
161+ }
162+}
163+
164+
165+
166 static gboolean
167 xfce_xsettings_helper_prop_valid (const gchar *prop_name,
168 const GValue *value)
169@@ -413,6 +508,28 @@ xfce_xsettings_helper_prop_valid (const gchar *prop_name,
170
171
172
173+static void
174+xfce_xsettings_helper_check_cursor (const gchar *prop_name,
175+ GValue *value,
176+ XfceXSettingsHelper *helper)
177+{
178+ if (g_strcmp0 (prop_name, "/Gtk/CursorThemeName") == 0)
179+ {
180+ /* Keep last cursor theme set */
181+ g_value_reset (helper->lastset_cursor_value);
182+ g_value_copy (value, helper->lastset_cursor_value);
183+
184+ /* invisible replacement required ? */
185+ if (helper->touchscreen_pointer)
186+ {
187+ g_value_reset (value);
188+ g_value_copy (helper->touchscreen_cursor_value, value);
189+ }
190+ }
191+}
192+
193+
194+
195 static gboolean
196 xfce_xsettings_helper_prop_load (gchar *prop_name,
197 GValue *value,
198@@ -426,6 +543,7 @@ xfce_xsettings_helper_prop_load (gchar *prop_name,
199
200 setting = g_slice_new0 (XfceXSetting);
201 setting->value = value;
202+ xfce_xsettings_helper_check_cursor (prop_name, setting->value, helper);
203 setting->last_change_serial = helper->serial;
204
205 xfsettings_dbg_filtered (XFSD_DEBUG_XSETTINGS, "prop \"%s\" loaded (type=%s)",
206@@ -462,6 +580,7 @@ xfce_xsettings_helper_prop_changed (XfconfChannel *channel,
207 * it first */
208 g_value_reset (setting->value);
209 g_value_copy (value, setting->value);
210+ xfce_xsettings_helper_check_cursor (prop_name, setting->value, helper);
211
212 /* update the serial */
213 setting->last_change_serial = helper->serial;
214@@ -475,6 +594,7 @@ xfce_xsettings_helper_prop_changed (XfconfChannel *channel,
215
216 g_value_init (setting->value, G_VALUE_TYPE (value));
217 g_value_copy (value, setting->value);
218+ xfce_xsettings_helper_check_cursor (prop_name, setting->value, helper);
219
220 g_hash_table_insert (helper->settings, g_strdup (prop_name), setting);
221 }
222@@ -649,6 +769,7 @@ xfce_xsettings_helper_notify_xft (XfceXSettingsHelper *helper)
223 XfceXSetting *setting;
224 guint i;
225 GValue bool_val = { 0, };
226+
227 const gchar *props[][2] =
228 {
229 /* { xfconf name}, { xft name } */
230@@ -700,7 +821,6 @@ xfce_xsettings_helper_notify_xft (XfceXSettingsHelper *helper)
231 PropModeReplace,
232 (guchar *) resource->str,
233 resource->len);
234-
235 XCloseDisplay (xdisplay);
236
237 if (gdk_error_trap_pop () != 0)
238--- a/xfsettingsd/xsettings.xml
239+++ b/xfsettingsd/xsettings.xml
240@@ -36,5 +36,6 @@
241 <property name="MenuBarAccel" type="string" value="F10"/>
242 <property name="CursorThemeName" type="string" value=""/>
243 <property name="CursorThemeSize" type="int" value="0"/>
244+ <property name="TouchscreenMode" type="bool" value="false"/>
245 </property>
246 </channel>
247--
2481.7.6.5
249
diff --git a/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings/touchscreen/0005-pointers-detect-a-change-of-pointer-device-used-and-.patch b/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings/touchscreen/0005-pointers-detect-a-change-of-pointer-device-used-and-.patch
new file mode 100644
index 000000000..3c9b3dad9
--- /dev/null
+++ b/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings/touchscreen/0005-pointers-detect-a-change-of-pointer-device-used-and-.patch
@@ -0,0 +1,589 @@
1From 78353322ce1070ee1fd7bb5367e2c4dd43928f42 Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
3Date: Thu, 20 Dec 2012 16:58:19 +0100
4Subject: [PATCH 5/5] pointers: detect a change of pointer-device used and set
5 "touchscreen-pointer" as found in xfconf
6MIME-Version: 1.0
7Content-Type: text/plain; charset=UTF-8
8Content-Transfer-Encoding: 8bit
9
10To detect pointer device in use the DevicePresence-, DeviceMotionNotify- and
11DeviceButtonPress-events are handled. Tests showed that by repopenning and
12closing the pointer devices (e.g when another setting was modified), the events
13stopped working. Therefore all pointer devices are opened only once and managed
14in a hash table.
15
16Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
17Upstream-Status: Submitted [1]
18[1] https://bugzilla.xfce.org/show_bug.cgi?id=9474
19---
20 xfsettingsd/pointers.c | 342 ++++++++++++++++++++++++++++++++-----------------
21 1 file changed, 225 insertions(+), 117 deletions(-)
22
23diff --git a/xfsettingsd/pointers.c b/xfsettingsd/pointers.c
24index cfa56e2..41c8bba 100644
25--- a/xfsettingsd/pointers.c
26+++ b/xfsettingsd/pointers.c
27@@ -66,11 +66,9 @@ static void xfce_pointers_helper_channel_property_changed (XfconfCha
28 const gchar *property_name,
29 const GValue *value,
30 XfcePointersHelper *helper);
31-#ifdef DEVICE_HOTPLUGGING
32 static GdkFilterReturn xfce_pointers_helper_event_filter (GdkXEvent *xevent,
33 GdkEvent *gdk_event,
34 gpointer user_data);
35-#endif
36 static void xfce_pointers_helper_set_property (GObject *object,
37 guint prop_id,
38 const GValue *value,
39@@ -96,8 +94,11 @@ struct _XfcePointersHelper
40 GPid syndaemon_pid;
41 #endif
42
43+ GHashTable *pointer_devices;
44+ XID last_pointer_active;
45+ gint device_motion_event_type;
46+ gint device_button_press_event_type;
47 #ifdef DEVICE_HOTPLUGGING
48- /* device presence event type */
49 gint device_presence_event_type;
50 #endif
51 };
52@@ -117,6 +118,15 @@ G_DEFINE_TYPE (XfcePointersHelper, xfce_pointers_helper, G_TYPE_OBJECT);
53
54
55
56+typedef struct
57+{
58+ XDevice *device;
59+ gchar* name;
60+}
61+XfcePointerDeviceData;
62+
63+
64+
65 static void
66 xfce_pointers_helper_class_init (XfcePointersHelperClass *klass)
67 {
68@@ -147,6 +157,18 @@ xfce_pointers_helper_init (XfcePointersHelper *helper)
69
70
71 static void
72+xfce_pointers_device_close (gpointer data)
73+{
74+ XfcePointerDeviceData *device_data = data;
75+
76+ XCloseDevice (GDK_DISPLAY (), device_data->device);
77+ g_free (device_data->name);
78+ g_free (device_data);
79+}
80+
81+
82+
83+static void
84 xfce_pointers_helper_constructed (GObject *object)
85 {
86 XfcePointersHelper *helper = XFCE_POINTERS_HELPER (object);
87@@ -185,6 +207,10 @@ xfce_pointers_helper_constructed (GObject *object)
88 helper->channel = xfconf_channel_get ("pointers");
89
90 /* restore the pointer devices */
91+ helper->pointer_devices = g_hash_table_new_full (g_int_hash,
92+ g_int_equal,
93+ g_free,
94+ xfce_pointers_device_close);
95 xfce_pointers_helper_restore_devices (helper, NULL);
96
97 /* monitor the channel */
98@@ -194,21 +220,20 @@ xfce_pointers_helper_constructed (GObject *object)
99 /* launch syndaemon if required */
100 xfce_pointers_helper_syndaemon_check (helper);
101
102-#ifdef DEVICE_HOTPLUGGING
103 if (G_LIKELY (xdisplay != NULL))
104 {
105+#ifdef DEVICE_HOTPLUGGING
106 /* monitor device changes */
107 gdk_error_trap_push ();
108 DevicePresence (xdisplay, helper->device_presence_event_type, event_class);
109 XSelectExtensionEvent (xdisplay, RootWindow (xdisplay, DefaultScreen (xdisplay)), &event_class, 1);
110
111 /* add an event filter */
112- if (gdk_error_trap_pop () == 0)
113- gdk_window_add_filter (NULL, xfce_pointers_helper_event_filter, helper);
114- else
115+ if (gdk_error_trap_pop () != 0)
116 g_warning ("Failed to create device filter");
117- }
118 #endif
119+ gdk_window_add_filter (NULL, xfce_pointers_helper_event_filter, helper);
120+ }
121 }
122 }
123
124@@ -238,7 +263,10 @@ xfce_pointers_helper_set_property (GObject *object,
125 static void
126 xfce_pointers_helper_finalize (GObject *object)
127 {
128- xfce_pointers_helper_syndaemon_stop (XFCE_POINTERS_HELPER (object));
129+ XfcePointersHelper* helper = XFCE_POINTERS_HELPER (object);
130+
131+ xfce_pointers_helper_syndaemon_stop (helper);
132+ g_hash_table_destroy (helper->pointer_devices);
133
134 (*G_OBJECT_CLASS (xfce_pointers_helper_parent_class)->finalize) (object);
135 }
136@@ -267,19 +295,19 @@ static void
137 xfce_pointers_helper_syndaemon_check (XfcePointersHelper *helper)
138 {
139 #ifdef DEVICE_PROPERTIES
140- Display *xdisplay = GDK_DISPLAY ();
141- XDeviceInfo *device_list;
142- XDevice *device;
143- gint n, ndevices;
144- Atom touchpad_type;
145- Atom touchpad_off_prop;
146- Atom *props;
147- gint i, nprops;
148- gboolean have_synaptics = FALSE;
149- gdouble disable_duration;
150- gchar disable_duration_string[64];
151- gchar *args[] = { "syndaemon", "-i", disable_duration_string, "-K", "-R", NULL };
152- GError *error = NULL;
153+ Display *xdisplay = GDK_DISPLAY ();
154+ XDeviceInfo *device_list;
155+ XfcePointerDeviceData *device_data;
156+ gint n, ndevices;
157+ Atom touchpad_type;
158+ Atom touchpad_off_prop;
159+ Atom *props;
160+ gint i, nprops;
161+ gboolean have_synaptics = FALSE;
162+ gdouble disable_duration;
163+ gchar disable_duration_string[64];
164+ gchar *args[] = { "syndaemon", "-i", disable_duration_string, "-K", "-R", NULL };
165+ GError *error = NULL;
166
167 /* only stop a running daemon */
168 if (!xfconf_channel_get_bool (helper->channel, "/DisableTouchpadWhileTyping", FALSE))
169@@ -299,17 +327,16 @@ xfce_pointers_helper_syndaemon_check (XfcePointersHelper *helper)
170 if (device_list[n].type != touchpad_type)
171 continue;
172
173- gdk_error_trap_push ();
174- device = XOpenDevice (xdisplay, device_list[n].id);
175- if (gdk_error_trap_pop () != 0 || device == NULL)
176+ device_data = g_hash_table_lookup (helper->pointer_devices, &device_list[n].id);
177+ if (device_data == NULL)
178 {
179- g_critical ("Unable to open device %s", device_list[n].name);
180+ g_critical ("xfce_pointers_helper_syndaemon_check: Unable to find device %s / ID %i in hash table", device_list[n].name, device_list[n].id);
181 break;
182 }
183
184 /* look for the Synaptics Off property */
185 gdk_error_trap_push ();
186- props = XListDeviceProperties (xdisplay, device, &nprops);
187+ props = XListDeviceProperties (xdisplay, device_data->device, &nprops);
188 if (gdk_error_trap_pop () == 0
189 && props != NULL)
190 {
191@@ -319,8 +346,6 @@ xfce_pointers_helper_syndaemon_check (XfcePointersHelper *helper)
192 XFree (props);
193 }
194
195- XCloseDevice (xdisplay, device);
196-
197 if (have_synaptics)
198 break;
199 }
200@@ -847,24 +872,56 @@ xfce_pointers_helper_change_properties (gpointer key,
201
202
203 static void
204+xfce_pointers_helper_change_current_device (XfcePointersHelper *helper,
205+ XID *xid)
206+{
207+ XfcePointerDeviceData *device_data;
208+ gchar* prop;
209+ GValue bool_val = { 0, };
210+
211+ helper->last_pointer_active = *xid;
212+ device_data = g_hash_table_lookup (helper->pointer_devices, xid);
213+ if (device_data == NULL)
214+ {
215+ g_critical ("Unable to find device ID %i in hash table", *xid);
216+ return;
217+ }
218+ if (G_LIKELY (G_IS_OBJECT (helper->xsettings_helper)))
219+ {
220+ prop = g_strconcat ("/", device_data->name, "/TouchscreenPointer", NULL);
221+ g_value_init (&bool_val, G_TYPE_BOOLEAN);
222+ g_value_set_boolean (&bool_val,
223+ xfconf_channel_get_bool (helper->channel, prop, FALSE));
224+ g_object_set_property (helper->xsettings_helper, "touchscreen-pointer", &bool_val);
225+ g_value_unset (&bool_val);
226+ g_free (prop);
227+ }
228+ else
229+ g_critical ("xsettings_helper was not properly set");
230+}
231+
232+
233+static void
234 xfce_pointers_helper_restore_devices (XfcePointersHelper *helper,
235 XID *xid)
236 {
237- Display *xdisplay = GDK_DISPLAY ();
238- XDeviceInfo *device_list, *device_info;
239- gint n, ndevices;
240- XDevice *device;
241- gchar *device_name;
242- gchar prop[256];
243- gboolean right_handed;
244- gboolean reverse_scrolling;
245- gint threshold;
246- gdouble acceleration;
247+ Display *xdisplay = GDK_DISPLAY ();
248+ XDeviceInfo *device_list, *device_info;
249+ gint n, ndevices;
250+ XDevice *device;
251+ XfcePointerDeviceData *device_data;
252+ gchar *device_name;
253+ gchar prop[256];
254+ gboolean right_handed;
255+ gboolean reverse_scrolling;
256+ gint threshold;
257+ gdouble acceleration;
258+ XEventClass event_classes[2];
259 #ifdef DEVICE_PROPERTIES
260- GHashTable *props;
261- XfcePointerData pointer_data;
262+ GHashTable *props;
263+ XfcePointerData pointer_data;
264 #endif
265- const gchar *mode;
266+ const gchar *mode;
267
268 gdk_error_trap_push ();
269 device_list = XListInputDevices (xdisplay, &ndevices);
270@@ -874,86 +931,110 @@ xfce_pointers_helper_restore_devices (XfcePointersHelper *helper,
271 return;
272 }
273
274+ device_data = NULL;
275 for (n = 0; n < ndevices; n++)
276 {
277- /* filter the pointer devices */
278+ /* filter the physical pointer devices */
279 device_info = &device_list[n];
280 if (device_info->use != IsXExtensionPointer
281- || device_info->name == NULL)
282+ || device_info->name == NULL
283+ || g_str_has_prefix (device_info->name, "Virtual core XTEST"))
284 continue;
285
286 /* filter out the device if one is set */
287 if (xid != NULL && device_info->id != *xid)
288 continue;
289
290- /* open the device */
291- gdk_error_trap_push ();
292- device = XOpenDevice (xdisplay, device_info->id);
293- if (gdk_error_trap_pop () != 0 || device == NULL)
294+ device_data = g_hash_table_lookup (helper->pointer_devices, &device_info->id);
295+ if (device_data == NULL)
296 {
297- g_critical ("Unable to open device %s", device_info->name);
298- continue;
299- }
300+ /* open the device and insert to hash */
301+ gdk_error_trap_push ();
302+ device = XOpenDevice (xdisplay, device_info->id);
303+ if (G_UNLIKELY(gdk_error_trap_pop () != 0 || device == NULL))
304+ {
305+ g_critical ("Unable to open device %s / ID: %i", device_info->name, device_info->id);
306+ continue;
307+ }
308
309- /* create a valid xfconf property name for the device */
310- device_name = xfce_pointers_helper_device_xfconf_name (device_info->name);
311+ /* create a valid xfconf property name for the device */
312+ device_name = xfce_pointers_helper_device_xfconf_name (device_info->name);
313
314- /* read buttonmap properties */
315- g_snprintf (prop, sizeof (prop), "/%s/RightHanded", device_name);
316- right_handed = xfconf_channel_get_bool (helper->channel, prop, -1);
317+ /* add device to our list */
318+ device_data = g_new (XfcePointerDeviceData, 1);
319+ device_data->device = device;
320+ device_data->name = device_name;
321+ g_hash_table_insert (helper->pointer_devices, g_memdup (&device_info->id, sizeof(device_info->id)), device_data);
322
323- g_snprintf (prop, sizeof (prop), "/%s/ReverseScrolling", device_name);
324- reverse_scrolling = xfconf_channel_get_bool (helper->channel, prop, -1);
325+ /* catch motion event / button-press for new device */
326+ gdk_error_trap_push ();
327+ DeviceMotionNotify (device, helper->device_motion_event_type, event_classes[0]);
328+ DeviceButtonPress (device, helper->device_button_press_event_type, event_classes[1]);
329+ XSelectExtensionEvent (xdisplay, RootWindow (xdisplay, DefaultScreen (xdisplay)), event_classes, 2);
330+ if (G_UNLIKELY (gdk_error_trap_pop () != 0))
331+ g_critical ("Unable to register DeviceButtonPress/DeviceMotionNotify for %i", device_info->id);
332
333- if (right_handed != -1 || reverse_scrolling != -1)
334- {
335- xfce_pointers_helper_change_button_mapping (device_info, device, xdisplay,
336+
337+ /* read buttonmap properties */
338+ g_snprintf (prop, sizeof (prop), "/%s/RightHanded", device_name);
339+ right_handed = xfconf_channel_get_bool (helper->channel, prop, -1);
340+
341+ g_snprintf (prop, sizeof (prop), "/%s/ReverseScrolling", device_name);
342+ reverse_scrolling = xfconf_channel_get_bool (helper->channel, prop, -1);
343+
344+ if (right_handed != -1 || reverse_scrolling != -1)
345+ {
346+ xfce_pointers_helper_change_button_mapping (device_info, device, xdisplay,
347 right_handed, reverse_scrolling);
348- }
349+ }
350
351- /* read feedback settings */
352- g_snprintf (prop, sizeof (prop), "/%s/Threshold", device_name);
353- threshold = xfconf_channel_get_int (helper->channel, prop, -1);
354+ /* read feedback settings */
355+ g_snprintf (prop, sizeof (prop), "/%s/Threshold", device_name);
356+ threshold = xfconf_channel_get_int (helper->channel, prop, -1);
357
358- g_snprintf (prop, sizeof (prop), "/%s/Acceleration", device_name);
359- acceleration = xfconf_channel_get_double (helper->channel, prop, -1.00);
360+ g_snprintf (prop, sizeof (prop), "/%s/Acceleration", device_name);
361+ acceleration = xfconf_channel_get_double (helper->channel, prop, -1.00);
362
363- if (threshold != -1 || acceleration != -1.00)
364- {
365- xfce_pointers_helper_change_feedback (device_info, device, xdisplay,
366- threshold, acceleration);
367- }
368+ if (threshold != -1 || acceleration != -1.00)
369+ {
370+ xfce_pointers_helper_change_feedback (device_info, device, xdisplay,
371+ threshold, acceleration);
372+ }
373
374- /* read mode settings */
375- g_snprintf (prop, sizeof (prop), "/%s/Mode", device_name);
376- mode = xfconf_channel_get_string (helper->channel, prop, NULL);
377+ /* read mode settings */
378+ g_snprintf (prop, sizeof (prop), "/%s/Mode", device_name);
379+ mode = xfconf_channel_get_string (helper->channel, prop, NULL);
380
381- if (mode != NULL)
382- xfce_pointers_helper_change_mode (device_info, device, xdisplay, mode);
383+ if (mode != NULL)
384+ xfce_pointers_helper_change_mode (device_info, device, xdisplay, mode);
385
386 #ifdef DEVICE_PROPERTIES
387- /* set device properties */
388- g_snprintf (prop, sizeof (prop), "/%s/Properties", device_name);
389- props = xfconf_channel_get_properties (helper->channel, prop);
390+ /* set device properties */
391+ g_snprintf (prop, sizeof (prop), "/%s/Properties", device_name);
392+ props = xfconf_channel_get_properties (helper->channel, prop);
393
394- if (props != NULL)
395- {
396- pointer_data.xdisplay = xdisplay;
397- pointer_data.device = device;
398- pointer_data.device_info = device_info;
399- pointer_data.prop_name_len = strlen (prop) + 1;
400+ if (props != NULL)
401+ {
402+ pointer_data.xdisplay = xdisplay;
403+ pointer_data.device = device;
404+ pointer_data.device_info = device_info;
405+ pointer_data.prop_name_len = strlen (prop) + 1;
406
407- g_hash_table_foreach (props, xfce_pointers_helper_change_properties, &pointer_data);
408+ g_hash_table_foreach (props, xfce_pointers_helper_change_properties, &pointer_data);
409
410- g_hash_table_destroy (props);
411- }
412+ g_hash_table_destroy (props);
413+ }
414 #endif
415-
416- g_free (device_name);
417- XCloseDevice (xdisplay, device);
418+ }
419 }
420-
421 XFreeDeviceList (device_list);
422+ if (G_LIKELY (device_data != NULL))
423+ {
424+ if (helper->last_pointer_active != device_data->device->device_id)
425+ xfce_pointers_helper_change_current_device (helper, &device_data->device->device_id);
426+ }
427+ else
428+ g_critical("no device selected in xfce_pointers_helper_restore_devices");
429 }
430
431
432@@ -964,12 +1045,12 @@ xfce_pointers_helper_channel_property_changed (XfconfChannel *channel,
433 const GValue *value,
434 XfcePointersHelper *helper)
435 {
436- Display *xdisplay = GDK_DISPLAY ();
437- XDeviceInfo *device_list, *device_info;
438- XDevice *device;
439- gint n, ndevices;
440- gchar **names;
441- gchar *device_name;
442+ Display *xdisplay = GDK_DISPLAY ();
443+ XDeviceInfo *device_list, *device_info;
444+ XfcePointerDeviceData *device_data;
445+ gint n, ndevices;
446+ gchar **names;
447+ gchar *device_name;
448
449 if (G_UNLIKELY (property_name == NULL))
450 return;
451@@ -1000,63 +1081,72 @@ xfce_pointers_helper_channel_property_changed (XfconfChannel *channel,
452 /* filter the pointer devices */
453 device_info = &device_list[n];
454 if (device_info->use != IsXExtensionPointer
455- || device_info->name == NULL)
456+ || device_info->name == NULL
457+ || g_str_has_prefix (device_info->name, "Virtual core XTEST"))
458 continue;
459
460 /* search the device name */
461 device_name = xfce_pointers_helper_device_xfconf_name (device_info->name);
462 if (strcmp (names[0], device_name) == 0)
463 {
464- /* open the device */
465- gdk_error_trap_push ();
466- device = XOpenDevice (xdisplay, device_info->id);
467- if (gdk_error_trap_pop () != 0 || device == NULL)
468+ /* find the device */
469+ device_data = g_hash_table_lookup (helper->pointer_devices, &device_info->id);
470+ if (device_data == NULL)
471 {
472- g_critical ("Unable to open device %s", device_info->name);
473+ g_critical ("xfce_pointers_helper_channel_property_changed: Unable to find device %s / ID %i in hash table", device_info->name, device_info->id);
474 continue;
475 }
476
477 /* check the property that requires updating */
478 if (strcmp (names[1], "RightHanded") == 0)
479 {
480- xfce_pointers_helper_change_button_mapping (device_info, device, xdisplay,
481+ xfce_pointers_helper_change_button_mapping (device_info, device_data->device, xdisplay,
482 g_value_get_boolean (value), -1);
483 }
484 else if (strcmp (names[1], "ReverseScrolling") == 0)
485 {
486- xfce_pointers_helper_change_button_mapping (device_info, device, xdisplay,
487+ xfce_pointers_helper_change_button_mapping (device_info, device_data->device, xdisplay,
488 -1, g_value_get_boolean (value));
489 }
490 else if (strcmp (names[1], "Threshold") == 0)
491 {
492- xfce_pointers_helper_change_feedback (device_info, device, xdisplay,
493+ xfce_pointers_helper_change_feedback (device_info, device_data->device, xdisplay,
494 g_value_get_int (value), -2.00);
495 }
496 else if (strcmp (names[1], "Acceleration") == 0)
497 {
498- xfce_pointers_helper_change_feedback (device_info, device, xdisplay,
499+ xfce_pointers_helper_change_feedback (device_info, device_data->device, xdisplay,
500 -2, g_value_get_double (value));
501 }
502 #ifdef DEVICE_PROPERTIES
503 else if (strcmp (names[1], "Properties") == 0)
504 {
505- xfce_pointers_helper_change_property (device_info, device, xdisplay,
506+ xfce_pointers_helper_change_property (device_info, device_data->device, xdisplay,
507 names[2], value);
508 }
509 #endif
510 else if (strcmp (names[1], "Mode") == 0)
511 {
512- xfce_pointers_helper_change_mode (device_info, device, xdisplay,
513+ xfce_pointers_helper_change_mode (device_info, device_data->device, xdisplay,
514 g_value_get_string (value));
515 }
516+ else if (strcmp (names[1], "TouchscreenPointer") == 0)
517+ {
518+ /* only hide if the current device's property was changed */
519+ if (device_info->id == helper->last_pointer_active)
520+ {
521+ if (G_LIKELY (G_IS_OBJECT (helper->xsettings_helper)))
522+ g_object_set_property (helper->xsettings_helper, "touchscreen-pointer", value);
523+ else
524+ g_critical ("xsettings_helper was not properly set");
525+ }
526+ }
527 else
528 {
529 g_warning ("Unknown property %s set for device %s",
530 property_name, device_info->name);
531 }
532
533- XCloseDevice (xdisplay, device);
534-
535 /* stop searching */
536 n = ndevices;
537 }
538@@ -1072,26 +1162,44 @@ xfce_pointers_helper_channel_property_changed (XfconfChannel *channel,
539
540
541
542-#ifdef DEVICE_HOTPLUGGING
543 static GdkFilterReturn
544 xfce_pointers_helper_event_filter (GdkXEvent *xevent,
545 GdkEvent *gdk_event,
546 gpointer user_data)
547 {
548+ XDevicePresenceNotifyEvent *dpn_event;
549 XEvent *event = xevent;
550- XDevicePresenceNotifyEvent *dpn_event = xevent;
551 XfcePointersHelper *helper = XFCE_POINTERS_HELPER (user_data);
552
553- if (event->type == helper->device_presence_event_type)
554+ /* Comparison for device changed is done here redundantly to prevent call
555+ * on every mouse move.
556+ */
557+ if (event->type == helper->device_motion_event_type
558+ && helper->last_pointer_active != ((XDeviceMotionEvent*)xevent)->deviceid)
559+ xfce_pointers_helper_change_current_device (helper, &((XDeviceMotionEvent*)xevent)->deviceid);
560+ else if (event->type == helper->device_button_press_event_type
561+ && helper->last_pointer_active != ((XDeviceButtonEvent*)xevent)->deviceid)
562+ xfce_pointers_helper_change_current_device (helper, &((XDeviceButtonEvent*)xevent)->deviceid);
563+
564+#ifdef DEVICE_HOTPLUGGING
565+ /* handle device add/remove */
566+ else if (event->type == helper->device_presence_event_type)
567 {
568+ dpn_event = xevent;
569 /* restore device settings */
570 if (dpn_event->devchange == DeviceAdded)
571 xfce_pointers_helper_restore_devices (helper, &dpn_event->deviceid);
572+ else if(dpn_event->devchange == DeviceRemoved)
573+ /* we could try to find a remaining pointer to set that as active
574+ * one but that might not fit and as soon as the user works with
575+ * another pointer we are changing to correct one.
576+ */
577+ g_hash_table_remove (helper->pointer_devices, &dpn_event->deviceid);
578
579 /* check if we need to launch syndaemon */
580 xfce_pointers_helper_syndaemon_check (helper);
581 }
582+#endif
583
584 return GDK_FILTER_CONTINUE;
585 }
586-#endif
587--
5881.8.3.1
589
diff --git a/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings/touchscreen/invisible b/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings/touchscreen/invisible
new file mode 100644
index 000000000..ef4d9aadb
--- /dev/null
+++ b/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings/touchscreen/invisible
Binary files differ
diff --git a/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings/touchscreen/wait b/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings/touchscreen/wait
new file mode 100644
index 000000000..8b9ac7e20
--- /dev/null
+++ b/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings/touchscreen/wait
Binary files differ
diff --git a/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings_git.bb b/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings_git.bb
new file mode 100644
index 000000000..290ec3de5
--- /dev/null
+++ b/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings_git.bb
@@ -0,0 +1,47 @@
1SUMMARY = "Xfce4 settings"
2SECTION = "x11/wm"
3LICENSE = "GPLv2"
4LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
5DEPENDS = "exo exo-native garcon gtk+ libxfce4util libxfce4ui xfconf dbus-glib libxi virtual/libx11 xrandr libnotify libxcursor libxklavier upower"
6
7inherit xfce xfce-git
8
9SRC_URI = " git://gitorious.org/xfce/xfce4-settings.git;protocol=git;branch=for-oe \
10 file://0001-xsettings.xml-remove-trouble-causing-comment.patch \
11 file://0002-xsettings.xml-Set-default-themes.patch \
12 file://touchscreen/invisible \
13 file://touchscreen/wait \
14 file://touchscreen/0001-add-cursor-theme-xfce-invisible.patch \
15 file://touchscreen/0002-mouse-settings-dialog-add-touchscreen-pointer-option.patch \
16 file://touchscreen/0003-XfcePointersHelper-gets-a-pointer-to-XfceXSettingsHe.patch \
17 file://touchscreen/0004-XfceXSettingsHelper-gets-a-property-touchscreen-poin.patch \
18 file://touchscreen/0005-pointers-detect-a-change-of-pointer-device-used-and-.patch \
19"
20SRCREV = "b7a0e1fd77f5bb5c372223ff62aec7acf252f061"
21S = "${WORKDIR}/git"
22PV = "4.11.0+git${SRCPV}"
23
24EXTRA_OECONF += "--enable-maintainer-mode --disable-debug"
25
26PACKAGECONFIG ??= " \
27 ${@base_contains('DISTRO_FEATURES','systemd','datetime-setter','',d)} \
28 ${@base_contains('DISTRO_FEATURES','alsa','sound-setter', base_contains('DISTRO_FEATURES','pulseaudio','sound-setter','',d),d)} \
29"
30PACKAGECONFIG[datetime-setter] = "--enable-datetime-settings, --disable-datetime-settings,, tzdata"
31PACKAGECONFIG[notify] = "--enable-libnotify,--disable-libnotify,libnotify"
32PACKAGECONFIG[sound-setter] = "--enable-sound-settings, --disable-sound-settings, libcanberra, libcanberra-gtk2 sound-theme-freedesktop"
33
34FILES_${PN} += " \
35 ${libdir}/xfce4 \
36 ${datadir}/xfce4 \
37"
38
39do_install_prepend() {
40 # somehow binary files are not patched correctly by oe-patch - so copy them
41 cp ${WORKDIR}/touchscreen/invisible ${S}/cursors
42 cp ${WORKDIR}/touchscreen/wait ${S}/cursors
43}
44
45RRECOMMENDS_${PN} += "gnome-icon-theme"
46RRECOMMENDS_${PN} += "${@base_contains('DISTRO_FEATURES','alsa','libcanberra-alsa','',d)}"
47RRECOMMENDS_${PN} += "${@base_contains('DISTRO_FEATURES','pulseaudio','libcanberra-pulse','',d)}"
diff --git a/meta-xfce/recipes-xfce/xfconf/files/0001-Simplify-checks.patch b/meta-xfce/recipes-xfce/xfconf/files/0001-Simplify-checks.patch
new file mode 100644
index 000000000..ef68f7acd
--- /dev/null
+++ b/meta-xfce/recipes-xfce/xfconf/files/0001-Simplify-checks.patch
@@ -0,0 +1,112 @@
1From 233f7d3a9b0f98b794548433cead77633aab5f7d Mon Sep 17 00:00:00 2001
2From: Nick Schermer <nick@xfce.org>
3Date: Sun, 6 Jan 2013 12:46:47 +0100
4Subject: [PATCH] Simplify checks.
5MIME-Version: 1.0
6Content-Type: text/plain; charset=UTF-8
7Content-Transfer-Encoding: 8bit
8
9Upstream-Status: backport [1]
10
11[1] http://git.xfce.org/xfce/xfconf/commit/?id=233f7d3a9b0f98b794548433cead77633aab5f7d
12
13Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
14---
15 tests/Makefile.am | 1 -
16 tests/Makefile.inc | 9 +--------
17 tests/test-template.sh.in | 49 -----------------------------------------------
18 3 files changed, 1 insertion(+), 58 deletions(-)
19 delete mode 100644 tests/test-template.sh.in
20
21diff --git a/tests/Makefile.am b/tests/Makefile.am
22index 57165d9..57ba7e8 100644
23--- a/tests/Makefile.am
24+++ b/tests/Makefile.am
25@@ -13,5 +13,4 @@ clean-local:
26
27 EXTRA_DIST = \
28 $(test_scripts) \
29- test-template.sh.in \
30 tests-common.h
31diff --git a/tests/Makefile.inc b/tests/Makefile.inc
32index 2ed3431..7a5a715 100644
33--- a/tests/Makefile.inc
34+++ b/tests/Makefile.inc
35@@ -13,9 +13,7 @@
36 # along with this program; if not, write to the Free Software
37 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
38
39-check_SCRIPTS = $(addsuffix .sh,$(check_PROGRAMS))
40-
41-TESTS = $(check_SCRIPTS)
42+TESTS = $(check_PROGRAMS)
43 TESTS_ENVIRONMENT = XDG_CONFIG_HOME="$(top_builddir)/tests/test-xdg_config_home" XFCONFD="$(top_builddir)/xfconfd/xfconfd"
44
45 AM_CFLAGS = \
46@@ -27,8 +25,3 @@ AM_CFLAGS = \
47 LIBS = \
48 $(top_builddir)/xfconf/libxfconf-$(LIBXFCONF_VERSION_API).la
49
50-%.sh: $(top_srcdir)/tests/test-template.sh.in Makefile
51- sed -e 's/@TEST_NAME@/$@/; s/\.sh//;' <$(top_srcdir)/tests/test-template.sh.in >$@
52- chmod 755 $@
53-
54-CLEANFILES = $(check_SCRIPTS)
55diff --git a/tests/test-template.sh.in b/tests/test-template.sh.in
56deleted file mode 100644
57index 2e638a8..0000000
58--- a/tests/test-template.sh.in
59+++ /dev/null
60@@ -1,49 +0,0 @@
61-#!/bin/sh
62-
63-cleanup() {
64- if [ "$XFCONFD_PID" ]; then
65- kill -TERM $XFCONFD_PID 2>/dev/null
66- sleep 1
67- kill -KILL $XFCONFD_PID 2>/dev/null
68- fi
69-
70- kill -TERM $DBUS_SESSION_BUS_PID 2>/dev/null
71- sleep 1
72- kill -KILL $DBUS_SESSION_BUS_PID 2>/dev/null
73-}
74-
75-die() {
76- [ "$1" ] && echo "$1" >&2
77- cleanup
78- exit 1
79-}
80-
81-# some buildbots have problems with the tests (dbus not
82-# working properly without an X11 server).
83-if [ -n "$XFCONF_SKIP_TESTS" ]; then
84- echo "Warning: Tests disabled, skipping @TEST_NAME@" >&2
85- exit 0
86-fi
87-
88-unset DBUS_SESSION_BUS_ADDRESS
89-unset DBUS_SESSION_BUS_PID
90-unset XFCONFD_PID
91-
92-eval `dbus-launch --sh-syntax`
93-export DBUS_SESSION_BUS_ADDRESS
94-export DBUS_SESSION_BUS_PID
95-
96-[ "$DBUS_SESSION_BUS_PID" ] || die "DBus failed to start"
97-
98-trap "die Interrupted" INT
99-
100-eval `$XFCONFD --daemon 2>/dev/null` || die "Failed to start xfconfd"
101-
102-export XDG_CONFIG_HOME # make sure it's exported from the makefile
103-export XDG_CONFIG_DIRS=""
104-
105-./@TEST_NAME@ || die "Test Failed"
106-
107-cleanup
108-
109-exit 0
110--
1111.8.3.1
112
diff --git a/meta-xfce/recipes-xfce/xfconf/xfconf_4.10.0.bb b/meta-xfce/recipes-xfce/xfconf/xfconf_4.10.0.bb
new file mode 100644
index 000000000..30d0de377
--- /dev/null
+++ b/meta-xfce/recipes-xfce/xfconf/xfconf_4.10.0.bb
@@ -0,0 +1,16 @@
1SUMMARY = "Xfce configuration daemon and utilities"
2SECTION = "x11/wm"
3LICENSE = "GPLv2"
4LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
5DEPENDS = "dbus-glib libxfce4util perl intltool-native xfce4-dev-tools-native"
6
7inherit xfce gtk-doc
8
9EXTRA_OECONF += "PERL=${STAGING_DIR_TARGET}/usr/bin/perl"
10
11SRC_URI += "file://0001-Simplify-checks.patch"
12SRC_URI[md5sum] = "4ed48150a03fb5f42b455494307b7f28"
13SRC_URI[sha256sum] = "175219a441cc7d0f210bbd1a3b0abba41598627cd9db27235811400c3e100576"
14
15FILES_${PN} += "${libdir}/xfce4/xfconf/xfconfd \
16 ${datadir}/dbus-1/services/org.xfce.Xfconf.service"
diff --git a/meta-xfce/recipes-xfce/xfdesktop/xfdesktop_4.10.2.bb b/meta-xfce/recipes-xfce/xfdesktop/xfdesktop_4.10.2.bb
new file mode 100644
index 000000000..93b08545c
--- /dev/null
+++ b/meta-xfce/recipes-xfce/xfdesktop/xfdesktop_4.10.2.bb
@@ -0,0 +1,15 @@
1SUMMARY = "Xfce4 Desktop Manager"
2SECTION = "x11/base"
3LICENSE = "GPLv2"
4LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
5DEPENDS = "glib-2.0 gtk+ libxfce4util libxfce4ui libwnck xfconf dbus-glib thunar garcon exo"
6
7inherit xfce
8
9SRC_URI[md5sum] = "54a84ce63046c279fc3ec3f436d2f1b0"
10SRC_URI[sha256sum] = "49a6e0be513e307e896f7e5929825babec9bbcd4b2e73552f9d27647a4db797d"
11
12PACKAGECONFIG ??= ""
13PACKAGECONFIG[notify] = "--enable-notifications,--disable-notifications,libnotify"
14
15FILES_${PN} += "${datadir}/backgrounds"
diff --git a/meta-xfce/recipes-xfce/xfwm4/files/0001-don-t-block-display-events-when-time-is-set-backward.patch b/meta-xfce/recipes-xfce/xfwm4/files/0001-don-t-block-display-events-when-time-is-set-backward.patch
new file mode 100644
index 000000000..08fd76bb2
--- /dev/null
+++ b/meta-xfce/recipes-xfce/xfwm4/files/0001-don-t-block-display-events-when-time-is-set-backward.patch
@@ -0,0 +1,33 @@
1From e87977696f03b0c9f72884f8e3e3ec3248dfd80a Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
3Date: Tue, 18 Jun 2013 12:46:42 +0200
4Subject: [PATCH] don't block display events when time is set backwards
5MIME-Version: 1.0
6Content-Type: text/plain; charset=UTF-8
7Content-Transfer-Encoding: 8bit
8
9Upstream-Status: Submitted [1]
10
11[1] https://bugzilla.xfce.org/show_bug.cgi?id=10184
12
13Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
14---
15 src/display.c | 2 +-
16 1 files changed, 1 insertions(+), 1 deletions(-)
17
18diff --git a/src/display.c b/src/display.c
19index 00318d5..651bc7a 100644
20--- a/src/display.c
21+++ b/src/display.c
22@@ -733,7 +733,7 @@ myDisplayUpdateCurrentTime (DisplayInfo *display, XEvent *ev)
23 break;
24 }
25
26- if ((timestamp != (guint32) CurrentTime) && TIMESTAMP_IS_BEFORE(display->current_time, timestamp))
27+ if ((timestamp != (guint32) CurrentTime) /*&& TIMESTAMP_IS_BEFORE(display->current_time, timestamp)*/)
28 {
29 display->current_time = timestamp;
30 }
31--
321.7.6.5
33
diff --git a/meta-xfce/recipes-xfce/xfwm4/xfwm4_git.bb b/meta-xfce/recipes-xfce/xfwm4/xfwm4_git.bb
new file mode 100644
index 000000000..f8cd4b24f
--- /dev/null
+++ b/meta-xfce/recipes-xfce/xfwm4/xfwm4_git.bb
@@ -0,0 +1,36 @@
1DESCRIPTION="Xfce4 Window Manager"
2SECTION = "x11/wm"
3LICENSE = "GPLv2"
4LIC_FILES_CHKSUM = "file://COPYING;md5=d791728a073bc009b4ffaf00b7599855"
5DEPENDS = "virtual/libx11 libxpm gtk+ libxfce4util libxfce4ui xfconf libwnck dbus-glib startup-notification exo-native"
6
7inherit xfce xfce-git update-alternatives
8
9SRC_URI = " \
10 git://git.xfce.org/xfce/xfwm4;protocol=git \
11 file://0001-don-t-block-display-events-when-time-is-set-backward.patch \
12"
13
14SRCREV = "bce3062d0879ab8504c446f99ad57c9fd76c5097"
15S = "${WORKDIR}/git"
16PV = "4.10.1+git${SRCPV}"
17
18EXTRA_OECONF += "--enable-maintainer-mode"
19
20python populate_packages_prepend () {
21 themedir = d.expand('${datadir}/themes')
22 do_split_packages(d, themedir, '^(.*)', 'xfwm4-theme-%s', 'XFWM4 theme %s', allow_dirs=True)
23}
24
25PACKAGES_DYNAMIC += "^xfwm4-theme-.*"
26
27ALTERNATIVE_${PN} = "x-window-manager"
28ALTERNATIVE_TARGET[x-window-manager] = "${bindir}/xfwm4"
29ALTERNATIVE_PRIORITY[x-window-manager] = "30"
30
31RDEPENDS_${PN} = "xfwm4-theme-default"
32FILES_${PN} += "${libdir}/xfce4/xfwm4/helper-dialog \
33 ${datadir}/xfwm4/defaults \
34"
35FILES_${PN}-dbg += "${libexecdir}/xfce4/xfwm4/.debug/*"
36