diff options
author | Tudor Florea <tudor.florea@enea.com> | 2015-10-08 22:51:41 +0200 |
---|---|---|
committer | Tudor Florea <tudor.florea@enea.com> | 2015-10-08 22:51:41 +0200 |
commit | 1219bf8a90a7bf8cd3a5363551ef635d51e8fc8e (patch) | |
tree | a21a5fc103bb3bd65ecd85ed22be5228fc54e447 /meta-xfce/recipes-xfce | |
download | meta-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')
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 @@ | |||
1 | From 5f1e19860d89647488bdd32a02fb332f69434405 Mon Sep 17 00:00:00 2001 | ||
2 | From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com> | ||
3 | Date: Fri, 18 May 2012 21:13:00 +0200 | ||
4 | Subject: [PATCH] Do not run tests at build time | ||
5 | MIME-Version: 1.0 | ||
6 | Content-Type: text/plain; charset=UTF-8 | ||
7 | Content-Transfer-Encoding: 8bit | ||
8 | Upstream-Status: Not-Applicable | ||
9 | |||
10 | Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com> | ||
11 | --- | ||
12 | Makefile.am | 3 +-- | ||
13 | 1 files changed, 1 insertions(+), 2 deletions(-) | ||
14 | |||
15 | diff --git a/Makefile.am b/Makefile.am | ||
16 | index 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 | -- | ||
30 | 1.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 @@ | |||
1 | From e710d8d4a3e3480416826c70d56ea3d2598a77e4 Mon Sep 17 00:00:00 2001 | ||
2 | From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com> | ||
3 | Date: Thu, 28 Mar 2013 23:41:03 +0100 | ||
4 | Subject: [PATCH] reduce build to exo-csource only | ||
5 | MIME-Version: 1.0 | ||
6 | Content-Type: text/plain; charset=UTF-8 | ||
7 | Content-Transfer-Encoding: 8bit | ||
8 | |||
9 | exo-csource creates c-header files from glade resource output files. When | ||
10 | building xfce-packages from git instead of tarball this exo-csource-native is | ||
11 | required. | ||
12 | |||
13 | Upstream-Status: Inappropriate [configuration] | ||
14 | |||
15 | Signed-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 | |||
21 | diff --git a/Makefile.am b/Makefile.am | ||
22 | index 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 \ | ||
40 | diff --git a/configure.ac b/configure.ac | ||
41 | index 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 | -- | ||
79 | 1.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 @@ | |||
1 | DESCRIPTION="Application library for the Xfce desktop environment" | ||
2 | SECTION = "x11" | ||
3 | LICENSE = "GPLv2" | ||
4 | LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" | ||
5 | DEPENDS = "gtk+ libxfce4util libxfce4ui virtual/libx11 liburi-perl-native cairo" | ||
6 | DEPENDS_class-native = "glib-2.0-native xfce4-dev-tools-native intltool-native" | ||
7 | PR = "r4" | ||
8 | |||
9 | inherit xfce pythonnative perlnative gtk-doc | ||
10 | |||
11 | # SRC_URI must follow inherited one | ||
12 | SRC_URI += " \ | ||
13 | file://exo-no-tests-0.8.patch \ | ||
14 | file://configure.patch \ | ||
15 | " | ||
16 | |||
17 | SRC_URI_append_class-native = " \ | ||
18 | file://reduce-build-to-exo-csource-only.patch \ | ||
19 | " | ||
20 | |||
21 | SRC_URI[md5sum] = "c70f2a217811bfba2e62f938d4b8f748" | ||
22 | SRC_URI[sha256sum] = "b385828bf8a38204da3254b57fdfa25a72694495aa189fabd5040f707eec76ce" | ||
23 | |||
24 | PACKAGES =+ "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 | ||
28 | FILES_${PN} += "${datadir}/xfce4/ \ | ||
29 | ${libdir}/xfce4/exo-1 \ | ||
30 | " | ||
31 | |||
32 | FILES_${PN}-dbg += "${libdir}/gio/modules/.debug \ | ||
33 | " | ||
34 | |||
35 | FILES_exo-csource += "${bindir}/exo-csource" | ||
36 | |||
37 | BBCLASSEXTEND = "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 @@ | |||
1 | From f5398b49cc6fd7a53562aae2abbac0d9c656559c Mon Sep 17 00:00:00 2001 | ||
2 | From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com> | ||
3 | Date: Wed, 15 May 2013 14:17:49 +0200 | ||
4 | Subject: [garcon] xfce-applications.menu: don't bloat settings menu by | ||
5 | entries found in settings manager | ||
6 | MIME-Version: 1.0 | ||
7 | Content-Type: text/plain; charset=UTF-8 | ||
8 | Content-Transfer-Encoding: 8bit | ||
9 | |||
10 | Upstream-Status: Submitted [1] | ||
11 | |||
12 | [1] https://bugzilla.xfce.org/show_bug.cgi?id=10092 | ||
13 | |||
14 | Signed-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 | |||
19 | diff --git a/data/xfce/xfce-applications.menu b/data/xfce/xfce-applications.menu | ||
20 | index 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 | -- | ||
34 | 1.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 @@ | |||
1 | DESCRIPTION="Xfce Menu Library" | ||
2 | SECTION = "x11/libs" | ||
3 | LICENSE = "LGPLv2" | ||
4 | LIC_FILES_CHKSUM = "file://COPYING;md5=04a01abcbdabffae1ca26335a293276b" | ||
5 | DEPENDS = "glib-2.0 xfce4-dev-tools-native libxfce4util intltool-native" | ||
6 | PR = "r1" | ||
7 | |||
8 | inherit xfce gtk-doc | ||
9 | |||
10 | SRC_URI += "file://0001-xfce-applications.menu-don-t-bloat-settings-menu-by-.patch" | ||
11 | SRC_URI[md5sum] = "c3cf89c836be0ddb281c81e4808fb68b" | ||
12 | SRC_URI[sha256sum] = "48b644b8b2ffe597974e2526ca1a5d2d7da6a09c2d434f008dec80e9152701f7" | ||
13 | |||
14 | FILES_${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 @@ | |||
1 | SUMMARY = "XFCE theme for GTK" | ||
2 | SECTION = "x11/libs" | ||
3 | LICENSE = "GPLv2" | ||
4 | LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" | ||
5 | DEPENDS = "gtk+ gtk+3 xfce4-dev-tools-native" | ||
6 | |||
7 | inherit xfce | ||
8 | |||
9 | SRC_URI[md5sum] = "174e774d0debb052ec457640275f065d" | ||
10 | SRC_URI[sha256sum] = "eb03cf81da1a91e426a2141c092ed7a1634cab29ea2f3546480e901290a7a06d" | ||
11 | |||
12 | PACKAGES += "${PN}-themes gtk3-xfce-engine" | ||
13 | FILES_${PN} += "${libdir}/gtk-2.0/*/engines/*.so" | ||
14 | FILES_gtk3-xfce-engine += "${libdir}/gtk-3.0/*/theming-engines/*.so" | ||
15 | FILES_${PN}-themes += "${datadir}/themes" | ||
16 | |||
17 | FILES_${PN}-dbg += "${libdir}/gtk-3.0/*/theming-engines/.debug \ | ||
18 | ${libdir}/gtk-2.0/*/engines/.debug" | ||
19 | FILES_${PN}-dev += "${libdir}/gtk-2.0/*/engines/*.la \ | ||
20 | ${libdir}/gtk-3.0/*/theming-engines/*.la" | ||
21 | |||
22 | RDEPENDS_${PN} += "${PN}-themes" | ||
23 | RDEPENDS_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 @@ | |||
1 | From 708e59caaf1c0c271a96a4d1fe46b122aff45e34 Mon Sep 17 00:00:00 2001 | ||
2 | From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com> | ||
3 | Date: Mon, 27 Aug 2012 09:16:29 +0200 | ||
4 | Subject: [PATCH] libxfce4kbd-private/xfce4-keyboard-shortcuts.xml: fix xfwm4 | ||
5 | crash on first start | ||
6 | MIME-Version: 1.0 | ||
7 | Content-Type: text/plain; charset=UTF-8 | ||
8 | Content-Transfer-Encoding: 8bit | ||
9 | |||
10 | Upstream-Status: Pending | ||
11 | Signed-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 | |||
16 | diff --git a/libxfce4kbd-private/xfce4-keyboard-shortcuts.xml b/libxfce4kbd-private/xfce4-keyboard-shortcuts.xml | ||
17 | index 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="<Control>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 | -- | ||
30 | 1.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 @@ | |||
1 | From d61dc6718a2abaf70d19f17d34128cb7e161e057 Mon Sep 17 00:00:00 2001 | ||
2 | From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com> | ||
3 | Date: Wed, 18 Sep 2013 20:50:11 +0200 | ||
4 | Subject: [PATCH] configure.ac.in: remove optional gtk3 support | ||
5 | MIME-Version: 1.0 | ||
6 | Content-Type: text/plain; charset=UTF-8 | ||
7 | Content-Transfer-Encoding: 8bit | ||
8 | |||
9 | it drags in gtk3 if that was build before. This is not yet wanted | ||
10 | |||
11 | Upstream-Status: Inappropriate [configuration] | ||
12 | |||
13 | Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com> | ||
14 | --- | ||
15 | configure.ac.in | 6 ------ | ||
16 | 1 file changed, 6 deletions(-) | ||
17 | |||
18 | diff --git a/configure.ac.in b/configure.ac.in | ||
19 | index 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 | -- | ||
36 | 1.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 @@ | |||
1 | SUMMARY = "Xfce4 Widget library and X Window System interaction" | ||
2 | SECTION = "x11/libs" | ||
3 | LICENSE = "GPLv2" | ||
4 | LIC_FILES_CHKSUM = "file://COPYING;md5=252890d9eee26aab7b432e8b8a616475" | ||
5 | DEPENDS = "perl-native glib-2.0 gtk+ intltool libxfce4util xfconf xfce4-dev-tools virtual/libx11 libsm libice" | ||
6 | |||
7 | inherit autotools gettext gtk-doc xfce xfce-git | ||
8 | |||
9 | SRC_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 | " | ||
14 | SRCREV = "530b72f50fcbd8cb4b970fcc97be0321bf78183e" | ||
15 | PV = "4.10.0+git${SRCPV}" | ||
16 | S = "${WORKDIR}/git" | ||
17 | |||
18 | EXTRA_OECONF += "--enable-maintainer-mode --disable-debug --with-vendor-info=${DISTRO}" | ||
19 | |||
20 | PACKAGECONFIG ??= "" | ||
21 | PACKAGECONFIG[gladeui] = "--enable-gladeui,--disable-gladeui,glade3" | ||
22 | PACKAGECONFIG[startup-notification] = "--enable-startup-notification,--disable-startup-notification,startup-notification" | ||
23 | |||
24 | FILES_${PN}-dbg += "${libdir}/glade3/modules/.debug" | ||
25 | FILES_${PN}-dev += "${libdir}/glade3/modules/*.la \ | ||
26 | ${datadir}/glade3/catalogs/*.in" | ||
27 | PACKAGES += "${PN}-glade" | ||
28 | FILES_${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 @@ | |||
1 | SUMMARY = "Basic utility library for Xfce4" | ||
2 | SECTION = "x11/libs" | ||
3 | LICENSE = "GPLv2" | ||
4 | LIC_FILES_CHKSUM = "file://COPYING;md5=252890d9eee26aab7b432e8b8a616475" | ||
5 | DEPENDS = "intltool-native xfce4-dev-tools-native glib-2.0" | ||
6 | |||
7 | inherit xfce gtk-doc | ||
8 | |||
9 | SRC_URI[md5sum] = "11eec87e8eda2bc62512c2416cb807a1" | ||
10 | SRC_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 @@ | |||
1 | SUMMARY = "All packages required for a base installation of XFCE" | ||
2 | SECTION = "x11/wm" | ||
3 | LICENSE = "MIT" | ||
4 | LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690" | ||
5 | PR = "r5" | ||
6 | |||
7 | inherit packagegroup | ||
8 | |||
9 | RDEPENDS_${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 @@ | |||
1 | SUMMARY = "All packages for full XFCE installation" | ||
2 | SECTION = "x11/wm" | ||
3 | LICENSE = "MIT" | ||
4 | LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690" | ||
5 | |||
6 | PR = "r10" | ||
7 | |||
8 | inherit packagegroup | ||
9 | |||
10 | # mandatory | ||
11 | RDEPENDS_${PN} = " \ | ||
12 | packagegroup-xfce-base \ | ||
13 | " | ||
14 | |||
15 | # nice to have | ||
16 | RRECOMMENDS_${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 @@ | |||
1 | SUMMARY = "Automatic management of removable drives and media for thunar" | ||
2 | SECTION = "x11" | ||
3 | LICENSE = "GPLv2" | ||
4 | LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" | ||
5 | DEPENDS = "exo glib-2.0 gtk+ libxfce4ui libxfce4util xfconf libnotify udev" | ||
6 | |||
7 | inherit xfce | ||
8 | |||
9 | SRC_URI[md5sum] = "250af757ea629c7c27f554d17119080c" | ||
10 | SRC_URI[sha256sum] = "ff0887c862b578580d05f4cd7db66081382ff143f9cc7ea3c9ba58cf5d02bceb" | ||
11 | |||
12 | PACKAGECONFIG ??= "" | ||
13 | PACKAGECONFIG[notify] = "--enable-notifications,--disable-notifications,libnotify" | ||
14 | |||
15 | RDEPENDS_${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 @@ | |||
1 | SUMMARY = "File manager for the Xfce Desktop Environment" | ||
2 | SECTION = "x11" | ||
3 | LICENSE = "GPLv2" | ||
4 | LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" | ||
5 | DEPENDS = "exo glib-2.0 gtk+ gdk-pixbuf libxfce4util libxfce4ui libsm dbus-glib startup-notification libnotify xfce4-panel udev" | ||
6 | |||
7 | inherit xfce | ||
8 | |||
9 | SRC_URI[md5sum] = "4f10d5d5576ce5127308d6badbac3afa" | ||
10 | SRC_URI[sha256sum] = "9a2706f6881ac29cda9f0b0325d179153bc09e37bcbafcab9823c1c1ec89579d" | ||
11 | SRC_URI = "http://archive.xfce.org/src/xfce/${BPN}/${@'${PV}'[0:3]}/Thunar-${PV}.tar.bz2" | ||
12 | |||
13 | S = "${WORKDIR}/Thunar-${PV}/" | ||
14 | |||
15 | PACKAGECONFIG ??= "" | ||
16 | PACKAGECONFIG[pcre] = "--enable-pcre,--disable-pcre,libpcre" | ||
17 | |||
18 | FILES_${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 | |||
25 | FILES_${PN}-dbg += "${libdir}/thunarx-2/.debug/ \ | ||
26 | ${libdir}/xfce4/panel/plugins/.debug/ \ | ||
27 | ${libdir}/Thunar/.debug/" | ||
28 | |||
29 | RRECOMMENDS_${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 @@ | |||
1 | From f5c283b1251ad005da7342e654cd2ec5ae9e5fb2 Mon Sep 17 00:00:00 2001 | ||
2 | From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com> | ||
3 | Date: Fri, 26 Sep 2014 13:44:36 +0200 | ||
4 | Subject: [PATCH] configure: use pkg-config for freetype2 | ||
5 | MIME-Version: 1.0 | ||
6 | Content-Type: text/plain; charset=UTF-8 | ||
7 | Content-Transfer-Encoding: 8bit | ||
8 | |||
9 | Upstream-status: Pending | ||
10 | |||
11 | Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com> | ||
12 | --- | ||
13 | acinclude.m4 | 16 +--------------- | ||
14 | 1 file changed, 1 insertion(+), 15 deletions(-) | ||
15 | |||
16 | diff --git a/acinclude.m4 b/acinclude.m4 | ||
17 | index 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 | -- | ||
44 | 1.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 @@ | |||
1 | DESCRIPTION="Thumbnail service implementing the thumbnail management D-Bus specification" | ||
2 | SECTION = "x11/libs" | ||
3 | LICENSE = "GPLv2" | ||
4 | LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" | ||
5 | DEPENDS = "dbus-glib freetype gdk-pixbuf poppler curl xfce4-dev-tools-native libxml2 libgsf" | ||
6 | |||
7 | inherit xfce gtk-doc | ||
8 | |||
9 | SRC_URI[md5sum] = "2524e39439c13238565160da0b6fed2d" | ||
10 | SRC_URI[sha256sum] = "e7c20d79c830465f8b3b792893f05e8b8d5ba90aec4973e7517e07ef31537304" | ||
11 | SRC_URI += "file://0001-configure-use-pkg-config-for-freetype2.patch" | ||
12 | |||
13 | INSANE_SKIP_${PN} = "dev-so" | ||
14 | |||
15 | do_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 | |||
20 | PACKAGECONFIG ??= "" | ||
21 | PACKAGECONFIG[gstreamer-thumbnailer] = "--enable-gstreamer-thumbnailer,--disable-gstreamer-thumbnailer,gstreamer1.0 gstreamer1.0-plugins-base" | ||
22 | |||
23 | FILES_${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 | |||
29 | FILES_${PN}-dev += "${libdir}/tumbler-1/plugins/*.la \ | ||
30 | ${libdir}/tumbler-1/plugins/cache/*.la" | ||
31 | FILES_${PN}-staticdev += "${libdir}/tumbler-1/plugins/*.a \ | ||
32 | ${libdir}/tumbler-1/plugins/cache/*.a" | ||
33 | FILES_${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 @@ | |||
1 | DESCRIPTION="Xfce4 Application Finder" | ||
2 | SECTION = "x11" | ||
3 | LICENSE = "GPLv2" | ||
4 | LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" | ||
5 | DEPENDS="glib-2.0 gtk+ libxfce4util libxfce4ui garcon dbus-glib xfconf" | ||
6 | |||
7 | inherit xfce | ||
8 | |||
9 | SRC_URI[md5sum] = "bea253956638e2df2dd950343b3b1b7b" | ||
10 | SRC_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 @@ | |||
1 | diff --git a/scripts/Makefile.am b/scripts/Makefile.am | ||
2 | index 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 @@ | |||
1 | SUMMARY = "Xfce4 development tools" | ||
2 | HOMEPAGE = "http://www.xfce.org" | ||
3 | SECTION = "x11/libs" | ||
4 | LICENSE = "GPLv2" | ||
5 | LIC_FILES_CHKSUM = "file://COPYING;md5=9ac2e7cff1ddaf48b6eab6028f23ef88" | ||
6 | DEPENDS = "glib-2.0" | ||
7 | |||
8 | inherit autotools pkgconfig | ||
9 | |||
10 | BBCLASSEXTEND = "native" | ||
11 | |||
12 | SRC_URI = " \ | ||
13 | http://archive.xfce.org/src/xfce/${BPN}/${@'${PV}'[0:4]}/${BPN}-${PV}.tar.bz2 \ | ||
14 | file://xdt-autogen_dependency.patch \ | ||
15 | " | ||
16 | SRC_URI[md5sum] = "36112d0256092c30bd1b47105c547edf" | ||
17 | SRC_URI[sha256sum] = "2dccdd4935716a97db28464ba2403572ce03134fd7adf294e1a59eaf297e6555" | ||
18 | |||
19 | do_install_append() { | ||
20 | install -d ${D}${datadir}/aclocal | ||
21 | install -m 644 ${S}/m4macros/*.m4 ${D}${datadir}/aclocal/ | ||
22 | } | ||
23 | |||
24 | FILES_${PN} += "${datadir}/xfce4/dev-tools/m4macros/*.m4" | ||
25 | |||
26 | RDEPENDS_${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 @@ | |||
1 | SUMMARY = "Xfce4 Panel" | ||
2 | SECTION = "x11" | ||
3 | LICENSE = "GPLv2" | ||
4 | LIC_FILES_CHKSUM = "file://COPYING;md5=26a8bd75d8f8498bdbbe64a27791d4ee" | ||
5 | DEPENDS = "libxfce4util garcon libxfce4ui xfconf exo gtk+ dbus cairo virtual/libx11 libxml2 libwnck" | ||
6 | |||
7 | inherit xfce | ||
8 | |||
9 | SRC_URI[md5sum] = "8a1f8371fc725ba00f4594c5c0f81c59" | ||
10 | SRC_URI[sha256sum] = "573052ed1b65e247415f92df120c8a78f9e4152c2636d38c923f82e32b8475d6" | ||
11 | |||
12 | python 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 | |||
23 | PACKAGES_DYNAMIC += "^${PN}-plugin-.*" | ||
24 | |||
25 | FILES_${PN} += "${libdir}/xfce4/panel/migrate \ | ||
26 | ${libdir}/xfce4/panel/wrapper" | ||
27 | |||
28 | FILES_${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 @@ | |||
1 | SUMMARY = "Power manager for the Xfce desktop environment" | ||
2 | HOMEPAGE = "http://goodies.xfce.org/projects/applications/xfce4-power-manager" | ||
3 | SECTION = "x11" | ||
4 | |||
5 | LICENSE = "GPLv2+" | ||
6 | LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" | ||
7 | |||
8 | inherit xfce | ||
9 | |||
10 | DEPENDS = "gtk+ glib-2.0 dbus-glib xfconf libxfce4ui libxfce4util libnotify \ | ||
11 | libxrandr virtual/libx11 libxext xfce4-panel" | ||
12 | |||
13 | SRC_URI[md5sum] = "808a2630487d75e6eae915e464b7fda3" | ||
14 | SRC_URI[sha256sum] = "16a9e9bf3e0f8480d05b248817fbdc59e701e9161d3d0c7e53f3de28ed491f58" | ||
15 | |||
16 | EXTRA_OECONF = " \ | ||
17 | --enable-network-manager \ | ||
18 | --enable-panel-plugins \ | ||
19 | " | ||
20 | |||
21 | PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES','systemd','systemd','',d)}" | ||
22 | PACKAGECONFIG[systemd] = "--enable-polkit, --disable-polkit, polkit" | ||
23 | |||
24 | PACKAGES += "xfce4-powermanager-plugin" | ||
25 | |||
26 | FILES_${PN} += " \ | ||
27 | ${datadir}/polkit-1 \ | ||
28 | ${datadir}/appdata \ | ||
29 | " | ||
30 | |||
31 | FILES_xfce4-powermanager-plugin = " \ | ||
32 | ${libdir}/xfce4 \ | ||
33 | ${datadir}/xfce4 \ | ||
34 | " | ||
35 | |||
36 | RDEPENDS_xfce4-powermanager-plugin = "${PN}" | ||
37 | RDEPENDS_${PN} = "networkmanager udisks upower ${@base_contains('DISTRO_FEATURES','systemd','','consolekit',d)}" | ||
38 | |||
39 | # xfce4-brightness-plugin was replaced by xfce4-powermanager-plugin | ||
40 | RPROVIDES_xfce4-powermanager-plugin += "xfce4-brightness-plugin" | ||
41 | RREPLACES_xfce4-powermanager-plugin += "xfce4-brightness-plugin" | ||
42 | RCONFLICTS_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 @@ | |||
1 | From a629b051f4e5462150c77b95574bbc7a33bc9666 Mon Sep 17 00:00:00 2001 | ||
2 | From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com> | ||
3 | Date: Mon, 31 Dec 2012 16:35:29 +0100 | ||
4 | Subject: [PATCH] configure.ac: hard code path to iceauth | ||
5 | MIME-Version: 1.0 | ||
6 | Content-Type: text/plain; charset=UTF-8 | ||
7 | Content-Transfer-Encoding: 8bit | ||
8 | |||
9 | workaround AC_PATH_PROG which was meant to find programs required at build-time | ||
10 | not at run-time. | ||
11 | |||
12 | Upstream-Status: Inappropriate [config] | ||
13 | |||
14 | Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com> | ||
15 | --- | ||
16 | configure.ac | 8 +------- | ||
17 | 1 files changed, 1 insertions(+), 7 deletions(-) | ||
18 | |||
19 | diff --git a/configure.ac b/configure.ac | ||
20 | index 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 | -- | ||
39 | 1.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 @@ | |||
1 | SUMMARY = "xfce4-session is a session manager for Xfce 4 Desktop Environment" | ||
2 | SECTION = "x11" | ||
3 | LICENSE = "GPLv2" | ||
4 | LIC_FILES_CHKSUM = "file://COPYING;md5=9ac2e7cff1ddaf48b6eab6028f23ef88" | ||
5 | DEPENDS = "virtual/libx11 libsm libxfce4util libxfce4ui gtk+ libwnck dbus dbus-glib xfconf" | ||
6 | RDEPENDS_${PN} = "netbase xinit dbus-x11 iceauth upower" | ||
7 | |||
8 | inherit xfce update-alternatives | ||
9 | |||
10 | SRC_URI[md5sum] = "1757657c1d590aa6274b7b7cbba33352" | ||
11 | SRC_URI[sha256sum] = "0154fabdc398798c3445374ccc52a2f5bcb2d867fc94bc54114395b24f9cfc83" | ||
12 | SRC_URI += " \ | ||
13 | file://0001-configure.in-hard-code-path-to-iceauth.patch \ | ||
14 | " | ||
15 | |||
16 | ALTERNATIVE_${PN} = "x-session-manager" | ||
17 | ALTERNATIVE_TARGET[x-session-manager] = "${bindir}/xfce4-session" | ||
18 | ALTERNATIVE_PRIORITY_${PN} = "100" | ||
19 | |||
20 | # protect from frightening message that xfce might not work correctly | ||
21 | pkg_postinst_${PN} () { | ||
22 | echo 127.0.0.1 ${MACHINE} >> /etc/hosts | ||
23 | } | ||
24 | |||
25 | PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES','systemd','systemd','consolekit',d)}" | ||
26 | PACKAGECONFIG[systemd] = "--enable-systemd, --disable-systemd, polkit, systemd" | ||
27 | PACKAGECONFIG[consolekit] = ",,,consolekit" | ||
28 | |||
29 | FILES_${PN} += "${libdir}/xfce4/*/*/*.so \ | ||
30 | ${libdir}/xfce4/session/*-*-* \ | ||
31 | ${datadir}/xsessions \ | ||
32 | ${datadir}/themes/Default/balou/*" | ||
33 | |||
34 | FILES_${PN}-dbg += "${libdir}/xfce4/*/*/.debug" | ||
35 | |||
36 | FILES_${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 @@ | |||
1 | From a84a7a6537544cdf56e1d4cad47a4cf002964039 Mon Sep 17 00:00:00 2001 | ||
2 | From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com> | ||
3 | Date: Sun, 20 May 2012 15:20:08 +0200 | ||
4 | Subject: [PATCH 1/2] xsettings.xml: remove trouble causing comment | ||
5 | MIME-Version: 1.0 | ||
6 | Content-Type: text/plain; charset=UTF-8 | ||
7 | Content-Transfer-Encoding: 8bit | ||
8 | Upstream-Status: Pending | ||
9 | |||
10 | |||
11 | Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com> | ||
12 | --- | ||
13 | xfsettingsd/xsettings.xml | 5 ----- | ||
14 | 1 files changed, 0 insertions(+), 5 deletions(-) | ||
15 | |||
16 | diff --git a/xfsettingsd/xsettings.xml b/xfsettingsd/xsettings.xml | ||
17 | index 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 | -- | ||
30 | 1.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 @@ | |||
1 | From 071a390ba09a8a412f73d295be81a805804a1f24 Mon Sep 17 00:00:00 2001 | ||
2 | From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com> | ||
3 | Date: Sun, 20 May 2012 15:22:09 +0200 | ||
4 | Subject: [PATCH 2/2] xsettings.xml: Set default themes | ||
5 | MIME-Version: 1.0 | ||
6 | Content-Type: text/plain; charset=UTF-8 | ||
7 | Content-Transfer-Encoding: 8bit | ||
8 | Upstram status: Inappropriate [configuration] | ||
9 | |||
10 | Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com> | ||
11 | --- | ||
12 | xfsettingsd/xsettings.xml | 4 ++-- | ||
13 | 1 files changed, 2 insertions(+), 2 deletions(-) | ||
14 | |||
15 | diff --git a/xfsettingsd/xsettings.xml b/xfsettingsd/xsettings.xml | ||
16 | index 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 | -- | ||
31 | 1.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 @@ | |||
1 | From 4be18d7c8f2ac72b402dcbe8385922638fcd0a89 Mon Sep 17 00:00:00 2001 | ||
2 | From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com> | ||
3 | Date: Tue, 30 Oct 2012 13:14:11 +0100 | ||
4 | Subject: [PATCH 1/5] add cursor-theme "xfce-invisible" | ||
5 | MIME-Version: 1.0 | ||
6 | Content-Type: text/plain; charset=UTF-8 | ||
7 | Content-Transfer-Encoding: 8bit | ||
8 | |||
9 | Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com> | ||
10 | Upstream-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 | |||
21 | diff --git a/Makefile.am b/Makefile.am | ||
22 | index 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 \ | ||
33 | diff --git a/configure.ac.in b/configure.ac.in | ||
34 | index 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 | ||
53 | diff --git a/cursors/Makefile.am b/cursors/Makefile.am | ||
54 | new file mode 100644 | ||
55 | index 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 | + | ||
237 | diff --git a/cursors/index.theme b/cursors/index.theme | ||
238 | new file mode 100644 | ||
239 | index 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 | -- | ||
247 | 1.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 @@ | |||
1 | From 7c87f8f202a7743a18b8d7fdab5c66a3d54badd5 Mon Sep 17 00:00:00 2001 | ||
2 | From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com> | ||
3 | Date: Thu, 1 Nov 2012 21:01:59 +0100 | ||
4 | Subject: [PATCH 2/5] mouse settings dialog: add touchscreen-pointer option | ||
5 | MIME-Version: 1.0 | ||
6 | Content-Type: text/plain; charset=UTF-8 | ||
7 | Content-Transfer-Encoding: 8bit | ||
8 | |||
9 | |||
10 | Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com> | ||
11 | Upstream-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 | |||
18 | diff --git a/dialogs/mouse-settings/main.c b/dialogs/mouse-settings/main.c | ||
19 | index 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)); | ||
104 | diff --git a/dialogs/mouse-settings/mouse-dialog.glade b/dialogs/mouse-settings/mouse-dialog.glade | ||
105 | index 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 | -- | ||
151 | 1.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 @@ | |||
1 | From a3b0218137c8796fbb7bd6d852dc8ab5895a65cb Mon Sep 17 00:00:00 2001 | ||
2 | From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com> | ||
3 | Date: Sat, 3 Nov 2012 18:32:01 +0100 | ||
4 | Subject: [PATCH 3/5] XfcePointersHelper gets a pointer to XfceXSettingsHelper | ||
5 | MIME-Version: 1.0 | ||
6 | Content-Type: text/plain; charset=UTF-8 | ||
7 | Content-Transfer-Encoding: 8bit | ||
8 | |||
9 | |||
10 | Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com> | ||
11 | Upstream-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 | |||
18 | diff --git a/xfsettingsd/main.c b/xfsettingsd/main.c | ||
19 | index 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); | ||
31 | diff --git a/xfsettingsd/pointers.c b/xfsettingsd/pointers.c | ||
32 | index 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 | -- | ||
136 | 1.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 @@ | |||
1 | From 878fe1287a4c73f67dd2b51d1d7c450097aeffa7 Mon Sep 17 00:00:00 2001 | ||
2 | From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com> | ||
3 | Date: Thu, 20 Dec 2012 16:49:18 +0100 | ||
4 | Subject: [PATCH 4/5] XfceXSettingsHelper gets a property | ||
5 | "touchscreen-pointer" | ||
6 | MIME-Version: 1.0 | ||
7 | Content-Type: text/plain; charset=UTF-8 | ||
8 | Content-Transfer-Encoding: 8bit | ||
9 | |||
10 | When this property is set, it overrides overrides cursor theme to | ||
11 | "xfce-invisible" and sets /Gtk/TouchscreenMode. | ||
12 | |||
13 | Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com> | ||
14 | Upstream-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 | |||
21 | diff --git a/xfsettingsd/xsettings.c b/xfsettingsd/xsettings.c | ||
22 | index 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 | -- | ||
248 | 1.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 @@ | |||
1 | From 78353322ce1070ee1fd7bb5367e2c4dd43928f42 Mon Sep 17 00:00:00 2001 | ||
2 | From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com> | ||
3 | Date: Thu, 20 Dec 2012 16:58:19 +0100 | ||
4 | Subject: [PATCH 5/5] pointers: detect a change of pointer-device used and set | ||
5 | "touchscreen-pointer" as found in xfconf | ||
6 | MIME-Version: 1.0 | ||
7 | Content-Type: text/plain; charset=UTF-8 | ||
8 | Content-Transfer-Encoding: 8bit | ||
9 | |||
10 | To detect pointer device in use the DevicePresence-, DeviceMotionNotify- and | ||
11 | DeviceButtonPress-events are handled. Tests showed that by repopenning and | ||
12 | closing the pointer devices (e.g when another setting was modified), the events | ||
13 | stopped working. Therefore all pointer devices are opened only once and managed | ||
14 | in a hash table. | ||
15 | |||
16 | Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com> | ||
17 | Upstream-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 | |||
23 | diff --git a/xfsettingsd/pointers.c b/xfsettingsd/pointers.c | ||
24 | index 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 | -- | ||
588 | 1.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 @@ | |||
1 | SUMMARY = "Xfce4 settings" | ||
2 | SECTION = "x11/wm" | ||
3 | LICENSE = "GPLv2" | ||
4 | LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" | ||
5 | DEPENDS = "exo exo-native garcon gtk+ libxfce4util libxfce4ui xfconf dbus-glib libxi virtual/libx11 xrandr libnotify libxcursor libxklavier upower" | ||
6 | |||
7 | inherit xfce xfce-git | ||
8 | |||
9 | SRC_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 | " | ||
20 | SRCREV = "b7a0e1fd77f5bb5c372223ff62aec7acf252f061" | ||
21 | S = "${WORKDIR}/git" | ||
22 | PV = "4.11.0+git${SRCPV}" | ||
23 | |||
24 | EXTRA_OECONF += "--enable-maintainer-mode --disable-debug" | ||
25 | |||
26 | PACKAGECONFIG ??= " \ | ||
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 | " | ||
30 | PACKAGECONFIG[datetime-setter] = "--enable-datetime-settings, --disable-datetime-settings,, tzdata" | ||
31 | PACKAGECONFIG[notify] = "--enable-libnotify,--disable-libnotify,libnotify" | ||
32 | PACKAGECONFIG[sound-setter] = "--enable-sound-settings, --disable-sound-settings, libcanberra, libcanberra-gtk2 sound-theme-freedesktop" | ||
33 | |||
34 | FILES_${PN} += " \ | ||
35 | ${libdir}/xfce4 \ | ||
36 | ${datadir}/xfce4 \ | ||
37 | " | ||
38 | |||
39 | do_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 | |||
45 | RRECOMMENDS_${PN} += "gnome-icon-theme" | ||
46 | RRECOMMENDS_${PN} += "${@base_contains('DISTRO_FEATURES','alsa','libcanberra-alsa','',d)}" | ||
47 | RRECOMMENDS_${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 @@ | |||
1 | From 233f7d3a9b0f98b794548433cead77633aab5f7d Mon Sep 17 00:00:00 2001 | ||
2 | From: Nick Schermer <nick@xfce.org> | ||
3 | Date: Sun, 6 Jan 2013 12:46:47 +0100 | ||
4 | Subject: [PATCH] Simplify checks. | ||
5 | MIME-Version: 1.0 | ||
6 | Content-Type: text/plain; charset=UTF-8 | ||
7 | Content-Transfer-Encoding: 8bit | ||
8 | |||
9 | Upstream-Status: backport [1] | ||
10 | |||
11 | [1] http://git.xfce.org/xfce/xfconf/commit/?id=233f7d3a9b0f98b794548433cead77633aab5f7d | ||
12 | |||
13 | Signed-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 | |||
21 | diff --git a/tests/Makefile.am b/tests/Makefile.am | ||
22 | index 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 | ||
31 | diff --git a/tests/Makefile.inc b/tests/Makefile.inc | ||
32 | index 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) | ||
55 | diff --git a/tests/test-template.sh.in b/tests/test-template.sh.in | ||
56 | deleted file mode 100644 | ||
57 | index 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 | -- | ||
111 | 1.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 @@ | |||
1 | SUMMARY = "Xfce configuration daemon and utilities" | ||
2 | SECTION = "x11/wm" | ||
3 | LICENSE = "GPLv2" | ||
4 | LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" | ||
5 | DEPENDS = "dbus-glib libxfce4util perl intltool-native xfce4-dev-tools-native" | ||
6 | |||
7 | inherit xfce gtk-doc | ||
8 | |||
9 | EXTRA_OECONF += "PERL=${STAGING_DIR_TARGET}/usr/bin/perl" | ||
10 | |||
11 | SRC_URI += "file://0001-Simplify-checks.patch" | ||
12 | SRC_URI[md5sum] = "4ed48150a03fb5f42b455494307b7f28" | ||
13 | SRC_URI[sha256sum] = "175219a441cc7d0f210bbd1a3b0abba41598627cd9db27235811400c3e100576" | ||
14 | |||
15 | FILES_${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 @@ | |||
1 | SUMMARY = "Xfce4 Desktop Manager" | ||
2 | SECTION = "x11/base" | ||
3 | LICENSE = "GPLv2" | ||
4 | LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" | ||
5 | DEPENDS = "glib-2.0 gtk+ libxfce4util libxfce4ui libwnck xfconf dbus-glib thunar garcon exo" | ||
6 | |||
7 | inherit xfce | ||
8 | |||
9 | SRC_URI[md5sum] = "54a84ce63046c279fc3ec3f436d2f1b0" | ||
10 | SRC_URI[sha256sum] = "49a6e0be513e307e896f7e5929825babec9bbcd4b2e73552f9d27647a4db797d" | ||
11 | |||
12 | PACKAGECONFIG ??= "" | ||
13 | PACKAGECONFIG[notify] = "--enable-notifications,--disable-notifications,libnotify" | ||
14 | |||
15 | FILES_${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 @@ | |||
1 | From e87977696f03b0c9f72884f8e3e3ec3248dfd80a Mon Sep 17 00:00:00 2001 | ||
2 | From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com> | ||
3 | Date: Tue, 18 Jun 2013 12:46:42 +0200 | ||
4 | Subject: [PATCH] don't block display events when time is set backwards | ||
5 | MIME-Version: 1.0 | ||
6 | Content-Type: text/plain; charset=UTF-8 | ||
7 | Content-Transfer-Encoding: 8bit | ||
8 | |||
9 | Upstream-Status: Submitted [1] | ||
10 | |||
11 | [1] https://bugzilla.xfce.org/show_bug.cgi?id=10184 | ||
12 | |||
13 | Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com> | ||
14 | --- | ||
15 | src/display.c | 2 +- | ||
16 | 1 files changed, 1 insertions(+), 1 deletions(-) | ||
17 | |||
18 | diff --git a/src/display.c b/src/display.c | ||
19 | index 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 | -- | ||
32 | 1.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 @@ | |||
1 | DESCRIPTION="Xfce4 Window Manager" | ||
2 | SECTION = "x11/wm" | ||
3 | LICENSE = "GPLv2" | ||
4 | LIC_FILES_CHKSUM = "file://COPYING;md5=d791728a073bc009b4ffaf00b7599855" | ||
5 | DEPENDS = "virtual/libx11 libxpm gtk+ libxfce4util libxfce4ui xfconf libwnck dbus-glib startup-notification exo-native" | ||
6 | |||
7 | inherit xfce xfce-git update-alternatives | ||
8 | |||
9 | SRC_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 | |||
14 | SRCREV = "bce3062d0879ab8504c446f99ad57c9fd76c5097" | ||
15 | S = "${WORKDIR}/git" | ||
16 | PV = "4.10.1+git${SRCPV}" | ||
17 | |||
18 | EXTRA_OECONF += "--enable-maintainer-mode" | ||
19 | |||
20 | python 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 | |||
25 | PACKAGES_DYNAMIC += "^xfwm4-theme-.*" | ||
26 | |||
27 | ALTERNATIVE_${PN} = "x-window-manager" | ||
28 | ALTERNATIVE_TARGET[x-window-manager] = "${bindir}/xfwm4" | ||
29 | ALTERNATIVE_PRIORITY[x-window-manager] = "30" | ||
30 | |||
31 | RDEPENDS_${PN} = "xfwm4-theme-default" | ||
32 | FILES_${PN} += "${libdir}/xfce4/xfwm4/helper-dialog \ | ||
33 | ${datadir}/xfwm4/defaults \ | ||
34 | " | ||
35 | FILES_${PN}-dbg += "${libexecdir}/xfce4/xfwm4/.debug/*" | ||
36 | |||