Sato desktop upgrade (Gtk3 etc.)
cover Sato desktop upgrade (Gtk3 etc.)
Here's a snapshot of the Sato upgrade I've been working on (YOCTO
#3169). It's based on Ross' work from 2.5 years back. The bigger
changes currently live as my forks of the upstream projects (gtk3 branches of various projects at https://github.com/jku), and the patchset here modifies recipes to temporarily use those forks:
this is intended to make testing and review possible but also means this is just an RFC: once the upstream changes are merged, I'll update this patchset.
For those not familiar with it, the goal of the exercise is to
1. Bring Sato desktop closer to this decade (Don't depend on ancient components, remove deprecated code)
2. Focus more on delivering an environment for validating and testing oe-core, less on building a DE for mobile devices
Major changes:
* Ports to GTK3: matchbox-desktop, matchbox-panel-2, connman-gnome, sato-screenshot, xsettings-daemon
* GTK+ theme is Adwaita (upstream default)
* Matchbox WM theme modified to somewhat resemble Adwaita (boring gray instead of in-your-face green)
* Matchbox panel is no longer drawn on top of application titlebars because that fails badly with client side decorations. Instead it's a thinner panel always on top of screen, like gnome2 panel.
* Custom GTK theme engine is dropped
Here's a screenshot showing the panel and window decoration:
http://imgur.com/noqptiu
Regressions:
* on-screen keyboard: I've not looked very closely but I believe this requires IM work for GTK3
* startup notification
Questions:
* Schedule: this is for Yocto 2.1 in bugzilla (now M3) but got delayed. it's a bigger change and isn't ready to merge (as the upstream patches need review). Should I aim for next release instead?
* How should we do review on this? The upstreams are mostly on yoctoproject.org so I could send patches to some YP mailing list... but testing many of the patches is impossible without the patches for the other projects.
* Are the regressions listed above blockers?
* Anything I've missed? Theme design bikeshedding?
Cheers,
Jussi
The following changes since commit 37b61b059031e3c272a929b834e12fd83f46598c:
siteinfo: Add ppc64le support. (2016-03-10 23:13:55 +0000)
are available in the git repository at:
git://git.yoctoproject.org/poky-contrib jku/matchbox-wip
http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=jku/matchbox-wip
Jussi Kukkonen (12):
gnome-themes-standard: Add new recipe packagegroup-core-x11-sato: Update for GTK3 changes
matchbox-theme-sato: Upgrade to JKU
matchbox-desktop: Ugrade to JKU
matchbox-panel-2: Upgrade to JKU
matchbox-session-sato: Update session startup
sato-screenshot: Upgrade to JKU
settings-daemon: Upgrade to JKU
gtk-sato-engine: Remove as unused
matchbox-wm: Upgrade to JKU
connman-gnome: Upgrade to JKU
matchbox-panel-2: Depend on dbus-glib-native for binding-tool
.../connman-gnome-fix-dbus-interface-name.patch | 187 --------------------- .../connman-gnome/images/connman-signal-01.png | Bin 490 -> 0 bytes .../connman-gnome/images/connman-signal-02.png | Bin 496 -> 0 bytes .../connman-gnome/images/connman-signal-03.png | Bin 492 -> 0 bytes .../connman-gnome/images/connman-signal-04.png | Bin 470 -> 0 bytes .../connman-gnome/images/connman-signal-05.png | Bin 419 -> 0 bytes .../connman/connman-gnome_0.7.bb | 12 +- .../gnome/gnome-themes-standard_3.18.0.bb | 37 ++++ .../matchbox-wm/matchbox-wm_git.bb | 4 +- meta/recipes-sato/gtk-engines/gtk-sato-engine.inc | 25 --- .../gtk-engines/gtk-sato-engine_git.bb | 14 -- .../matchbox-desktop/matchbox-desktop_git.bb | 7 +- .../matchbox-panel-2/files/silence-warnings.patch | 64 ------- .../matchbox-panel-2/matchbox-panel-2_git.bb | 12 +- .../matchbox-sato/matchbox-session-sato/session | 9 +- .../matchbox-sato/matchbox-session-sato_0.1.bb | 4 +- .../matchbox-theme-sato/matchbox-theme-sato_0.1.bb | 8 - .../matchbox-theme-sato/matchbox-theme-sato_git.bb | 8 +- .../packagegroups/packagegroup-core-x11-sato.bb | 6 +- .../sato-screenshot/sato-screenshot_git.bb | 6 +- .../files/dso_linking_change_build_fix.patch | 31 ---- .../settings-daemon/settings-daemon_git.bb | 8 +- 22 files changed, 65 insertions(+), 377 deletions(-) delete mode 100644 meta/recipes-connectivity/connman/connman-gnome/connman-gnome-fix-dbus-interface-name.patch delete mode 100644 meta/recipes-connectivity/connman/connman-gnome/images/connman-signal-01.png delete mode 100644 meta/recipes-connectivity/connman/connman-gnome/images/connman-signal-02.png delete mode 100644 meta/recipes-connectivity/connman/connman-gnome/images/connman-signal-03.png delete mode 100644 meta/recipes-connectivity/connman/connman-gnome/images/connman-signal-04.png delete mode 100644 meta/recipes-connectivity/connman/connman-gnome/images/connman-signal-05.png create mode 100644 meta/recipes-gnome/gnome/gnome-themes-standard_3.18.0.bb delete mode 100644 meta/recipes-sato/gtk-engines/gtk-sato-engine.inc delete mode 100644 meta/recipes-sato/gtk-engines/gtk-sato-engine_git.bb delete mode 100644 meta/recipes-sato/matchbox-panel-2/files/silence-warnings.patch delete mode 100644 meta/recipes-sato/matchbox-theme-sato/matchbox-theme-sato_0.1.bb delete mode 100644 meta/recipes-sato/settings-daemon/files/dso_linking_change_build_fix.patch
Signature · 1 line
2.1.4
RFC PATCH 1/12 gnome-themes-standard: Add new recipe
Only Adwaita (default GTK+ theme) currently gets installed.
--- .../gnome/gnome-themes-standard_3.18.0.bb | 37 ++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 meta/recipes-gnome/gnome/gnome-themes-standard_3.18.0.bb
meta/recipes-gnome/gnome/gnome-themes-standard_3.18.0.bb new file +37 -0
@@ -0,0 +1,37 @@ +SUMMARY = "GTK+2 standard themes" +HOMEPAGE = "http://ftp.gnome.org/pub/GNOME/sources/gnome-themes-standard/" +BUGTRACKER = "https://bugzilla.gnome.org/" +SECTION = "x11/gnome" + +LICENSE = "LGPL-2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1" + +inherit autotools pkgconfig gettext gtk-icon-cache upstream-version-is-even + +DEPENDS += "intltool-native gtk+" + +MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}" +SRC_URI = "${GNOME_MIRROR}/${BPN}/${MAJ_VER}/${BPN}-${PV}.tar.xz \ + " + +SRC_URI[md5sum] = "4d17bc62e4d0c5440fc4eda3d9271367" +SRC_URI[sha256sum] = "e646eb04c225282b7df7fff65741adaad4cf9ed2c12616b7310e7edd27d2bacb" + +EXTRA_OECONF = "--disable-gtk3-engine" + +do_install_append() { + # Only building Adwaita, remove highcontrast files + rm -rf ${D}${prefix}/share/themes/HighContrast \ + ${D}${prefix}/share/icons +} + +# There could be gnome-theme-highcontrast as well but that requires +# gtk+3 and includes lots of icons (is also broken with B != S). +PACKAGES += "gnome-theme-adwaita \ + gnome-theme-adwaita-dbg \ + gnome-theme-adwaita-dev" + +FILES_gnome-theme-adwaita = "${prefix}/share/themes/Adwaita \ + ${libdir}/gtk-2.0/2.10.0/engines/libadwaita.so" +FILES_gnome-theme-adwaita-dev = "${libdir}/gtk-2.0/2.10.0/engines/libadwaita.la" +FILES_gnome-theme-adwaita-dbg = "${libdir}/gtk-2.0/2.10.0/engines/.debug/libadwaita.so"
Signature · 1 line
2.1.4
RFC PATCH 2/12 packagegroup-core-x11-sato: Update for GTK3 changes
The keyboard/IM is not yet ported, not including it in packagegroup.
--- meta/recipes-sato/packagegroups/packagegroup-core-x11-sato.bb | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-)
meta/recipes-sato/packagegroups/packagegroup-core-x11-sato.bb +1 -5
@@ -26,14 +26,10 @@ SUMMARY_${PN}-base = "Sato desktop - base packages" RDEPENDS_${PN}-base = "\ matchbox-desktop \ matchbox-session-sato \ - matchbox-keyboard \ - matchbox-keyboard-applet \ - matchbox-keyboard-im \ - matchbox-config-gtk \ xcursor-transparent-theme \ sato-icon-theme \ + gnome-theme-adwaita \ settings-daemon \ - gtk-sato-engine \ shutdown-desktop \ libsdl \ ${NETWORK_MANAGER} \
Signature · 1 line
2.1.4
RFC PATCH 3/12 matchbox-theme-sato: Upgrade to JKU
In reply to Jussi KukkonenModify the WM theme to more resemble Adwaita (titlebar is thinner, colors are mostly uniform gray instead of green ).
--- meta/recipes-sato/matchbox-theme-sato/matchbox-theme-sato_0.1.bb | 8 -------- meta/recipes-sato/matchbox-theme-sato/matchbox-theme-sato_git.bb | 8 ++------ 2 files changed, 2 insertions(+), 14 deletions(-) delete mode 100644 meta/recipes-sato/matchbox-theme-sato/matchbox-theme-sato_0.1.bb
meta/recipes-sato/matchbox-theme-sato/matchbox-theme-sato_0.1.bb deleted +0 -8
@@ -1,8 +0,0 @@ -require matchbox-theme-sato.inc - -PR = "r1" - -SRC_URI = "http://pokylinux.org/releases/sato/matchbox-theme-sato-0.1.tar.gz" - -SRC_URI[md5sum] = "72ae272ef7803141a3dcb69e670cff97" -SRC_URI[sha256sum] = "5b59f9646edbfb907a309332db3bd6fa7080dc1fe24df549480cfae7d974a3fb"
meta/recipes-sato/matchbox-theme-sato/matchbox-theme-sato_git.bb +2 -6
@@ -1,12 +1,8 @@ require matchbox-theme-sato.inc -SRCREV = "f72cf4ed7d71ad9e47b0f2d3dbc593bc2f3e76f8" +SRCREV = "0405ea2e5f5ea3fab12434886c97c592a7e1ce43" PV = "0.2+git${SRCPV}" -DEFAULT_PREFERENCE = "-1" - -SRC_URI = "git://git.yoctoproject.org/matchbox-sato" - -EXTRA_OECONF += "${@bb.utils.contains('MACHINE_FEATURES', 'qvga', '--with-mode=qvga', '',d)}" +SRC_URI = "git://github.com/jku/matchbox-sato;branch=gtk3" S = "${WORKDIR}/git"
Signature · 1 line
2.1.4
RFC PATCH 4/12 matchbox-desktop: Ugrade to JKU
In reply to Jussi KukkonenThis is the GTK+3 version.
--- meta/recipes-sato/matchbox-desktop/matchbox-desktop_git.bb | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-)
meta/recipes-sato/matchbox-desktop/matchbox-desktop_git.bb +3 -4
@@ -4,16 +4,15 @@ BUGTRACKER = "http://bugzilla.yoctoproject.org/" LICENSE = "GPLv2+ & LGPLv2+" LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ - file://libtaku/eggsequence.h;endline=20;md5=b91f68f7642a1459fa1f4c9df94a8f15 \ file://src/desktop.c;endline=20;md5=36c9bf295e6007f3423095f405af5a2d \ file://src/main.c;endline=19;md5=2044244f97a195c25b7dc602ac7e9a00" -DEPENDS = "gtk+ startup-notification dbus" +DEPENDS = "gtk+3 startup-notification dbus" SECTION = "x11/wm" -SRCREV = "71e3e6e04271e9d5a14f1c231ef100c7f320134d" +SRCREV = "4972177fc5c7ce15d4f9c1c98787a98e633a758e" PV = "2.0+git${SRCPV}" -SRC_URI = "git://git.yoctoproject.org/${BPN}-2" +SRC_URI = "git://github.com/jku/matchbox-desktop-2.git;branch=gtk3" EXTRA_OECONF = "--enable-startup-notification --with-dbus"
Signature · 1 line
2.1.4
RFC PATCH 5/12 matchbox-panel-2: Upgrade to JKU
In reply to Jussi KukkonenThis is the GTK3 version.
--- .../matchbox-panel-2/files/silence-warnings.patch | 64 ---------------------- .../matchbox-panel-2/matchbox-panel-2_git.bb | 12 ++-- 2 files changed, 6 insertions(+), 70 deletions(-) delete mode 100644 meta/recipes-sato/matchbox-panel-2/files/silence-warnings.patch
meta/recipes-sato/matchbox-panel-2/files/silence-warnings.patch deleted +0 -64
@@ -1,64 +0,0 @@ -Don't warn if the machine doesn't actually have a battery, or if the applets -string contains consecutive separators. - -Upstream-Status: Backport -Signed-off-by: Ross Burton <[email protected]> - -diff --git a/applets/battery/battery-acpi.c b/applets/battery/battery-acpi.c -index 6515cb0..c44dd12 100644 ---- a/applets/battery/battery-acpi.c -+++ b/applets/battery/battery-acpi.c -@@ -14,8 +14,6 @@ int batt_state, ac_state; - int pm_support(void) - { - if(check_acpi_support() == NOT_SUPPORTED){ -- g_warning("No ACPI support\n"); -- - return 0; - } - -@@ -32,8 +30,9 @@ const char* pm_battery_icon(void) - const char *icon; - battery_t *binfo; - -+ /* No battery available (not present, disabled, or something -+ else. Silently do nothing. */ - if (batt_state != SUCCESS) { -- g_warning("Couldnt initialize ACPI battery\n"); - return NULL; - } - -diff --git a/applets/battery/battery-apm.c b/applets/battery/battery-apm.c -index 5467438..2f39cb6 100644 ---- a/applets/battery/battery-apm.c -+++ b/applets/battery/battery-apm.c -@@ -10,8 +10,6 @@ - int pm_support(void) - { - if (1 == apm_exists ()) { -- g_warning ("No APM support"); -- - return 0; - } - -diff --git a/matchbox-panel/mb-panel.c b/matchbox-panel/mb-panel.c -index 2d8cafd..828a36d 100644 ---- a/matchbox-panel/mb-panel.c -+++ b/matchbox-panel/mb-panel.c -@@ -110,10 +110,15 @@ load_applets (const char *applets_desc, - applets = g_strsplit (applets_desc, ",", -1); - - for (i = 0; applets[i]; i++) { -+ char *s; - char **bits; - GtkWidget *applet; - -- bits = g_strsplit (applets[i], ":", 2); -+ s = applets[i]; -+ if (s == NULL || s[0] == '\0') -+ continue; -+ -+ bits = g_strsplit (s, ":", 2); - - applet = load_applet (bits[0], - bits[1],
meta/recipes-sato/matchbox-panel-2/matchbox-panel-2_git.bb +6 -6
@@ -5,24 +5,23 @@ BUGTRACKER = "http://bugzilla.yoctoproject.org/" LICENSE = "GPLv2+" LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ file://matchbox-panel/mb-panel.h;endline=10;md5=0b7db28f4b6863fb853d0467e590019a \ - file://applets/startup/startup.c;endline=22;md5=b0a64fbef3097d79f8264e6907a98f03" + file://applets/startup/startup.c;endline=22;md5=7cbcea60b667f609495222faf3e07917" -DEPENDS = "gnome-common gtk+ startup-notification dbus dbus-glib" +DEPENDS = "gnome-common gtk+3 startup-notification dbus dbus-glib" DEPENDS += " ${@bb.utils.contains("MACHINE_FEATURES", "acpi", "libacpi", "",d)}" DEPENDS += " ${@bb.utils.contains("MACHINE_FEATURES", "apm", "apmd", "",d)}" # The startup-notification requires x11 in DISTRO_FEATURES REQUIRED_DISTRO_FEATURES = "x11" -SRCREV = "26a3a67b41c50e0ae163d8fe86ccf7a0f0a671ae" +SRCREV = "96c8a89b264a9c19faaa70750c40f3448beb4df2" PV = "2.0+git${SRCPV}" RPROVIDES_${PN} = "matchbox-panel" RREPLACES_${PN} = "matchbox-panel" RCONFLICTS_${PN} = "matchbox-panel" -SRC_URI = "git://git.yoctoproject.org/${BPN} \ - file://silence-warnings.patch" +SRC_URI = "git://github.com/jku/matchbox-panel-2.git;branch=gtk3" EXTRA_OECONF = "--enable-startup-notification --enable-dbus" EXTRA_OECONF += " ${@bb.utils.contains("MACHINE_FEATURES", "acpi", "--with-battery=acpi", "",d)}"
@@ -32,7 +31,8 @@ S = "${WORKDIR}/git" FILES_${PN} += "${libdir}/matchbox-panel/*.so \ ${datadir}/matchbox-panel/brightness/*.png \ - ${datadir}/matchbox-panel/startup/*.png " + ${datadir}/matchbox-panel/startup/*.png \ + ${datadir}/icons/" FILES_${PN}-dev += "${libdir}/matchbox-panel/*.la" inherit autotools pkgconfig distro_features_check
Signature · 1 line
2.1.4
RFC PATCH 6/12 matchbox-session-sato: Update session startup
In reply to Jussi Kukkonen* Use Adwaita Gtk+ theme
* sato-gtk-engine is no longer needed with Adwaita
* GTK_CSD tricks are no longer needed since the panel does not draw on top windows
--- meta/recipes-sato/matchbox-sato/matchbox-session-sato/session | 9 ++------- meta/recipes-sato/matchbox-sato/matchbox-session-sato_0.1.bb | 4 ++-- 2 files changed, 4 insertions(+), 9 deletions(-)
meta/recipes-sato/matchbox-sato/matchbox-session-sato/session +2 -7
@@ -14,11 +14,6 @@ else KEYBOARD_APPLET="keyboard" fi -# Tell GTK+3 we really want server side decorations, even with -# GtkHeaderBar using applications: Without that mb-panel will render -# on top of the client side decorations. -export GTK_CSD=0 - matchbox-desktop & # Lines containing feature-[foo] are removed at build time if the machine
@@ -28,6 +23,6 @@ START_APPLETS=showdesktop,windowselector END_APPLETS=clock,battery,$KEYBOARD_APPLET,systray,startup-notify,notify END_APPLETS=openmoko-panel-gsm,$END_APPLETS # feature-phone -matchbox-panel --titlebar --start-applets $START_APPLETS --end-applets $END_APPLETS & +matchbox-panel --start-applets $START_APPLETS --end-applets $END_APPLETS & -exec matchbox-window-manager -theme Sato -use_desktop_mode decorated -use_cursor $SHOWCURSOR $@ +exec matchbox-window-manager -theme Sato -use_cursor $SHOWCURSOR $@
meta/recipes-sato/matchbox-sato/matchbox-session-sato_0.1.bb +2 -2
@@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://session;endline=3;md5=f8a5c5b9c279e52dc094d10e11c2be6 SECTION = "x11" DEPENDS = "gconf-native" -RDEPENDS_${PN} = "formfactor gtk-sato-engine matchbox-theme-sato gtk-theme-sato matchbox-panel-2 matchbox-desktop-sato matchbox-session gconf" +RDEPENDS_${PN} = "formfactor matchbox-theme-sato matchbox-panel-2 matchbox-desktop-sato matchbox-session gconf" PR = "r30" # This package is architecture specific because the session script is modified
@@ -44,7 +44,7 @@ pkg_postinst_${PN} () { #type, name, value gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults --direct --type $1 --set /desktop/poky/interface/$2 "$3" } - set_value string theme Sato + set_value string theme Adwaita set_value string icon_theme Sato set_value bool touchscreen true set_value string font_name "Sans 9"
Signature · 1 line
2.1.4
RFC PATCH 7/12 sato-screenshot: Upgrade to JKU
In reply to Jussi KukkonenThis is the GTK3 version
--- meta/recipes-sato/sato-screenshot/sato-screenshot_git.bb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
meta/recipes-sato/sato-screenshot/sato-screenshot_git.bb +3 -3
@@ -7,12 +7,12 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ file://main.c;endline=9;md5=023e14d6404d0a961eb97cbd011fc141 \ file://screenshot-ui.h;endline=9;md5=638d9ffa83e9325a36df224166ed6ad0" -DEPENDS = "matchbox-panel-2" -SRCREV = "3a9688e8a01b63a78f402b4e7c0b8b005fcdfa29" +DEPENDS = "matchbox-panel-2 gtk+3" +SRCREV = "50e502ee999733a064eb5b45ba87450648485929" PV = "0.1+git${SRCPV}" PR = "r2" -SRC_URI = "git://git.yoctoproject.org/screenshot" +SRC_URI = "git://github.com/jku/sato-screenshot.git;branch=gtk3" S = "${WORKDIR}/git"
Signature · 1 line
2.1.4
RFC PATCH 8/12 settings-daemon: Upgrade to JKU
In reply to Jussi KukkonenRemove patch that's already upstream.
--- .../files/dso_linking_change_build_fix.patch | 31 ---------------------- .../settings-daemon/settings-daemon_git.bb | 8 +++--- 2 files changed, 4 insertions(+), 35 deletions(-) delete mode 100644 meta/recipes-sato/settings-daemon/files/dso_linking_change_build_fix.patch
meta/recipes-sato/settings-daemon/files/dso_linking_change_build_fix.patch deleted +0 -31
@@ -1,31 +0,0 @@ -Upstream-Status: Inappropriate [configuration] - -after gcc linking has changed, all the libraries must be explicitely specified to for linking. -This patch avoids this linking error: - -| make all-am^M -| make[1]: Entering directory `/disk0/pokybuild/build1/tmp/work/i586-poky-linux/settings-daemon-0.0+svnr2059-r3/settings-daemon'^M -| ccache i586-poky-linux-gcc -march=i586 --sysroot=/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux -Wall -fexpensive-optimizations -fomit-frame-pointer -frename-registers -O2 -ggdb -feliminate-unused-debug-types -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -o settings-daemon settings_daemon-xsettings-common.o settings_daemon-xsettings-manager.o settings_daemon-settings-daemon.o -pthread -lgconf-2 -ldbus-glib-1 -ldbus-1 -lpthread -lgdk-x11-2.0 -lgdk_pixbuf-2.0 -lpangocairo-1.0 -lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0^M -| /disk0/pokybuild/build1/tmp/sysroots/x86_64-linux/usr/libexec/i586-poky-linux/gcc/i586-poky-linux/4.5.1/ld: *^A: invalid DSO for symbol `XCreateSimpleWindow' definition^M -| /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libX11.so.6: could not read symbols: Bad value^M -| collect2: ld returned 1 exit status^M -| make[1]: *** [settings-daemon] Error 1^M -| make[1]: Leaving directory `/disk0/pokybuild/build1/tmp/work/i586-poky-linux/settings-daemon-0.0+svnr2059-r3/settings-daemon'^M -| make: *** [all] Error 2^M - -Nitin A Kamble <[email protected]> -Date: 2011/01/11 - -Index: settings-daemon/configure.ac -=================================================================== ---- settings-daemon.orig/configure.ac -+++ settings-daemon/configure.ac -@@ -14,7 +14,7 @@ AC_PROG_CC - - - dnl TODO: make gconf optional --PKG_CHECK_MODULES(APP, [gconf-2.0 gdk-x11-2.0]) -+PKG_CHECK_MODULES(APP, [gconf-2.0 gdk-x11-2.0 x11]) - - - AC_SUBST(APP_CFLAGS)
meta/recipes-sato/settings-daemon/settings-daemon_git.bb +4 -4
@@ -4,16 +4,16 @@ BUGTRACKER = "http://bugzilla.yoctoproject.org/" LICENSE = "MIT-style" LIC_FILES_CHKSUM = "file://xsettings-manager.h;endline=22;md5=7cfac9d2d4dc3694cc7eb605cf32a69b \ file://xsettings-common.h;endline=22;md5=7cfac9d2d4dc3694cc7eb605cf32a69b" -DEPENDS = "gconf glib-2.0 gtk+" +DEPENDS = "gconf glib-2.0 gtk+3" SECTION = "x11" -SRCREV = "9a99528b02255450db81176abd9bbcc1dab9a4c1" +SRCREV = "4a06d2169cf1fdcb4427c105fdc54fc80c3f334b" PV = "0.0+git${SRCPV}" -SRC_URI = "git://git.yoctoproject.org/xsettings-daemon \ +SRC_URI = "git://github.com/jku/xsettings-daemon.git;branch=gtk3 \ file://addsoundkeys.patch;apply=yes \ file://70settings-daemon.sh \ - file://dso_linking_change_build_fix.patch" + " S = "${WORKDIR}/git"
Signature · 1 line
2.1.4
RFC PATCH 9/12 gtk-sato-engine: Remove as unused
In reply to Jussi Kukkonen--- meta/recipes-sato/gtk-engines/gtk-sato-engine.inc | 25 ---------------------- .../gtk-engines/gtk-sato-engine_git.bb | 14 ------------ 2 files changed, 39 deletions(-) delete mode 100644 meta/recipes-sato/gtk-engines/gtk-sato-engine.inc delete mode 100644 meta/recipes-sato/gtk-engines/gtk-sato-engine_git.bb
meta/recipes-sato/gtk-engines/gtk-sato-engine.inc deleted +0 -25
@@ -1,25 +0,0 @@ -SUMMARY = "Sato theme engine for GTK+" -HOMEPAGE = "http://www.o-hand.com" -BUGTRACKER = "http://bugzilla.yoctoproject.org/" - -LICENSE = "LGPLv2.1 & LGPLv2+" - -SECTION = "x11/base" -DEPENDS = "gtk+" -RDEPENDS_gtk-theme-sato = "gtk-sato-engine" - -inherit distro_features_check -ANY_OF_DISTRO_FEATURES = "${GTK2DISTROFEATURES}" - -PACKAGES += "gtk-theme-sato" -FILES_${PN} = "${libdir}/gtk-2.0/*/engines/*.so " -FILES_${PN}-dev = "${libdir}/gtk-2.0/*/engines/*.la" -FILES_gtk-theme-sato = "${datadir}/icons ${datadir}/themes" - -inherit autotools-brokensep pkgconfig - -do_configure_prepend() { - for i in `ls gtk-common`; do - ln -sf ../gtk-common/$i gtk2-engine/$i - done -}
meta/recipes-sato/gtk-engines/gtk-sato-engine_git.bb deleted +0 -14
@@ -1,14 +0,0 @@ -require gtk-sato-engine.inc - -LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1 \ - file://src/sato-utils.h;endline=24;md5=708f28cfe7fe028d497aaf4389b80b62 \ - file://src/sato-main.c;endline=24;md5=b5e5dddebca570275becb51b526e4c5a" - -SRCREV = "4740ad8d53aba4368ce3e03b06cfdc69eb86dcdc" -PV = "0.3.3+git${SRCPV}" - -SRC_URI = "git://git.yoctoproject.org/${BPN}" - -S = "${WORKDIR}/git" - -EXTRA_OECONF += "${@bb.utils.contains('MACHINE_FEATURES', 'qvga', '--with-mode=qvga', '',d)}"
Signature · 1 line
2.1.4
RFC PATCH 10/12 matchbox-wm: Upgrade to JKU
In reply to Jussi KukkonenThis version does not change MBWM theme when the Gtk+ theme is changed using Net/ThemeName X property.
--- meta/recipes-graphics/matchbox-wm/matchbox-wm_git.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
meta/recipes-graphics/matchbox-wm/matchbox-wm_git.bb +2 -2
@@ -10,10 +10,10 @@ LIC_FILES_CHKSUM = "file://src/wm.h;endline=21;md5=a7e844465edbcf79c282369f93caa SECTION = "x11/wm" DEPENDS = "libmatchbox virtual/libx11 libxext libxrender startup-notification expat gconf libxcursor libxfixes" -SRCREV = "29544f0e61cc281fc60061443a537271e1081b78" +SRCREV = "d261f6ff6e9f66da4012d2f9e9d56232b40c68a1" PV = "1.2+git${SRCPV}" -SRC_URI = "git://git.yoctoproject.org/matchbox-window-manager \ +SRC_URI = "git://github.com/jku/matchbox-window-manager.git;branch=gtk3 \ file://kbdconfig" S = "${WORKDIR}/git"
Signature · 1 line
2.1.4
RFC PATCH 11/12 connman-gnome: Upgrade to JKU
In reply to Jussi KukkonenThis is the GTK3 version.
Drop patches and images that are now included upstream.
--- .../connman-gnome-fix-dbus-interface-name.patch | 187 --------------------- .../connman-gnome/images/connman-signal-01.png | Bin 490 -> 0 bytes .../connman-gnome/images/connman-signal-02.png | Bin 496 -> 0 bytes .../connman-gnome/images/connman-signal-03.png | Bin 492 -> 0 bytes .../connman-gnome/images/connman-signal-04.png | Bin 470 -> 0 bytes .../connman-gnome/images/connman-signal-05.png | Bin 419 -> 0 bytes .../connman/connman-gnome_0.7.bb | 12 +- 7 files changed, 3 insertions(+), 196 deletions(-) delete mode 100644 meta/recipes-connectivity/connman/connman-gnome/connman-gnome-fix-dbus-interface-name.patch delete mode 100644 meta/recipes-connectivity/connman/connman-gnome/images/connman-signal-01.png delete mode 100644 meta/recipes-connectivity/connman/connman-gnome/images/connman-signal-02.png delete mode 100644 meta/recipes-connectivity/connman/connman-gnome/images/connman-signal-03.png delete mode 100644 meta/recipes-connectivity/connman/connman-gnome/images/connman-signal-04.png delete mode 100644 meta/recipes-connectivity/connman/connman-gnome/images/connman-signal-05.png
meta/recipes-connectivity/connman/connman-gnome/connman-gnome-fix-dbus-interface-name.patch deleted +0 -187
@@ -1,187 +0,0 @@ -connman-gnome: fix dbus interface name - -This patch resolves following error: - -"connman-dbus.xml": "connman" is not a valid D-Bus interface name - -https://502552.bugs.gentoo.org/attachment.cgi?id=380652 - -Upstream-Status: Backport - -Signed-off-by: Chong Lu <[email protected]> ---- - common/connman-client.c | 24 ++++++++++++------------ - common/connman-client.h | 4 ++-- - common/connman-dbus.c | 6 +++--- - common/connman-dbus.xml | 2 +- - 4 files changed, 18 insertions(+), 18 deletions(-) - -diff --git a/common/connman-client.c b/common/connman-client.c -index c55e25c..9d818b2 100644 ---- a/common/connman-client.c -+++ b/common/connman-client.c -@@ -289,7 +289,7 @@ gboolean connman_client_set_ipv4(ConnmanClient *client, const gchar *device, - - g_value_init(&value, DBUS_TYPE_G_DICTIONARY); - g_value_set_boxed(&value, ipv4); -- ret = connman_set_property(proxy, "IPv4.Configuration", &value, NULL); -+ ret = net_connman_set_property(proxy, "IPv4.Configuration", &value, NULL); - - g_object_unref(proxy); - -@@ -317,7 +317,7 @@ void connman_client_set_powered(ConnmanClient *client, const gchar *device, - g_value_set_boolean(&value, powered); - - error = NULL; -- connman_set_property(proxy, "Powered", &value, &error); -+ net_connman_set_property(proxy, "Powered", &value, &error); - if( error ) - fprintf (stderr, "error: %s\n", error->message); - -@@ -325,7 +325,7 @@ void connman_client_set_powered(ConnmanClient *client, const gchar *device, - } - - void connman_client_scan(ConnmanClient *client, const gchar *device, -- connman_scan_reply callback, gpointer user_data) -+ net_connman_scan_reply callback, gpointer user_data) - { - ConnmanClientPrivate *priv = CONNMAN_CLIENT_GET_PRIVATE(client); - DBusGProxy *proxy; -@@ -339,7 +339,7 @@ void connman_client_scan(ConnmanClient *client, const gchar *device, - if (proxy == NULL) - return; - -- connman_scan_async(proxy, callback, user_data); -+ net_connman_scan_async(proxy, callback, user_data); - - g_object_unref(proxy); - } -@@ -353,7 +353,7 @@ gboolean connman_client_get_offline_status(ConnmanClient *client) - - DBG("client %p", client); - -- ret = connman_get_properties(priv->manager, &hash, NULL); -+ ret = net_connman_get_properties(priv->manager, &hash, NULL); - - if (ret == FALSE) - goto done; -@@ -375,7 +375,7 @@ void connman_client_set_offlinemode(ConnmanClient *client, gboolean status) - g_value_init(&value, G_TYPE_BOOLEAN); - g_value_set_boolean(&value, status); - -- connman_set_property(priv->manager, "OfflineMode", &value, NULL); -+ net_connman_set_property(priv->manager, "OfflineMode", &value, NULL); - } - - static gboolean network_disconnect(GtkTreeModel *model, GtkTreePath *path, -@@ -398,7 +398,7 @@ static gboolean network_disconnect(GtkTreeModel *model, GtkTreePath *path, - return TRUE; - - if (type == CONNMAN_TYPE_WIFI) -- connman_disconnect(proxy, NULL); -+ net_connman_disconnect(proxy, NULL); - - g_object_unref(proxy); - -@@ -422,13 +422,13 @@ void connman_client_connect(ConnmanClient *client, const gchar *network) - if (proxy == NULL) - return; - -- connman_connect(proxy, NULL); -+ net_connman_connect(proxy, NULL); - - g_object_unref(proxy); - } - - void connman_client_connect_async(ConnmanClient *client, const gchar *network, -- connman_connect_reply callback, gpointer userdata) -+ net_connman_connect_reply callback, gpointer userdata) - { - ConnmanClientPrivate *priv = CONNMAN_CLIENT_GET_PRIVATE(client); - DBusGProxy *proxy; -@@ -446,7 +446,7 @@ void connman_client_connect_async(ConnmanClient *client, const gchar *network, - if (proxy == NULL) - goto done; - -- connman_connect_async(proxy, callback, userdata); -+ net_connman_connect_async(proxy, callback, userdata); - - done: - return; -@@ -476,7 +476,7 @@ void connman_client_disconnect(ConnmanClient *client, const gchar *network) - if (proxy == NULL) - return; - -- connman_disconnect(proxy, NULL); -+ net_connman_disconnect(proxy, NULL); - - g_object_unref(proxy); - } -@@ -532,7 +532,7 @@ void connman_client_remove(ConnmanClient *client, const gchar *network) - if (proxy == NULL) - return; - -- connman_remove(proxy, NULL); -+ net_connman_remove(proxy, NULL); - - g_object_unref(proxy); - } -diff --git a/common/connman-client.h b/common/connman-client.h -index 9e2e6d5..98241de 100644 ---- a/common/connman-client.h -+++ b/common/connman-client.h -@@ -70,13 +70,13 @@ void connman_client_set_powered(ConnmanClient *client, const gchar *device, - gboolean connman_client_set_ipv4(ConnmanClient *client, const gchar *device, - struct ipv4_config *ipv4_config); - void connman_client_scan(ConnmanClient *client, const gchar *device, -- connman_scan_reply callback, gpointer user_data); -+ net_connman_scan_reply callback, gpointer user_data); - - void connman_client_connect(ConnmanClient *client, const gchar *network); - void connman_client_disconnect(ConnmanClient *client, const gchar *network); - gchar *connman_client_get_security(ConnmanClient *client, const gchar *network); - void connman_client_connect_async(ConnmanClient *client, const gchar *network, -- connman_connect_reply callback, gpointer userdata); -+ net_connman_connect_reply callback, gpointer userdata); - void connman_client_set_remember(ConnmanClient *client, const gchar *network, - gboolean remember); - -diff --git a/common/connman-dbus.c b/common/connman-dbus.c -index b82b3e1..543eb43 100644 ---- a/common/connman-dbus.c -+++ b/common/connman-dbus.c -@@ -655,15 +655,15 @@ DBusGProxy *connman_dbus_create_manager(DBusGConnection *conn, - - DBG("getting manager properties"); - -- connman_get_properties_async(proxy, manager_properties, store); -+ net_connman_get_properties_async(proxy, manager_properties, store); - - DBG("getting technologies"); - -- connman_get_technologies_async(proxy, manager_technologies, store); -+ net_connman_get_technologies_async(proxy, manager_technologies, store); - - DBG("getting services"); - -- connman_get_services_async(proxy, manager_services, store); -+ net_connman_get_services_async(proxy, manager_services, store); - - return proxy; - } -diff --git a/common/connman-dbus.xml b/common/connman-dbus.xml -index 56b9582..0199d52 100644 ---- a/common/connman-dbus.xml -+++ b/common/connman-dbus.xml -@@ -1,7 +1,7 @@ - <?xml version="1.0" encoding="UTF-8" ?> - - <node name="/"> -- <interface name="connman"> -+ <interface name="net.connman"> - <method name="GetProperties"> - <arg type="a{sv}" direction="out"/> - </method> --- -1.9.1 -
meta/recipes-connectivity/connman/connman-gnome/images/connman-signal-01.png deleted binary +0 -0
meta/recipes-connectivity/connman/connman-gnome/images/connman-signal-02.png deleted binary +0 -0
meta/recipes-connectivity/connman/connman-gnome/images/connman-signal-03.png deleted binary +0 -0
meta/recipes-connectivity/connman/connman-gnome/images/connman-signal-04.png deleted binary +0 -0
meta/recipes-connectivity/connman/connman-gnome/images/connman-signal-05.png deleted binary +0 -0
meta/recipes-connectivity/connman/connman-gnome_0.7.bb +3 -9
@@ -6,15 +6,13 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a \ file://properties/main.c;beginline=1;endline=20;md5=50c77c81871308b033ab7a1504626afb \ file://common/connman-dbus.c;beginline=1;endline=20;md5=de6b485c0e717a0236402d220187717a" -DEPENDS = "gtk+ dbus-glib intltool-native gettext-native" +DEPENDS = "gtk+3 dbus-glib intltool-native gettext-native" # 0.7 tag -SRCREV = "cf3c325b23dae843c5499a113591cfbc98acb143" -SRC_URI = "git://github.com/connectivity/connman-gnome.git \ +SRCREV = "a59b0fac02e74a971ac3f08bf28c17ce361a9526" +SRC_URI = "git://github.com/jku/connman-gnome.git;branch=gtk3 \ file://0001-Removed-icon-from-connman-gnome-about-applet.patch \ file://null_check_for_ipv4_config.patch \ - file://images/* \ - file://connman-gnome-fix-dbus-interface-name.patch \ " S = "${WORKDIR}/git"
@@ -23,7 +21,3 @@ inherit autotools-brokensep gtk-icon-cache pkgconfig distro_features_check ANY_OF_DISTRO_FEATURES = "${GTK2DISTROFEATURES}" RDEPENDS_${PN} = "connman" - -do_install_append() { - install -m 0644 ${WORKDIR}/images/* ${D}/usr/share/icons/hicolor/22x22/apps/ -}
Signature · 1 line
2.1.4
RFC PATCH 12/12 matchbox-panel-2: Depend on dbus-glib-native for binding-tool
In reply to Jussi Kukkonen--- meta/recipes-sato/matchbox-panel-2/matchbox-panel-2_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
meta/recipes-sato/matchbox-panel-2/matchbox-panel-2_git.bb +1 -1
@@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ file://matchbox-panel/mb-panel.h;endline=10;md5=0b7db28f4b6863fb853d0467e590019a \ file://applets/startup/startup.c;endline=22;md5=7cbcea60b667f609495222faf3e07917" -DEPENDS = "gnome-common gtk+3 startup-notification dbus dbus-glib" +DEPENDS = "gnome-common gtk+3 startup-notification dbus dbus-glib dbus-glib-native" DEPENDS += " ${@bb.utils.contains("MACHINE_FEATURES", "acpi", "libacpi", "",d)}" DEPENDS += " ${@bb.utils.contains("MACHINE_FEATURES", "apm", "apmd", "",d)}"
Signature · 1 line
2.1.4
Quoted 2 lines · Jussi Kukkonen
matchbox-theme-sato: Upgrade to JKU
As I was already asked about it: the commit message title is just a keyword for me so I remember to modify them to whatever the upstream versions end up as in the final patchset.
Jussi
Quoted 61 lines
matchbox-desktop: Ugrade to JKU
matchbox-panel-2: Upgrade to JKU
matchbox-session-sato: Update session startup
sato-screenshot: Upgrade to JKU
settings-daemon: Upgrade to JKU
gtk-sato-engine: Remove as unused
matchbox-wm: Upgrade to JKU
connman-gnome: Upgrade to JKU
matchbox-panel-2: Depend on dbus-glib-native for binding-tool.../connman-gnome-fix-dbus-interface-name.patch | 187 --------------------- .../connman-gnome/images/connman-signal-01.png | Bin 490 -> 0 bytes .../connman-gnome/images/connman-signal-02.png | Bin 496 -> 0 bytes .../connman-gnome/images/connman-signal-03.png | Bin 492 -> 0 bytes .../connman-gnome/images/connman-signal-04.png | Bin 470 -> 0 bytes .../connman-gnome/images/connman-signal-05.png | Bin 419 -> 0 bytes .../connman/connman-gnome_0.7.bb | 12 +- .../gnome/gnome-themes-standard_3.18.0.bb | 37 ++++ .../matchbox-wm/matchbox-wm_git.bb | 4 +- meta/recipes-sato/gtk-engines/gtk-sato-engine.inc | 25 --- .../gtk-engines/gtk-sato-engine_git.bb | 14 -- .../matchbox-desktop/matchbox-desktop_git.bb | 7 +- .../matchbox-panel-2/files/silence-warnings.patch | 64 ------- .../matchbox-panel-2/matchbox-panel-2_git.bb | 12 +- .../matchbox-sato/matchbox-session-sato/session | 9 +- .../matchbox-sato/matchbox-session-sato_0.1.bb | 4 +- .../matchbox-theme-sato/matchbox-theme-sato_0.1.bb | 8 - .../matchbox-theme-sato/matchbox-theme-sato_git.bb | 8 +- .../packagegroups/packagegroup-core-x11-sato.bb | 6 +- .../sato-screenshot/sato-screenshot_git.bb | 6 +- .../files/dso_linking_change_build_fix.patch | 31 ---- .../settings-daemon/settings-daemon_git.bb | 8 +- 22 files changed, 65 insertions(+), 377 deletions(-) delete mode 100644 meta/recipes-connectivity/connman/connman-gnome/connman-gnome-fix-dbus-interface-name.patch delete mode 100644 meta/recipes-connectivity/connman/connman-gnome/images/connman-signal-01.png delete mode 100644 meta/recipes-connectivity/connman/connman-gnome/images/connman-signal-02.png delete mode 100644 meta/recipes-connectivity/connman/connman-gnome/images/connman-signal-03.png delete mode 100644 meta/recipes-connectivity/connman/connman-gnome/images/connman-signal-04.png delete mode 100644 meta/recipes-connectivity/connman/connman-gnome/images/connman-signal-05.png create mode 100644 meta/recipes-gnome/gnome/ gnome-themes-standard_3.18.0.bb delete mode 100644 meta/recipes-sato/gtk-engines/gtk-sato-engine.inc delete mode 100644 meta/recipes-sato/gtk-engines/gtk-sato-engine_git.bb delete mode 100644 meta/recipes-sato/matchbox-panel-2/files/silence-warnings.patch delete mode 100644 meta/recipes-sato/matchbox-theme-sato/ matchbox-theme-sato_0.1.bb delete mode 100644
meta/recipes-sato/settings-daemon/files/dso_linking_change_build_fix.patch--
2.1.4
Quoted 37 lines · Jussi Kukkonen
Here's a snapshot of the Sato upgrade I've been working on (YOCTO
#3169). It's based on Ross' work from 2.5 years back. The bigger
changes currently live as my forks of the upstream projects (gtk3 branches of various projects at https://github.com/jku), and the patchset here modifies recipes to temporarily use those forks:
this is intended to make testing and review possible but also means this is just an RFC: once the upstream changes are merged, I'll update this patchset.For those not familiar with it, the goal of the exercise is to
1. Bring Sato desktop closer to this decade (Don't depend on ancient components, remove deprecated code)
2. Focus more on delivering an environment for validating and testing oe-core, less on building a DE for mobile devicesMajor changes:
* Ports to GTK3: matchbox-desktop, matchbox-panel-2, connman-gnome, sato-screenshot, xsettings-daemon
* GTK+ theme is Adwaita (upstream default)
* Matchbox WM theme modified to somewhat resemble Adwaita (boring gray instead of in-your-face green)
* Matchbox panel is no longer drawn on top of application titlebars because that fails badly with client side decorations. Instead it's a thinner panel always on top of screen, like gnome2 panel.
* Custom GTK theme engine is dropped
Here's a screenshot showing the panel and window decoration:
http://imgur.com/noqptiuRegressions:
* on-screen keyboard: I've not looked very closely but I believe this requires IM work for GTK3
* startup notification
Quoted 11 lines
Questions:
* Schedule: this is for Yocto 2.1 in bugzilla (now M3) but got delayed. it's a bigger change and isn't ready to merge (as the upstream patches need review). Should I aim for next release instead?
* How should we do review on this? The upstreams are mostly on yoctoproject.org so I could send patches to some YP mailing list... but testing many of the patches is impossible without the patches for the other projects.
* Are the regressions listed above blockers?
* Anything I've missed? Theme design bikeshedding?
Is matchbox still the way to go? To test OE-Core maybe a custom GTK3 app might be better.
Signature · 3 lines
Otavio Salvador O.S. Systems http://www.ossystems.com.br http://code.ossystems.com.br Mobile: +55 (53) 9981-7854 Mobile: +1 (347) 903-9750
On 11 March 2016 at 18:53, Otavio Salvador <[email protected]
Quoted 5 lines
wrote:
Is matchbox still the way to go? To test OE-Core maybe a custom GTK3 app might be better.
Do you mean desktop or window manager? Window managers are very non-trivial and matchbox is a known quantity, and the desktop is a custom GTK+ 3 application.
To expand the functionality of Sato as a test harness I agree that we need more custom applications, there's a bug for this already. You'll notice that over time the PIM applications have been removed leaving tools for testing only (such as gtk-player).
Ross
Quoted 8 lines · Ross
Quoted 3 lines · Otavio Salvador
Is matchbox still the way to go? To test OE-Core maybe a custom GTK3 app might be better.
Quoted 8 lines
Do you mean desktop or window manager? Window managers are very non-trivial and matchbox is a known quantity, and the desktop is a custom GTK+ 3 application.
To expand the functionality of Sato as a test harness I agree that we need more custom applications, there's a bug for this already. You'll notice that over time the PIM applications have been removed leaving tools for testing only (such as gtk-player).
All them; we might use GNOME (MATE or other WM) and write just a GTK+3 demo like app for test the desired stuff.
Signature · 3 lines
Otavio Salvador O.S. Systems http://www.ossystems.com.br http://code.ossystems.com.br Mobile: +55 (53) 9981-7854 Mobile: +1 (347) 903-9750
On 11 March 2016 at 19:09, Otavio Salvador <[email protected]
Quoted 5 lines
wrote:
All them; we might use GNOME (MATE or other WM) and write just a GTK+3 demo like app for test the desired stuff.
The full GNOME DE is *huge* and until the g-i branch is merged is literally impossible to build. Something smaller like LXDE is possible but still fairly large in comparison and massively fails when you try to use it on hardware with a touchscreen: at least Matchbox+desktop+panel has always (and will continue to) support a touchscreen+fingers for basic use.
Ross