* [PATCHv2 00/36] Port Sato to Gtk+3
@ 2016-06-10 8:04 Jussi Kukkonen
2016-06-10 8:04 ` [PATCHv2 08/36] connman-gnome: Add patch to port " Jussi Kukkonen
` (2 more replies)
0 siblings, 3 replies; 5+ messages in thread
From: Jussi Kukkonen @ 2016-06-10 8:04 UTC (permalink / raw)
To: openembedded-core
There's only a few changes here. I'm sending only the following
changed/new patches to avoid spamming everyone with 33 patches
they've already seen:
connman-gnome: Add patch to port to Gtk+3
vte: Upgrade to 0.44.1
matchbox-desktop: Add Sato folder configuration
Please use the git branch 'jku/sato-gtk3-v2' for merging and testing
or ask me to send the whole series again if that's preferred.
Changes since V1:
* vte: set "--enable-vala=auto". This lets gobject-introspection
class do its magic and fixes build on musl.
* matchbox-desktop: combine the configuration from
matchbox-desktop-sato into matchbox-desktop recipe.
* Drop matchbox-desktop-sato recipe. Make matchbox-session-sato
depend on matchbox-desktop instead.
* connman-gnome: Squash two patches that were not supposed to
be separate.
Jussi
The following changes since commit 9c75c64cb99a3d5103b7bb4e2a700e5bb5af516b:
kernel-dev: Fix the locations of .config and source directory (2016-06-06 22:53:35 +0100)
are available in the git repository at:
git://git.yoctoproject.org/poky-contrib jku/sato-gtk3-v2
http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=jku/sato-gtk3-v2
Jussi Kukkonen (34):
gnome-themes-standard: Add new GTK+2 theme
matchbox-theme-sato: Upgrade to 0.2
matchbox-desktop: Ugrade to 2.1
matchbox-panel-2: Upgrade to 2.10
sato-screenshot: Upgrade to 0.2
settings-daemon: Upgrade to 0.0.2
matchbox-wm: Upgrade to 1.2.1
connman-gnome: Add patch to port to Gtk+3
matchbox-keyboard: Enable GTK+3 IM module
packagegroup-core-x11: Use adwaita icons instead of sato
vte: Upgrade to 0.44.1
matchbox-terminal: Upgrade to 0.1
packagegroup-core-x11-sato: Use puzzles instead of oh-puzzles
puzzles: Use Gtk+3 by default
oh-puzzles: Remove as we're using puzzles now
gst-player: Start building with Gtk+3
matchbox-config-gtk: Upgrade to 0.2
distcc: Disable GTK UI by default
leafpad: Replace with L3afpad
gtk-immodules-cache: Support both GTKs at same time
libowl: Remove as unused
packagegroup-core-x11-sato: Remove gtk-sato-engine
gtk+: RRECOMMEND adwaita theme
webkitgtk: Disable Gtk2 plugin process by default
avahi-ui: Build with Gtk+3
sysprof: Upgrade to git version slightly past 3.20
gtk+3: Add RRECOMMENDS to match gtk+
adwaita-icon-theme: Split symbolic icons into 2 packages
matchbox-session-sato: Update session startup
matchbox-desktop: Add Sato folder configuration
packagegroup-self-hosted: Remove unused theme, use Adwaita icons
gtk-sato-engine: Remove as unused
sato-icon-theme: remove as unused
gtk-engines: Remove as unused
Maxin B. John (2):
pcmanfm: switch to GTK3 version
libfm: switch to GTK3 version
meta/classes/gtk-immodules-cache.bbclass | 6 +-
meta/recipes-connectivity/avahi/avahi-ui_0.6.32.bb | 6 +-
.../connman/connman-gnome/0001-Port-to-Gtk3.patch | 277 +++++++++++++++++++++
.../connman/connman-gnome_0.7.bb | 5 +-
.../connman/connman/0001-Port-to-Gtk3.patch | 277 +++++++++++++++++++++
.../packagegroups/packagegroup-self-hosted.bb | 6 +-
meta/recipes-devtools/distcc/distcc_3.2.bb | 5 +-
.../gnome/adwaita-icon-theme_3.18.0.bb | 9 +-
.../gnome/gnome-themes-standard_3.18.0.bb | 37 +++
meta/recipes-gnome/gtk+/gtk+.inc | 9 +-
meta/recipes-gnome/gtk+/gtk+3.inc | 17 +-
.../gtk-engines/gtk-engines-2.20.2/glib-2.32.patch | 23 --
.../gtk-engines-2.20.2/substitute-tests.patch | 37 ---
.../gtk-engines/gtk-engines_2.20.2.bb | 55 ----
.../builder/files/builder_session.sh | 4 +-
.../{matchbox-wm_git.bb => matchbox-wm_1.2.1.bb} | 5 +-
.../sysprof/files/0001-Avoid-building-docs.patch | 42 ++++
.../0001-Disable-check-for-polkit-for-UI.patch | 32 +++
.../sysprof/files/define-NT_GNU_BUILD_ID.patch | 4 +-
.../sysprof/files/gui-argument.patch | 35 ---
meta/recipes-kernel/sysprof/files/rmb-arm.patch | 21 --
meta/recipes-kernel/sysprof/files/rmb-mips.patch | 22 --
meta/recipes-kernel/sysprof/sysprof_git.bb | 32 +--
.../gstreamer/gst-player/gst-player.desktop | 2 +-
.../gstreamer/gst-player/gtk2.patch | 71 ------
.../recipes-multimedia/gstreamer/gst-player_git.bb | 5 +-
meta/recipes-sato/gtk-engines/gtk-sato-engine.inc | 25 --
.../gtk-engines/gtk-sato-engine_git.bb | 14 --
meta/recipes-sato/l3afpad/l3afpad_git.bb | 23 ++
meta/recipes-sato/leafpad/files/leafpad.desktop | 10 -
meta/recipes-sato/leafpad/files/owl-menu.patch | 63 -----
...gtkprint-.c-Fix-security-formatting-issue.patch | 81 ------
meta/recipes-sato/leafpad/leafpad_0.8.18.1.bb | 37 ---
meta/recipes-sato/libowl/libowl_git.bb | 23 --
.../matchbox-config-gtk/files/no-handed.patch | 26 +-
...onfig-gtk_git.bb => matchbox-config-gtk_0.2.bb} | 11 +-
.../matchbox-desktop-sato_git.bb | 22 --
.../matchbox-desktop/files/vfolders/All.directory | 5 +
.../files/vfolders/Applications.directory | 6 +
.../files/vfolders/Games.directory | 9 +
.../matchbox-desktop/files/vfolders/Root.order | 4 +
.../files/vfolders/Settings.directory | 8 +
...hbox-desktop_git.bb => matchbox-desktop_2.1.bb} | 15 +-
.../matchbox-keyboard/matchbox-keyboard_git.bb | 6 +-
.../matchbox-panel-2/files/silence-warnings.patch | 64 -----
...box-panel-2_git.bb => matchbox-panel-2_2.10.bb} | 15 +-
.../matchbox-session-sato/index.theme | 7 +
.../matchbox-sato/matchbox-session-sato/session | 9 +-
.../matchbox-sato/matchbox-session-sato_0.1.bb | 11 +-
...ox-terminal_git.bb => matchbox-terminal_0.1.bb} | 8 +-
.../matchbox-theme-sato/matchbox-theme-sato_0.1.bb | 8 -
.../matchbox-theme-sato/matchbox-theme-sato_0.2.bb | 7 +
.../matchbox-theme-sato/matchbox-theme-sato_git.bb | 12 -
.../packagegroups/packagegroup-core-x11-sato.bb | 7 +-
meta/recipes-sato/pcmanfm/pcmanfm_1.2.4.bb | 5 +-
.../puzzles/files/oh-puzzles-owl-menu.patch | 203 ---------------
meta/recipes-sato/puzzles/oh-puzzles_git.bb | 73 ------
meta/recipes-sato/puzzles/puzzles_git.bb | 18 +-
.../0001-Inherit-the-GNOME-icon-theme.patch | 31 ---
.../sato-icon-theme/sato-icon-theme_0.4.1.bb | 40 ---
...to-screenshot_git.bb => sato-screenshot_0.2.bb} | 7 +-
.../files/dso_linking_change_build_fix.patch | 31 ---
...ings-daemon_git.bb => settings-daemon_0.0.2.bb} | 9 +-
meta/recipes-sato/webkit/webkitgtk_2.12.3.bb | 1 -
meta/recipes-support/libfm/libfm_1.2.4.bb | 6 +-
.../vte/vte-0.28.2/cve-2012-2738.patch | 136 ----------
.../vte/vte-0.28.2/obsolete_automake_macros.patch | 14 --
meta/recipes-support/vte/vte.inc | 15 --
meta/recipes-support/vte/vte_0.28.2.bb | 16 --
meta/recipes-support/vte/vte_0.44.1.bb | 21 ++
70 files changed, 908 insertions(+), 1298 deletions(-)
create mode 100644 meta/recipes-connectivity/connman/connman-gnome/0001-Port-to-Gtk3.patch
create mode 100644 meta/recipes-connectivity/connman/connman/0001-Port-to-Gtk3.patch
create mode 100644 meta/recipes-gnome/gnome/gnome-themes-standard_3.18.0.bb
delete mode 100644 meta/recipes-gnome/gtk-engines/gtk-engines-2.20.2/glib-2.32.patch
delete mode 100644 meta/recipes-gnome/gtk-engines/gtk-engines-2.20.2/substitute-tests.patch
delete mode 100644 meta/recipes-gnome/gtk-engines/gtk-engines_2.20.2.bb
rename meta/recipes-graphics/matchbox-wm/{matchbox-wm_git.bb => matchbox-wm_1.2.1.bb} (94%)
create mode 100644 meta/recipes-kernel/sysprof/files/0001-Avoid-building-docs.patch
create mode 100644 meta/recipes-kernel/sysprof/files/0001-Disable-check-for-polkit-for-UI.patch
delete mode 100644 meta/recipes-kernel/sysprof/files/gui-argument.patch
delete mode 100644 meta/recipes-kernel/sysprof/files/rmb-arm.patch
delete mode 100644 meta/recipes-kernel/sysprof/files/rmb-mips.patch
delete mode 100644 meta/recipes-multimedia/gstreamer/gst-player/gtk2.patch
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
create mode 100644 meta/recipes-sato/l3afpad/l3afpad_git.bb
delete mode 100644 meta/recipes-sato/leafpad/files/leafpad.desktop
delete mode 100644 meta/recipes-sato/leafpad/files/owl-menu.patch
delete mode 100644 meta/recipes-sato/leafpad/files/src-dialog-gtkprint-.c-Fix-security-formatting-issue.patch
delete mode 100644 meta/recipes-sato/leafpad/leafpad_0.8.18.1.bb
delete mode 100644 meta/recipes-sato/libowl/libowl_git.bb
rename meta/recipes-sato/matchbox-config-gtk/{matchbox-config-gtk_git.bb => matchbox-config-gtk_0.2.bb} (80%)
delete mode 100644 meta/recipes-sato/matchbox-desktop-sato/matchbox-desktop-sato_git.bb
create mode 100644 meta/recipes-sato/matchbox-desktop/files/vfolders/All.directory
create mode 100644 meta/recipes-sato/matchbox-desktop/files/vfolders/Applications.directory
create mode 100644 meta/recipes-sato/matchbox-desktop/files/vfolders/Games.directory
create mode 100644 meta/recipes-sato/matchbox-desktop/files/vfolders/Root.order
create mode 100644 meta/recipes-sato/matchbox-desktop/files/vfolders/Settings.directory
rename meta/recipes-sato/matchbox-desktop/{matchbox-desktop_git.bb => matchbox-desktop_2.1.bb} (69%)
delete mode 100644 meta/recipes-sato/matchbox-panel-2/files/silence-warnings.patch
rename meta/recipes-sato/matchbox-panel-2/{matchbox-panel-2_git.bb => matchbox-panel-2_2.10.bb} (74%)
create mode 100644 meta/recipes-sato/matchbox-sato/matchbox-session-sato/index.theme
rename meta/recipes-sato/matchbox-terminal/{matchbox-terminal_git.bb => matchbox-terminal_0.1.bb} (76%)
delete mode 100644 meta/recipes-sato/matchbox-theme-sato/matchbox-theme-sato_0.1.bb
create mode 100644 meta/recipes-sato/matchbox-theme-sato/matchbox-theme-sato_0.2.bb
delete mode 100644 meta/recipes-sato/matchbox-theme-sato/matchbox-theme-sato_git.bb
delete mode 100644 meta/recipes-sato/puzzles/files/oh-puzzles-owl-menu.patch
delete mode 100644 meta/recipes-sato/puzzles/oh-puzzles_git.bb
delete mode 100644 meta/recipes-sato/sato-icon-theme/sato-icon-theme/0001-Inherit-the-GNOME-icon-theme.patch
delete mode 100644 meta/recipes-sato/sato-icon-theme/sato-icon-theme_0.4.1.bb
rename meta/recipes-sato/sato-screenshot/{sato-screenshot_git.bb => sato-screenshot_0.2.bb} (86%)
delete mode 100644 meta/recipes-sato/settings-daemon/files/dso_linking_change_build_fix.patch
rename meta/recipes-sato/settings-daemon/{settings-daemon_git.bb => settings-daemon_0.0.2.bb} (85%)
delete mode 100644 meta/recipes-support/vte/vte-0.28.2/cve-2012-2738.patch
delete mode 100644 meta/recipes-support/vte/vte-0.28.2/obsolete_automake_macros.patch
delete mode 100644 meta/recipes-support/vte/vte.inc
delete mode 100644 meta/recipes-support/vte/vte_0.28.2.bb
create mode 100644 meta/recipes-support/vte/vte_0.44.1.bb
--
2.1.4
^ permalink raw reply [flat|nested] 5+ messages in thread* [PATCHv2 08/36] connman-gnome: Add patch to port to Gtk+3 2016-06-10 8:04 [PATCHv2 00/36] Port Sato to Gtk+3 Jussi Kukkonen @ 2016-06-10 8:04 ` Jussi Kukkonen 2016-06-10 9:01 ` Jussi Kukkonen 2016-06-10 8:04 ` [PATCHv2 11/36] vte: Upgrade to 0.44.1 Jussi Kukkonen 2016-06-10 8:04 ` [PATCHv2 32/36] matchbox-desktop: Add Sato folder configuration Jussi Kukkonen 2 siblings, 1 reply; 5+ messages in thread From: Jussi Kukkonen @ 2016-06-10 8:04 UTC (permalink / raw) To: openembedded-core Upstream is not really active anymore: patch the Gtk+3 upgrade in for now (long term solution is to change to another UI). Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> --- .../connman/connman-gnome/0001-Port-to-Gtk3.patch | 277 +++++++++++++++++++++ .../connman/connman-gnome_0.7.bb | 5 +- .../connman/connman/0001-Port-to-Gtk3.patch | 277 +++++++++++++++++++++ 3 files changed, 557 insertions(+), 2 deletions(-) create mode 100644 meta/recipes-connectivity/connman/connman-gnome/0001-Port-to-Gtk3.patch create mode 100644 meta/recipes-connectivity/connman/connman/0001-Port-to-Gtk3.patch diff --git a/meta/recipes-connectivity/connman/connman-gnome/0001-Port-to-Gtk3.patch b/meta/recipes-connectivity/connman/connman-gnome/0001-Port-to-Gtk3.patch new file mode 100644 index 0000000..c93e9b4 --- /dev/null +++ b/meta/recipes-connectivity/connman/connman-gnome/0001-Port-to-Gtk3.patch @@ -0,0 +1,277 @@ +From a59b0fac02e74a971ac3f08bf28c17ce361a9526 Mon Sep 17 00:00:00 2001 +From: Jussi Kukkonen <jussi.kukkonen@intel.com> +Date: Wed, 2 Mar 2016 15:47:49 +0200 +Subject: [PATCH] Port to Gtk3 + +Some unused (or not useful) code was removed, functionality should stay +the same. + +Code still contains quite a few uses of deprecated API. + +Upstream-Status: Submitted +Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> +--- + applet/agent.c | 3 +-- + applet/main.c | 43 ------------------------------------------- + applet/status.c | 8 -------- + configure.ac | 3 +-- + properties/ethernet.c | 14 +++++++------- + properties/main.c | 2 +- + properties/wifi.c | 12 ++++++------ + 7 files changed, 16 insertions(+), 69 deletions(-) + +diff --git a/applet/agent.c b/applet/agent.c +index 65bed08..04fe86a 100644 +--- a/applet/agent.c ++++ b/applet/agent.c +@@ -126,7 +126,6 @@ static void request_input_dialog(GHashTable *request, + gtk_window_set_position(GTK_WINDOW(dialog), GTK_WIN_POS_CENTER); + gtk_window_set_keep_above(GTK_WINDOW(dialog), TRUE); + gtk_window_set_urgency_hint(GTK_WINDOW(dialog), TRUE); +- gtk_dialog_set_has_separator(GTK_DIALOG(dialog), FALSE); + input->dialog = dialog; + + gtk_dialog_add_button(GTK_DIALOG(dialog), +@@ -139,7 +138,7 @@ static void request_input_dialog(GHashTable *request, + gtk_table_set_row_spacings(GTK_TABLE(table), 4); + gtk_table_set_col_spacings(GTK_TABLE(table), 20); + gtk_container_set_border_width(GTK_CONTAINER(table), 12); +- gtk_container_add(GTK_CONTAINER(GTK_DIALOG(dialog)->vbox), table); ++ gtk_container_add(GTK_CONTAINER(gtk_dialog_get_content_area (GTK_DIALOG(dialog))), table); + + label = gtk_label_new(_("Please provide some network information:")); + gtk_misc_set_alignment(GTK_MISC(label), 0.0, 0.0); +diff --git a/applet/main.c b/applet/main.c +index f12d371..cd16285 100644 +--- a/applet/main.c ++++ b/applet/main.c +@@ -157,46 +157,6 @@ static void name_owner_changed(DBusGProxy *proxy, const char *name, + } + } + +-static void open_uri(GtkWindow *parent, const char *uri) +-{ +- GtkWidget *dialog; +- GdkScreen *screen; +- GError *error = NULL; +- gchar *cmdline; +- +- screen = gtk_window_get_screen(parent); +- +- cmdline = g_strconcat("xdg-open ", uri, NULL); +- +- if (gdk_spawn_command_line_on_screen(screen, +- cmdline, &error) == FALSE) { +- dialog = gtk_message_dialog_new(parent, +- GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_ERROR, +- GTK_BUTTONS_CLOSE, "%s", error->message); +- gtk_dialog_run(GTK_DIALOG(dialog)); +- gtk_widget_destroy(dialog); +- g_error_free(error); +- } +- +- g_free(cmdline); +-} +- +-static void about_url_hook(GtkAboutDialog *dialog, +- const gchar *url, gpointer data) +-{ +- open_uri(GTK_WINDOW(dialog), url); +-} +- +-static void about_email_hook(GtkAboutDialog *dialog, +- const gchar *email, gpointer data) +-{ +- gchar *uri; +- +- uri = g_strconcat("mailto:", email, NULL); +- open_uri(GTK_WINDOW(dialog), uri); +- g_free(uri); +-} +- + static void about_callback(GtkWidget *item, gpointer user_data) + { + const gchar *authors[] = { +@@ -204,9 +164,6 @@ static void about_callback(GtkWidget *item, gpointer user_data) + NULL + }; + +- gtk_about_dialog_set_url_hook(about_url_hook, NULL, NULL); +- gtk_about_dialog_set_email_hook(about_email_hook, NULL, NULL); +- + gtk_show_about_dialog(NULL, "version", VERSION, + "copyright", "Copyright \xc2\xa9 2008 Intel Corporation", + "comments", _("A connection manager for the GNOME desktop"), +diff --git a/applet/status.c b/applet/status.c +index aed6f1e..015ff29 100644 +--- a/applet/status.c ++++ b/applet/status.c +@@ -102,8 +102,6 @@ static void icon_animation_start(IconAnimation *animation, + { + available = TRUE; + +- gtk_status_icon_set_tooltip(statusicon, NULL); +- + animation->start = start; + animation->end = (end == 0) ? animation->count - 1 : end; + +@@ -120,8 +118,6 @@ static void icon_animation_stop(IconAnimation *animation) + { + available = TRUE; + +- gtk_status_icon_set_tooltip(statusicon, NULL); +- + if (animation->id > 0) + g_source_remove(animation->id); + +@@ -251,8 +247,6 @@ void status_unavailable(void) + available = FALSE; + + gtk_status_icon_set_from_pixbuf(statusicon, pixbuf_notifier); +- gtk_status_icon_set_tooltip(statusicon, +- "Connection Manager daemon is not running"); + + gtk_status_icon_set_visible(statusicon, TRUE); + } +@@ -299,7 +293,6 @@ static void set_ready(gint signal) + + if (signal < 0) { + gtk_status_icon_set_from_pixbuf(statusicon, pixbuf_wired); +- gtk_status_icon_set_tooltip(statusicon, NULL); + return; + } + +@@ -311,7 +304,6 @@ static void set_ready(gint signal) + index = 4; + + gtk_status_icon_set_from_pixbuf(statusicon, pixbuf_signal[index]); +- gtk_status_icon_set_tooltip(statusicon, NULL); + } + + struct timeout_data { +diff --git a/configure.ac b/configure.ac +index b972e07..a4dad5d 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -55,8 +55,7 @@ AC_SUBST(DBUS_LIBS) + DBUS_BINDING_TOOL="dbus-binding-tool" + AC_SUBST(DBUS_BINDING_TOOL) + +-PKG_CHECK_MODULES(GTK, gtk+-2.0 >= 2.8, dummy=yes, +- AC_MSG_ERROR(gtk+ >= 2.8 is required)) ++PKG_CHECK_MODULES(GTK, gtk+-3.0) + AC_SUBST(GTK_CFLAGS) + AC_SUBST(GTK_LIBS) + +diff --git a/properties/ethernet.c b/properties/ethernet.c +index 31db7a0..0b6b423 100644 +--- a/properties/ethernet.c ++++ b/properties/ethernet.c +@@ -82,7 +82,7 @@ void add_ethernet_switch_button(GtkWidget *mainbox, GtkTreeIter *iter, + gtk_container_set_border_width(GTK_CONTAINER(vbox), 24); + gtk_box_pack_start(GTK_BOX(mainbox), vbox, FALSE, FALSE, 0); + +- table = gtk_table_new(1, 1, TRUE); ++ table = gtk_table_new(1, 1, FALSE); + gtk_table_set_row_spacings(GTK_TABLE(table), 10); + gtk_table_set_col_spacings(GTK_TABLE(table), 10); + gtk_box_pack_start(GTK_BOX(vbox), table, FALSE, FALSE, 0); +@@ -136,7 +136,7 @@ void add_ethernet_service(GtkWidget *mainbox, GtkTreeIter *iter, struct config_d + gtk_container_set_border_width(GTK_CONTAINER(vbox), 24); + gtk_box_pack_start(GTK_BOX(mainbox), vbox, FALSE, FALSE, 0); + +- table = gtk_table_new(5, 5, TRUE); ++ table = gtk_table_new(5, 5, FALSE); + gtk_table_set_row_spacings(GTK_TABLE(table), 10); + gtk_table_set_col_spacings(GTK_TABLE(table), 10); + gtk_box_pack_start(GTK_BOX(vbox), table, FALSE, FALSE, 0); +@@ -144,9 +144,9 @@ void add_ethernet_service(GtkWidget *mainbox, GtkTreeIter *iter, struct config_d + label = gtk_label_new(_("Configuration:")); + gtk_table_attach_defaults(GTK_TABLE(table), label, 1, 2, 0, 1); + +- combo = gtk_combo_box_new_text(); +- gtk_combo_box_append_text(GTK_COMBO_BOX(combo), "DHCP"); +- gtk_combo_box_append_text(GTK_COMBO_BOX(combo), "MANUAL"); ++ combo = gtk_combo_box_text_new(); ++ gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo), "DHCP"); ++ gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo), "MANUAL"); + gtk_combo_box_set_row_separator_func(GTK_COMBO_BOX(combo), + separator_function, NULL, NULL); + gtk_table_attach_defaults(GTK_TABLE(table), combo, 2, 4, 0, 1); +@@ -219,7 +219,7 @@ void update_ethernet_ipv4(struct config_data *data, guint policy) + case CONNMAN_POLICY_DHCP: + gtk_combo_box_set_active(GTK_COMBO_BOX(combo), 0); + for (i = 0; i < 3; i++) { +- gtk_entry_set_editable(GTK_ENTRY(entry[i]), 0); ++ gtk_editable_set_editable(GTK_EDITABLE(entry[i]), 0); + gtk_widget_set_sensitive(entry[i], 0); + gtk_entry_set_text(GTK_ENTRY(entry[i]), _("")); + } +@@ -227,7 +227,7 @@ void update_ethernet_ipv4(struct config_data *data, guint policy) + case CONNMAN_POLICY_MANUAL: + gtk_combo_box_set_active(GTK_COMBO_BOX(combo), 1); + for (i = 0; i < 3; i++) { +- gtk_entry_set_editable(GTK_ENTRY(entry[i]), 1); ++ gtk_editable_set_editable(GTK_EDITABLE(entry[i]), 1); + gtk_widget_set_sensitive(entry[i], 1); + } + break; +diff --git a/properties/main.c b/properties/main.c +index c05f443..6f76361 100644 +--- a/properties/main.c ++++ b/properties/main.c +@@ -429,7 +429,7 @@ static GtkWidget *create_interfaces(GtkWidget *window) + + scrolled = gtk_scrolled_window_new(NULL, NULL); + gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolled), +- GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); ++ GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); + gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(scrolled), + GTK_SHADOW_OUT); + gtk_box_pack_start(GTK_BOX(hbox), scrolled, FALSE, TRUE, 0); +diff --git a/properties/wifi.c b/properties/wifi.c +index bd325ef..a5827e0 100644 +--- a/properties/wifi.c ++++ b/properties/wifi.c +@@ -125,7 +125,7 @@ void add_wifi_switch_button(GtkWidget *mainbox, GtkTreeIter *iter, + gtk_container_set_border_width(GTK_CONTAINER(vbox), 24); + gtk_box_pack_start(GTK_BOX(mainbox), vbox, FALSE, FALSE, 0); + +- table = gtk_table_new(1, 1, TRUE); ++ table = gtk_table_new(1, 1, FALSE); + gtk_table_set_row_spacings(GTK_TABLE(table), 10); + gtk_table_set_col_spacings(GTK_TABLE(table), 10); + gtk_box_pack_start(GTK_BOX(vbox), table, FALSE, FALSE, 0); +@@ -185,9 +185,9 @@ static void wifi_ipconfig(GtkWidget *table, struct config_data *data, GtkTreeIte + gtk_table_attach_defaults(GTK_TABLE(table), label, 1, 2, 3, 4); + data->ipv4.label[0] = label; + +- combo = gtk_combo_box_new_text(); +- gtk_combo_box_append_text(GTK_COMBO_BOX(combo), "DHCP"); +- gtk_combo_box_append_text(GTK_COMBO_BOX(combo), "Manual"); ++ combo = gtk_combo_box_text_new(); ++ gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo), "DHCP"); ++ gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo), "Manual"); + + gtk_combo_box_set_row_separator_func(GTK_COMBO_BOX(combo), + separator_function, NULL, NULL); +@@ -335,14 +335,14 @@ void update_wifi_ipv4(struct config_data *data, guint policy) + case CONNMAN_POLICY_DHCP: + gtk_combo_box_set_active(GTK_COMBO_BOX(combo), 0); + for (i = 0; i < 3; i++) { +- gtk_entry_set_editable(GTK_ENTRY(entry[i]), 0); ++ gtk_editable_set_editable(GTK_EDITABLE(entry[i]), 0); + gtk_widget_set_sensitive(entry[i], 0); + } + break; + case CONNMAN_POLICY_MANUAL: + gtk_combo_box_set_active(GTK_COMBO_BOX(combo), 1); + for (i = 0; i < 3; i++) { +- gtk_entry_set_editable(GTK_ENTRY(entry[i]), 1); ++ gtk_editable_set_editable(GTK_EDITABLE(entry[i]), 1); + gtk_widget_set_sensitive(entry[i], 1); + } + break; +-- +2.8.1 + diff --git a/meta/recipes-connectivity/connman/connman-gnome_0.7.bb b/meta/recipes-connectivity/connman/connman-gnome_0.7.bb index 3521c7f..a56bd37 100644 --- a/meta/recipes-connectivity/connman/connman-gnome_0.7.bb +++ b/meta/recipes-connectivity/connman/connman-gnome_0.7.bb @@ -6,7 +6,7 @@ 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 dbus-glib-native intltool-native gettext-native" +DEPENDS = "gtk+3 dbus-glib dbus-glib-native intltool-native gettext-native" # 0.7 tag SRCREV = "cf3c325b23dae843c5499a113591cfbc98acb143" @@ -15,12 +15,13 @@ SRC_URI = "git://github.com/connectivity/connman-gnome.git \ file://null_check_for_ipv4_config.patch \ file://images/* \ file://connman-gnome-fix-dbus-interface-name.patch \ + file://0001-Port-to-Gtk3.patch \ " S = "${WORKDIR}/git" inherit autotools-brokensep gtk-icon-cache pkgconfig distro_features_check -ANY_OF_DISTRO_FEATURES = "${GTK2DISTROFEATURES}" +ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" RDEPENDS_${PN} = "connman" diff --git a/meta/recipes-connectivity/connman/connman/0001-Port-to-Gtk3.patch b/meta/recipes-connectivity/connman/connman/0001-Port-to-Gtk3.patch new file mode 100644 index 0000000..c93e9b4 --- /dev/null +++ b/meta/recipes-connectivity/connman/connman/0001-Port-to-Gtk3.patch @@ -0,0 +1,277 @@ +From a59b0fac02e74a971ac3f08bf28c17ce361a9526 Mon Sep 17 00:00:00 2001 +From: Jussi Kukkonen <jussi.kukkonen@intel.com> +Date: Wed, 2 Mar 2016 15:47:49 +0200 +Subject: [PATCH] Port to Gtk3 + +Some unused (or not useful) code was removed, functionality should stay +the same. + +Code still contains quite a few uses of deprecated API. + +Upstream-Status: Submitted +Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> +--- + applet/agent.c | 3 +-- + applet/main.c | 43 ------------------------------------------- + applet/status.c | 8 -------- + configure.ac | 3 +-- + properties/ethernet.c | 14 +++++++------- + properties/main.c | 2 +- + properties/wifi.c | 12 ++++++------ + 7 files changed, 16 insertions(+), 69 deletions(-) + +diff --git a/applet/agent.c b/applet/agent.c +index 65bed08..04fe86a 100644 +--- a/applet/agent.c ++++ b/applet/agent.c +@@ -126,7 +126,6 @@ static void request_input_dialog(GHashTable *request, + gtk_window_set_position(GTK_WINDOW(dialog), GTK_WIN_POS_CENTER); + gtk_window_set_keep_above(GTK_WINDOW(dialog), TRUE); + gtk_window_set_urgency_hint(GTK_WINDOW(dialog), TRUE); +- gtk_dialog_set_has_separator(GTK_DIALOG(dialog), FALSE); + input->dialog = dialog; + + gtk_dialog_add_button(GTK_DIALOG(dialog), +@@ -139,7 +138,7 @@ static void request_input_dialog(GHashTable *request, + gtk_table_set_row_spacings(GTK_TABLE(table), 4); + gtk_table_set_col_spacings(GTK_TABLE(table), 20); + gtk_container_set_border_width(GTK_CONTAINER(table), 12); +- gtk_container_add(GTK_CONTAINER(GTK_DIALOG(dialog)->vbox), table); ++ gtk_container_add(GTK_CONTAINER(gtk_dialog_get_content_area (GTK_DIALOG(dialog))), table); + + label = gtk_label_new(_("Please provide some network information:")); + gtk_misc_set_alignment(GTK_MISC(label), 0.0, 0.0); +diff --git a/applet/main.c b/applet/main.c +index f12d371..cd16285 100644 +--- a/applet/main.c ++++ b/applet/main.c +@@ -157,46 +157,6 @@ static void name_owner_changed(DBusGProxy *proxy, const char *name, + } + } + +-static void open_uri(GtkWindow *parent, const char *uri) +-{ +- GtkWidget *dialog; +- GdkScreen *screen; +- GError *error = NULL; +- gchar *cmdline; +- +- screen = gtk_window_get_screen(parent); +- +- cmdline = g_strconcat("xdg-open ", uri, NULL); +- +- if (gdk_spawn_command_line_on_screen(screen, +- cmdline, &error) == FALSE) { +- dialog = gtk_message_dialog_new(parent, +- GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_ERROR, +- GTK_BUTTONS_CLOSE, "%s", error->message); +- gtk_dialog_run(GTK_DIALOG(dialog)); +- gtk_widget_destroy(dialog); +- g_error_free(error); +- } +- +- g_free(cmdline); +-} +- +-static void about_url_hook(GtkAboutDialog *dialog, +- const gchar *url, gpointer data) +-{ +- open_uri(GTK_WINDOW(dialog), url); +-} +- +-static void about_email_hook(GtkAboutDialog *dialog, +- const gchar *email, gpointer data) +-{ +- gchar *uri; +- +- uri = g_strconcat("mailto:", email, NULL); +- open_uri(GTK_WINDOW(dialog), uri); +- g_free(uri); +-} +- + static void about_callback(GtkWidget *item, gpointer user_data) + { + const gchar *authors[] = { +@@ -204,9 +164,6 @@ static void about_callback(GtkWidget *item, gpointer user_data) + NULL + }; + +- gtk_about_dialog_set_url_hook(about_url_hook, NULL, NULL); +- gtk_about_dialog_set_email_hook(about_email_hook, NULL, NULL); +- + gtk_show_about_dialog(NULL, "version", VERSION, + "copyright", "Copyright \xc2\xa9 2008 Intel Corporation", + "comments", _("A connection manager for the GNOME desktop"), +diff --git a/applet/status.c b/applet/status.c +index aed6f1e..015ff29 100644 +--- a/applet/status.c ++++ b/applet/status.c +@@ -102,8 +102,6 @@ static void icon_animation_start(IconAnimation *animation, + { + available = TRUE; + +- gtk_status_icon_set_tooltip(statusicon, NULL); +- + animation->start = start; + animation->end = (end == 0) ? animation->count - 1 : end; + +@@ -120,8 +118,6 @@ static void icon_animation_stop(IconAnimation *animation) + { + available = TRUE; + +- gtk_status_icon_set_tooltip(statusicon, NULL); +- + if (animation->id > 0) + g_source_remove(animation->id); + +@@ -251,8 +247,6 @@ void status_unavailable(void) + available = FALSE; + + gtk_status_icon_set_from_pixbuf(statusicon, pixbuf_notifier); +- gtk_status_icon_set_tooltip(statusicon, +- "Connection Manager daemon is not running"); + + gtk_status_icon_set_visible(statusicon, TRUE); + } +@@ -299,7 +293,6 @@ static void set_ready(gint signal) + + if (signal < 0) { + gtk_status_icon_set_from_pixbuf(statusicon, pixbuf_wired); +- gtk_status_icon_set_tooltip(statusicon, NULL); + return; + } + +@@ -311,7 +304,6 @@ static void set_ready(gint signal) + index = 4; + + gtk_status_icon_set_from_pixbuf(statusicon, pixbuf_signal[index]); +- gtk_status_icon_set_tooltip(statusicon, NULL); + } + + struct timeout_data { +diff --git a/configure.ac b/configure.ac +index b972e07..a4dad5d 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -55,8 +55,7 @@ AC_SUBST(DBUS_LIBS) + DBUS_BINDING_TOOL="dbus-binding-tool" + AC_SUBST(DBUS_BINDING_TOOL) + +-PKG_CHECK_MODULES(GTK, gtk+-2.0 >= 2.8, dummy=yes, +- AC_MSG_ERROR(gtk+ >= 2.8 is required)) ++PKG_CHECK_MODULES(GTK, gtk+-3.0) + AC_SUBST(GTK_CFLAGS) + AC_SUBST(GTK_LIBS) + +diff --git a/properties/ethernet.c b/properties/ethernet.c +index 31db7a0..0b6b423 100644 +--- a/properties/ethernet.c ++++ b/properties/ethernet.c +@@ -82,7 +82,7 @@ void add_ethernet_switch_button(GtkWidget *mainbox, GtkTreeIter *iter, + gtk_container_set_border_width(GTK_CONTAINER(vbox), 24); + gtk_box_pack_start(GTK_BOX(mainbox), vbox, FALSE, FALSE, 0); + +- table = gtk_table_new(1, 1, TRUE); ++ table = gtk_table_new(1, 1, FALSE); + gtk_table_set_row_spacings(GTK_TABLE(table), 10); + gtk_table_set_col_spacings(GTK_TABLE(table), 10); + gtk_box_pack_start(GTK_BOX(vbox), table, FALSE, FALSE, 0); +@@ -136,7 +136,7 @@ void add_ethernet_service(GtkWidget *mainbox, GtkTreeIter *iter, struct config_d + gtk_container_set_border_width(GTK_CONTAINER(vbox), 24); + gtk_box_pack_start(GTK_BOX(mainbox), vbox, FALSE, FALSE, 0); + +- table = gtk_table_new(5, 5, TRUE); ++ table = gtk_table_new(5, 5, FALSE); + gtk_table_set_row_spacings(GTK_TABLE(table), 10); + gtk_table_set_col_spacings(GTK_TABLE(table), 10); + gtk_box_pack_start(GTK_BOX(vbox), table, FALSE, FALSE, 0); +@@ -144,9 +144,9 @@ void add_ethernet_service(GtkWidget *mainbox, GtkTreeIter *iter, struct config_d + label = gtk_label_new(_("Configuration:")); + gtk_table_attach_defaults(GTK_TABLE(table), label, 1, 2, 0, 1); + +- combo = gtk_combo_box_new_text(); +- gtk_combo_box_append_text(GTK_COMBO_BOX(combo), "DHCP"); +- gtk_combo_box_append_text(GTK_COMBO_BOX(combo), "MANUAL"); ++ combo = gtk_combo_box_text_new(); ++ gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo), "DHCP"); ++ gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo), "MANUAL"); + gtk_combo_box_set_row_separator_func(GTK_COMBO_BOX(combo), + separator_function, NULL, NULL); + gtk_table_attach_defaults(GTK_TABLE(table), combo, 2, 4, 0, 1); +@@ -219,7 +219,7 @@ void update_ethernet_ipv4(struct config_data *data, guint policy) + case CONNMAN_POLICY_DHCP: + gtk_combo_box_set_active(GTK_COMBO_BOX(combo), 0); + for (i = 0; i < 3; i++) { +- gtk_entry_set_editable(GTK_ENTRY(entry[i]), 0); ++ gtk_editable_set_editable(GTK_EDITABLE(entry[i]), 0); + gtk_widget_set_sensitive(entry[i], 0); + gtk_entry_set_text(GTK_ENTRY(entry[i]), _("")); + } +@@ -227,7 +227,7 @@ void update_ethernet_ipv4(struct config_data *data, guint policy) + case CONNMAN_POLICY_MANUAL: + gtk_combo_box_set_active(GTK_COMBO_BOX(combo), 1); + for (i = 0; i < 3; i++) { +- gtk_entry_set_editable(GTK_ENTRY(entry[i]), 1); ++ gtk_editable_set_editable(GTK_EDITABLE(entry[i]), 1); + gtk_widget_set_sensitive(entry[i], 1); + } + break; +diff --git a/properties/main.c b/properties/main.c +index c05f443..6f76361 100644 +--- a/properties/main.c ++++ b/properties/main.c +@@ -429,7 +429,7 @@ static GtkWidget *create_interfaces(GtkWidget *window) + + scrolled = gtk_scrolled_window_new(NULL, NULL); + gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolled), +- GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); ++ GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); + gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(scrolled), + GTK_SHADOW_OUT); + gtk_box_pack_start(GTK_BOX(hbox), scrolled, FALSE, TRUE, 0); +diff --git a/properties/wifi.c b/properties/wifi.c +index bd325ef..a5827e0 100644 +--- a/properties/wifi.c ++++ b/properties/wifi.c +@@ -125,7 +125,7 @@ void add_wifi_switch_button(GtkWidget *mainbox, GtkTreeIter *iter, + gtk_container_set_border_width(GTK_CONTAINER(vbox), 24); + gtk_box_pack_start(GTK_BOX(mainbox), vbox, FALSE, FALSE, 0); + +- table = gtk_table_new(1, 1, TRUE); ++ table = gtk_table_new(1, 1, FALSE); + gtk_table_set_row_spacings(GTK_TABLE(table), 10); + gtk_table_set_col_spacings(GTK_TABLE(table), 10); + gtk_box_pack_start(GTK_BOX(vbox), table, FALSE, FALSE, 0); +@@ -185,9 +185,9 @@ static void wifi_ipconfig(GtkWidget *table, struct config_data *data, GtkTreeIte + gtk_table_attach_defaults(GTK_TABLE(table), label, 1, 2, 3, 4); + data->ipv4.label[0] = label; + +- combo = gtk_combo_box_new_text(); +- gtk_combo_box_append_text(GTK_COMBO_BOX(combo), "DHCP"); +- gtk_combo_box_append_text(GTK_COMBO_BOX(combo), "Manual"); ++ combo = gtk_combo_box_text_new(); ++ gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo), "DHCP"); ++ gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo), "Manual"); + + gtk_combo_box_set_row_separator_func(GTK_COMBO_BOX(combo), + separator_function, NULL, NULL); +@@ -335,14 +335,14 @@ void update_wifi_ipv4(struct config_data *data, guint policy) + case CONNMAN_POLICY_DHCP: + gtk_combo_box_set_active(GTK_COMBO_BOX(combo), 0); + for (i = 0; i < 3; i++) { +- gtk_entry_set_editable(GTK_ENTRY(entry[i]), 0); ++ gtk_editable_set_editable(GTK_EDITABLE(entry[i]), 0); + gtk_widget_set_sensitive(entry[i], 0); + } + break; + case CONNMAN_POLICY_MANUAL: + gtk_combo_box_set_active(GTK_COMBO_BOX(combo), 1); + for (i = 0; i < 3; i++) { +- gtk_entry_set_editable(GTK_ENTRY(entry[i]), 1); ++ gtk_editable_set_editable(GTK_EDITABLE(entry[i]), 1); + gtk_widget_set_sensitive(entry[i], 1); + } + break; +-- +2.8.1 + -- 2.1.4 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCHv2 08/36] connman-gnome: Add patch to port to Gtk+3 2016-06-10 8:04 ` [PATCHv2 08/36] connman-gnome: Add patch to port " Jussi Kukkonen @ 2016-06-10 9:01 ` Jussi Kukkonen 0 siblings, 0 replies; 5+ messages in thread From: Jussi Kukkonen @ 2016-06-10 9:01 UTC (permalink / raw) To: Patches and discussions about the oe-core layer [-- Attachment #1: Type: text/plain, Size: 28372 bytes --] On 10 June 2016 at 11:04, Jussi Kukkonen <jussi.kukkonen@intel.com> wrote: > Upstream is not really active anymore: patch the Gtk+3 upgrade > in for now (long term solution is to change to another UI). > > Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> > --- > .../connman/connman-gnome/0001-Port-to-Gtk3.patch | 277 > +++++++++++++++++++++ > .../connman/connman-gnome_0.7.bb | 5 +- > .../connman/connman/0001-Port-to-Gtk3.patch | 277 > +++++++++++++++++++++ > 3 files changed, 557 insertions(+), 2 deletions(-) > create mode 100644 > meta/recipes-connectivity/connman/connman-gnome/0001-Port-to-Gtk3.patch > create mode 100644 > meta/recipes-connectivity/connman/connman/0001-Port-to-Gtk3.patch > ... that still wasn't right: I've removed the completely unnecessary duplicate patch and force pushed the same jku/sato-gtk3-v2 branch. Sorry about that and thanks to Alexander for keeping eyes open. Jussi > diff --git > a/meta/recipes-connectivity/connman/connman-gnome/0001-Port-to-Gtk3.patch > b/meta/recipes-connectivity/connman/connman-gnome/0001-Port-to-Gtk3.patch > new file mode 100644 > index 0000000..c93e9b4 > --- /dev/null > +++ > b/meta/recipes-connectivity/connman/connman-gnome/0001-Port-to-Gtk3.patch > @@ -0,0 +1,277 @@ > +From a59b0fac02e74a971ac3f08bf28c17ce361a9526 Mon Sep 17 00:00:00 2001 > +From: Jussi Kukkonen <jussi.kukkonen@intel.com> > +Date: Wed, 2 Mar 2016 15:47:49 +0200 > +Subject: [PATCH] Port to Gtk3 > + > +Some unused (or not useful) code was removed, functionality should stay > +the same. > + > +Code still contains quite a few uses of deprecated API. > + > +Upstream-Status: Submitted > +Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> > +--- > + applet/agent.c | 3 +-- > + applet/main.c | 43 ------------------------------------------- > + applet/status.c | 8 -------- > + configure.ac | 3 +-- > + properties/ethernet.c | 14 +++++++------- > + properties/main.c | 2 +- > + properties/wifi.c | 12 ++++++------ > + 7 files changed, 16 insertions(+), 69 deletions(-) > + > +diff --git a/applet/agent.c b/applet/agent.c > +index 65bed08..04fe86a 100644 > +--- a/applet/agent.c > ++++ b/applet/agent.c > +@@ -126,7 +126,6 @@ static void request_input_dialog(GHashTable *request, > + gtk_window_set_position(GTK_WINDOW(dialog), GTK_WIN_POS_CENTER); > + gtk_window_set_keep_above(GTK_WINDOW(dialog), TRUE); > + gtk_window_set_urgency_hint(GTK_WINDOW(dialog), TRUE); > +- gtk_dialog_set_has_separator(GTK_DIALOG(dialog), FALSE); > + input->dialog = dialog; > + > + gtk_dialog_add_button(GTK_DIALOG(dialog), > +@@ -139,7 +138,7 @@ static void request_input_dialog(GHashTable *request, > + gtk_table_set_row_spacings(GTK_TABLE(table), 4); > + gtk_table_set_col_spacings(GTK_TABLE(table), 20); > + gtk_container_set_border_width(GTK_CONTAINER(table), 12); > +- gtk_container_add(GTK_CONTAINER(GTK_DIALOG(dialog)->vbox), table); > ++ gtk_container_add(GTK_CONTAINER(gtk_dialog_get_content_area > (GTK_DIALOG(dialog))), table); > + > + label = gtk_label_new(_("Please provide some network > information:")); > + gtk_misc_set_alignment(GTK_MISC(label), 0.0, 0.0); > +diff --git a/applet/main.c b/applet/main.c > +index f12d371..cd16285 100644 > +--- a/applet/main.c > ++++ b/applet/main.c > +@@ -157,46 +157,6 @@ static void name_owner_changed(DBusGProxy *proxy, > const char *name, > + } > + } > + > +-static void open_uri(GtkWindow *parent, const char *uri) > +-{ > +- GtkWidget *dialog; > +- GdkScreen *screen; > +- GError *error = NULL; > +- gchar *cmdline; > +- > +- screen = gtk_window_get_screen(parent); > +- > +- cmdline = g_strconcat("xdg-open ", uri, NULL); > +- > +- if (gdk_spawn_command_line_on_screen(screen, > +- cmdline, &error) == FALSE) { > +- dialog = gtk_message_dialog_new(parent, > +- GTK_DIALOG_DESTROY_WITH_PARENT, > GTK_MESSAGE_ERROR, > +- GTK_BUTTONS_CLOSE, "%s", error->message); > +- gtk_dialog_run(GTK_DIALOG(dialog)); > +- gtk_widget_destroy(dialog); > +- g_error_free(error); > +- } > +- > +- g_free(cmdline); > +-} > +- > +-static void about_url_hook(GtkAboutDialog *dialog, > +- const gchar *url, gpointer data) > +-{ > +- open_uri(GTK_WINDOW(dialog), url); > +-} > +- > +-static void about_email_hook(GtkAboutDialog *dialog, > +- const gchar *email, gpointer data) > +-{ > +- gchar *uri; > +- > +- uri = g_strconcat("mailto:", email, NULL); > +- open_uri(GTK_WINDOW(dialog), uri); > +- g_free(uri); > +-} > +- > + static void about_callback(GtkWidget *item, gpointer user_data) > + { > + const gchar *authors[] = { > +@@ -204,9 +164,6 @@ static void about_callback(GtkWidget *item, gpointer > user_data) > + NULL > + }; > + > +- gtk_about_dialog_set_url_hook(about_url_hook, NULL, NULL); > +- gtk_about_dialog_set_email_hook(about_email_hook, NULL, NULL); > +- > + gtk_show_about_dialog(NULL, "version", VERSION, > + "copyright", "Copyright \xc2\xa9 2008 Intel > Corporation", > + "comments", _("A connection manager for the GNOME > desktop"), > +diff --git a/applet/status.c b/applet/status.c > +index aed6f1e..015ff29 100644 > +--- a/applet/status.c > ++++ b/applet/status.c > +@@ -102,8 +102,6 @@ static void icon_animation_start(IconAnimation > *animation, > + { > + available = TRUE; > + > +- gtk_status_icon_set_tooltip(statusicon, NULL); > +- > + animation->start = start; > + animation->end = (end == 0) ? animation->count - 1 : end; > + > +@@ -120,8 +118,6 @@ static void icon_animation_stop(IconAnimation > *animation) > + { > + available = TRUE; > + > +- gtk_status_icon_set_tooltip(statusicon, NULL); > +- > + if (animation->id > 0) > + g_source_remove(animation->id); > + > +@@ -251,8 +247,6 @@ void status_unavailable(void) > + available = FALSE; > + > + gtk_status_icon_set_from_pixbuf(statusicon, pixbuf_notifier); > +- gtk_status_icon_set_tooltip(statusicon, > +- "Connection Manager daemon is not > running"); > + > + gtk_status_icon_set_visible(statusicon, TRUE); > + } > +@@ -299,7 +293,6 @@ static void set_ready(gint signal) > + > + if (signal < 0) { > + gtk_status_icon_set_from_pixbuf(statusicon, pixbuf_wired); > +- gtk_status_icon_set_tooltip(statusicon, NULL); > + return; > + } > + > +@@ -311,7 +304,6 @@ static void set_ready(gint signal) > + index = 4; > + > + gtk_status_icon_set_from_pixbuf(statusicon, pixbuf_signal[index]); > +- gtk_status_icon_set_tooltip(statusicon, NULL); > + } > + > + struct timeout_data { > +diff --git a/configure.ac b/configure.ac > +index b972e07..a4dad5d 100644 > +--- a/configure.ac > ++++ b/configure.ac > +@@ -55,8 +55,7 @@ AC_SUBST(DBUS_LIBS) > + DBUS_BINDING_TOOL="dbus-binding-tool" > + AC_SUBST(DBUS_BINDING_TOOL) > + > +-PKG_CHECK_MODULES(GTK, gtk+-2.0 >= 2.8, dummy=yes, > +- AC_MSG_ERROR(gtk+ >= 2.8 is required)) > ++PKG_CHECK_MODULES(GTK, gtk+-3.0) > + AC_SUBST(GTK_CFLAGS) > + AC_SUBST(GTK_LIBS) > + > +diff --git a/properties/ethernet.c b/properties/ethernet.c > +index 31db7a0..0b6b423 100644 > +--- a/properties/ethernet.c > ++++ b/properties/ethernet.c > +@@ -82,7 +82,7 @@ void add_ethernet_switch_button(GtkWidget *mainbox, > GtkTreeIter *iter, > + gtk_container_set_border_width(GTK_CONTAINER(vbox), 24); > + gtk_box_pack_start(GTK_BOX(mainbox), vbox, FALSE, FALSE, 0); > + > +- table = gtk_table_new(1, 1, TRUE); > ++ table = gtk_table_new(1, 1, FALSE); > + gtk_table_set_row_spacings(GTK_TABLE(table), 10); > + gtk_table_set_col_spacings(GTK_TABLE(table), 10); > + gtk_box_pack_start(GTK_BOX(vbox), table, FALSE, FALSE, 0); > +@@ -136,7 +136,7 @@ void add_ethernet_service(GtkWidget *mainbox, > GtkTreeIter *iter, struct config_d > + gtk_container_set_border_width(GTK_CONTAINER(vbox), 24); > + gtk_box_pack_start(GTK_BOX(mainbox), vbox, FALSE, FALSE, 0); > + > +- table = gtk_table_new(5, 5, TRUE); > ++ table = gtk_table_new(5, 5, FALSE); > + gtk_table_set_row_spacings(GTK_TABLE(table), 10); > + gtk_table_set_col_spacings(GTK_TABLE(table), 10); > + gtk_box_pack_start(GTK_BOX(vbox), table, FALSE, FALSE, 0); > +@@ -144,9 +144,9 @@ void add_ethernet_service(GtkWidget *mainbox, > GtkTreeIter *iter, struct config_d > + label = gtk_label_new(_("Configuration:")); > + gtk_table_attach_defaults(GTK_TABLE(table), label, 1, 2, 0, 1); > + > +- combo = gtk_combo_box_new_text(); > +- gtk_combo_box_append_text(GTK_COMBO_BOX(combo), "DHCP"); > +- gtk_combo_box_append_text(GTK_COMBO_BOX(combo), "MANUAL"); > ++ combo = gtk_combo_box_text_new(); > ++ gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo), "DHCP"); > ++ gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo), > "MANUAL"); > + gtk_combo_box_set_row_separator_func(GTK_COMBO_BOX(combo), > + separator_function, NULL, NULL); > + gtk_table_attach_defaults(GTK_TABLE(table), combo, 2, 4, 0, 1); > +@@ -219,7 +219,7 @@ void update_ethernet_ipv4(struct config_data *data, > guint policy) > + case CONNMAN_POLICY_DHCP: > + gtk_combo_box_set_active(GTK_COMBO_BOX(combo), 0); > + for (i = 0; i < 3; i++) { > +- gtk_entry_set_editable(GTK_ENTRY(entry[i]), 0); > ++ gtk_editable_set_editable(GTK_EDITABLE(entry[i]), > 0); > + gtk_widget_set_sensitive(entry[i], 0); > + gtk_entry_set_text(GTK_ENTRY(entry[i]), _("")); > + } > +@@ -227,7 +227,7 @@ void update_ethernet_ipv4(struct config_data *data, > guint policy) > + case CONNMAN_POLICY_MANUAL: > + gtk_combo_box_set_active(GTK_COMBO_BOX(combo), 1); > + for (i = 0; i < 3; i++) { > +- gtk_entry_set_editable(GTK_ENTRY(entry[i]), 1); > ++ gtk_editable_set_editable(GTK_EDITABLE(entry[i]), > 1); > + gtk_widget_set_sensitive(entry[i], 1); > + } > + break; > +diff --git a/properties/main.c b/properties/main.c > +index c05f443..6f76361 100644 > +--- a/properties/main.c > ++++ b/properties/main.c > +@@ -429,7 +429,7 @@ static GtkWidget *create_interfaces(GtkWidget *window) > + > + scrolled = gtk_scrolled_window_new(NULL, NULL); > + gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolled), > +- GTK_POLICY_AUTOMATIC, > GTK_POLICY_AUTOMATIC); > ++ GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); > + gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(scrolled), > + GTK_SHADOW_OUT); > + gtk_box_pack_start(GTK_BOX(hbox), scrolled, FALSE, TRUE, 0); > +diff --git a/properties/wifi.c b/properties/wifi.c > +index bd325ef..a5827e0 100644 > +--- a/properties/wifi.c > ++++ b/properties/wifi.c > +@@ -125,7 +125,7 @@ void add_wifi_switch_button(GtkWidget *mainbox, > GtkTreeIter *iter, > + gtk_container_set_border_width(GTK_CONTAINER(vbox), 24); > + gtk_box_pack_start(GTK_BOX(mainbox), vbox, FALSE, FALSE, 0); > + > +- table = gtk_table_new(1, 1, TRUE); > ++ table = gtk_table_new(1, 1, FALSE); > + gtk_table_set_row_spacings(GTK_TABLE(table), 10); > + gtk_table_set_col_spacings(GTK_TABLE(table), 10); > + gtk_box_pack_start(GTK_BOX(vbox), table, FALSE, FALSE, 0); > +@@ -185,9 +185,9 @@ static void wifi_ipconfig(GtkWidget *table, struct > config_data *data, GtkTreeIte > + gtk_table_attach_defaults(GTK_TABLE(table), label, 1, 2, 3, 4); > + data->ipv4.label[0] = label; > + > +- combo = gtk_combo_box_new_text(); > +- gtk_combo_box_append_text(GTK_COMBO_BOX(combo), "DHCP"); > +- gtk_combo_box_append_text(GTK_COMBO_BOX(combo), "Manual"); > ++ combo = gtk_combo_box_text_new(); > ++ gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo), "DHCP"); > ++ gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo), > "Manual"); > + > + gtk_combo_box_set_row_separator_func(GTK_COMBO_BOX(combo), > + separator_function, NULL, NULL); > +@@ -335,14 +335,14 @@ void update_wifi_ipv4(struct config_data *data, > guint policy) > + case CONNMAN_POLICY_DHCP: > + gtk_combo_box_set_active(GTK_COMBO_BOX(combo), 0); > + for (i = 0; i < 3; i++) { > +- gtk_entry_set_editable(GTK_ENTRY(entry[i]), 0); > ++ gtk_editable_set_editable(GTK_EDITABLE(entry[i]), > 0); > + gtk_widget_set_sensitive(entry[i], 0); > + } > + break; > + case CONNMAN_POLICY_MANUAL: > + gtk_combo_box_set_active(GTK_COMBO_BOX(combo), 1); > + for (i = 0; i < 3; i++) { > +- gtk_entry_set_editable(GTK_ENTRY(entry[i]), 1); > ++ gtk_editable_set_editable(GTK_EDITABLE(entry[i]), > 1); > + gtk_widget_set_sensitive(entry[i], 1); > + } > + break; > +-- > +2.8.1 > + > diff --git a/meta/recipes-connectivity/connman/connman-gnome_0.7.bb > b/meta/recipes-connectivity/connman/connman-gnome_0.7.bb > index 3521c7f..a56bd37 100644 > --- a/meta/recipes-connectivity/connman/connman-gnome_0.7.bb > +++ b/meta/recipes-connectivity/connman/connman-gnome_0.7.bb > @@ -6,7 +6,7 @@ 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 dbus-glib-native intltool-native gettext-native" > +DEPENDS = "gtk+3 dbus-glib dbus-glib-native intltool-native > gettext-native" > > # 0.7 tag > SRCREV = "cf3c325b23dae843c5499a113591cfbc98acb143" > @@ -15,12 +15,13 @@ SRC_URI = "git:// > github.com/connectivity/connman-gnome.git \ > file://null_check_for_ipv4_config.patch \ > file://images/* \ > file://connman-gnome-fix-dbus-interface-name.patch \ > + file://0001-Port-to-Gtk3.patch \ > " > > S = "${WORKDIR}/git" > > inherit autotools-brokensep gtk-icon-cache pkgconfig distro_features_check > -ANY_OF_DISTRO_FEATURES = "${GTK2DISTROFEATURES}" > +ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" > > RDEPENDS_${PN} = "connman" > > diff --git > a/meta/recipes-connectivity/connman/connman/0001-Port-to-Gtk3.patch > b/meta/recipes-connectivity/connman/connman/0001-Port-to-Gtk3.patch > new file mode 100644 > index 0000000..c93e9b4 > --- /dev/null > +++ b/meta/recipes-connectivity/connman/connman/0001-Port-to-Gtk3.patch > @@ -0,0 +1,277 @@ > +From a59b0fac02e74a971ac3f08bf28c17ce361a9526 Mon Sep 17 00:00:00 2001 > +From: Jussi Kukkonen <jussi.kukkonen@intel.com> > +Date: Wed, 2 Mar 2016 15:47:49 +0200 > +Subject: [PATCH] Port to Gtk3 > + > +Some unused (or not useful) code was removed, functionality should stay > +the same. > + > +Code still contains quite a few uses of deprecated API. > + > +Upstream-Status: Submitted > +Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> > +--- > + applet/agent.c | 3 +-- > + applet/main.c | 43 ------------------------------------------- > + applet/status.c | 8 -------- > + configure.ac | 3 +-- > + properties/ethernet.c | 14 +++++++------- > + properties/main.c | 2 +- > + properties/wifi.c | 12 ++++++------ > + 7 files changed, 16 insertions(+), 69 deletions(-) > + > +diff --git a/applet/agent.c b/applet/agent.c > +index 65bed08..04fe86a 100644 > +--- a/applet/agent.c > ++++ b/applet/agent.c > +@@ -126,7 +126,6 @@ static void request_input_dialog(GHashTable *request, > + gtk_window_set_position(GTK_WINDOW(dialog), GTK_WIN_POS_CENTER); > + gtk_window_set_keep_above(GTK_WINDOW(dialog), TRUE); > + gtk_window_set_urgency_hint(GTK_WINDOW(dialog), TRUE); > +- gtk_dialog_set_has_separator(GTK_DIALOG(dialog), FALSE); > + input->dialog = dialog; > + > + gtk_dialog_add_button(GTK_DIALOG(dialog), > +@@ -139,7 +138,7 @@ static void request_input_dialog(GHashTable *request, > + gtk_table_set_row_spacings(GTK_TABLE(table), 4); > + gtk_table_set_col_spacings(GTK_TABLE(table), 20); > + gtk_container_set_border_width(GTK_CONTAINER(table), 12); > +- gtk_container_add(GTK_CONTAINER(GTK_DIALOG(dialog)->vbox), table); > ++ gtk_container_add(GTK_CONTAINER(gtk_dialog_get_content_area > (GTK_DIALOG(dialog))), table); > + > + label = gtk_label_new(_("Please provide some network > information:")); > + gtk_misc_set_alignment(GTK_MISC(label), 0.0, 0.0); > +diff --git a/applet/main.c b/applet/main.c > +index f12d371..cd16285 100644 > +--- a/applet/main.c > ++++ b/applet/main.c > +@@ -157,46 +157,6 @@ static void name_owner_changed(DBusGProxy *proxy, > const char *name, > + } > + } > + > +-static void open_uri(GtkWindow *parent, const char *uri) > +-{ > +- GtkWidget *dialog; > +- GdkScreen *screen; > +- GError *error = NULL; > +- gchar *cmdline; > +- > +- screen = gtk_window_get_screen(parent); > +- > +- cmdline = g_strconcat("xdg-open ", uri, NULL); > +- > +- if (gdk_spawn_command_line_on_screen(screen, > +- cmdline, &error) == FALSE) { > +- dialog = gtk_message_dialog_new(parent, > +- GTK_DIALOG_DESTROY_WITH_PARENT, > GTK_MESSAGE_ERROR, > +- GTK_BUTTONS_CLOSE, "%s", error->message); > +- gtk_dialog_run(GTK_DIALOG(dialog)); > +- gtk_widget_destroy(dialog); > +- g_error_free(error); > +- } > +- > +- g_free(cmdline); > +-} > +- > +-static void about_url_hook(GtkAboutDialog *dialog, > +- const gchar *url, gpointer data) > +-{ > +- open_uri(GTK_WINDOW(dialog), url); > +-} > +- > +-static void about_email_hook(GtkAboutDialog *dialog, > +- const gchar *email, gpointer data) > +-{ > +- gchar *uri; > +- > +- uri = g_strconcat("mailto:", email, NULL); > +- open_uri(GTK_WINDOW(dialog), uri); > +- g_free(uri); > +-} > +- > + static void about_callback(GtkWidget *item, gpointer user_data) > + { > + const gchar *authors[] = { > +@@ -204,9 +164,6 @@ static void about_callback(GtkWidget *item, gpointer > user_data) > + NULL > + }; > + > +- gtk_about_dialog_set_url_hook(about_url_hook, NULL, NULL); > +- gtk_about_dialog_set_email_hook(about_email_hook, NULL, NULL); > +- > + gtk_show_about_dialog(NULL, "version", VERSION, > + "copyright", "Copyright \xc2\xa9 2008 Intel > Corporation", > + "comments", _("A connection manager for the GNOME > desktop"), > +diff --git a/applet/status.c b/applet/status.c > +index aed6f1e..015ff29 100644 > +--- a/applet/status.c > ++++ b/applet/status.c > +@@ -102,8 +102,6 @@ static void icon_animation_start(IconAnimation > *animation, > + { > + available = TRUE; > + > +- gtk_status_icon_set_tooltip(statusicon, NULL); > +- > + animation->start = start; > + animation->end = (end == 0) ? animation->count - 1 : end; > + > +@@ -120,8 +118,6 @@ static void icon_animation_stop(IconAnimation > *animation) > + { > + available = TRUE; > + > +- gtk_status_icon_set_tooltip(statusicon, NULL); > +- > + if (animation->id > 0) > + g_source_remove(animation->id); > + > +@@ -251,8 +247,6 @@ void status_unavailable(void) > + available = FALSE; > + > + gtk_status_icon_set_from_pixbuf(statusicon, pixbuf_notifier); > +- gtk_status_icon_set_tooltip(statusicon, > +- "Connection Manager daemon is not > running"); > + > + gtk_status_icon_set_visible(statusicon, TRUE); > + } > +@@ -299,7 +293,6 @@ static void set_ready(gint signal) > + > + if (signal < 0) { > + gtk_status_icon_set_from_pixbuf(statusicon, pixbuf_wired); > +- gtk_status_icon_set_tooltip(statusicon, NULL); > + return; > + } > + > +@@ -311,7 +304,6 @@ static void set_ready(gint signal) > + index = 4; > + > + gtk_status_icon_set_from_pixbuf(statusicon, pixbuf_signal[index]); > +- gtk_status_icon_set_tooltip(statusicon, NULL); > + } > + > + struct timeout_data { > +diff --git a/configure.ac b/configure.ac > +index b972e07..a4dad5d 100644 > +--- a/configure.ac > ++++ b/configure.ac > +@@ -55,8 +55,7 @@ AC_SUBST(DBUS_LIBS) > + DBUS_BINDING_TOOL="dbus-binding-tool" > + AC_SUBST(DBUS_BINDING_TOOL) > + > +-PKG_CHECK_MODULES(GTK, gtk+-2.0 >= 2.8, dummy=yes, > +- AC_MSG_ERROR(gtk+ >= 2.8 is required)) > ++PKG_CHECK_MODULES(GTK, gtk+-3.0) > + AC_SUBST(GTK_CFLAGS) > + AC_SUBST(GTK_LIBS) > + > +diff --git a/properties/ethernet.c b/properties/ethernet.c > +index 31db7a0..0b6b423 100644 > +--- a/properties/ethernet.c > ++++ b/properties/ethernet.c > +@@ -82,7 +82,7 @@ void add_ethernet_switch_button(GtkWidget *mainbox, > GtkTreeIter *iter, > + gtk_container_set_border_width(GTK_CONTAINER(vbox), 24); > + gtk_box_pack_start(GTK_BOX(mainbox), vbox, FALSE, FALSE, 0); > + > +- table = gtk_table_new(1, 1, TRUE); > ++ table = gtk_table_new(1, 1, FALSE); > + gtk_table_set_row_spacings(GTK_TABLE(table), 10); > + gtk_table_set_col_spacings(GTK_TABLE(table), 10); > + gtk_box_pack_start(GTK_BOX(vbox), table, FALSE, FALSE, 0); > +@@ -136,7 +136,7 @@ void add_ethernet_service(GtkWidget *mainbox, > GtkTreeIter *iter, struct config_d > + gtk_container_set_border_width(GTK_CONTAINER(vbox), 24); > + gtk_box_pack_start(GTK_BOX(mainbox), vbox, FALSE, FALSE, 0); > + > +- table = gtk_table_new(5, 5, TRUE); > ++ table = gtk_table_new(5, 5, FALSE); > + gtk_table_set_row_spacings(GTK_TABLE(table), 10); > + gtk_table_set_col_spacings(GTK_TABLE(table), 10); > + gtk_box_pack_start(GTK_BOX(vbox), table, FALSE, FALSE, 0); > +@@ -144,9 +144,9 @@ void add_ethernet_service(GtkWidget *mainbox, > GtkTreeIter *iter, struct config_d > + label = gtk_label_new(_("Configuration:")); > + gtk_table_attach_defaults(GTK_TABLE(table), label, 1, 2, 0, 1); > + > +- combo = gtk_combo_box_new_text(); > +- gtk_combo_box_append_text(GTK_COMBO_BOX(combo), "DHCP"); > +- gtk_combo_box_append_text(GTK_COMBO_BOX(combo), "MANUAL"); > ++ combo = gtk_combo_box_text_new(); > ++ gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo), "DHCP"); > ++ gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo), > "MANUAL"); > + gtk_combo_box_set_row_separator_func(GTK_COMBO_BOX(combo), > + separator_function, NULL, NULL); > + gtk_table_attach_defaults(GTK_TABLE(table), combo, 2, 4, 0, 1); > +@@ -219,7 +219,7 @@ void update_ethernet_ipv4(struct config_data *data, > guint policy) > + case CONNMAN_POLICY_DHCP: > + gtk_combo_box_set_active(GTK_COMBO_BOX(combo), 0); > + for (i = 0; i < 3; i++) { > +- gtk_entry_set_editable(GTK_ENTRY(entry[i]), 0); > ++ gtk_editable_set_editable(GTK_EDITABLE(entry[i]), > 0); > + gtk_widget_set_sensitive(entry[i], 0); > + gtk_entry_set_text(GTK_ENTRY(entry[i]), _("")); > + } > +@@ -227,7 +227,7 @@ void update_ethernet_ipv4(struct config_data *data, > guint policy) > + case CONNMAN_POLICY_MANUAL: > + gtk_combo_box_set_active(GTK_COMBO_BOX(combo), 1); > + for (i = 0; i < 3; i++) { > +- gtk_entry_set_editable(GTK_ENTRY(entry[i]), 1); > ++ gtk_editable_set_editable(GTK_EDITABLE(entry[i]), > 1); > + gtk_widget_set_sensitive(entry[i], 1); > + } > + break; > +diff --git a/properties/main.c b/properties/main.c > +index c05f443..6f76361 100644 > +--- a/properties/main.c > ++++ b/properties/main.c > +@@ -429,7 +429,7 @@ static GtkWidget *create_interfaces(GtkWidget *window) > + > + scrolled = gtk_scrolled_window_new(NULL, NULL); > + gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolled), > +- GTK_POLICY_AUTOMATIC, > GTK_POLICY_AUTOMATIC); > ++ GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); > + gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(scrolled), > + GTK_SHADOW_OUT); > + gtk_box_pack_start(GTK_BOX(hbox), scrolled, FALSE, TRUE, 0); > +diff --git a/properties/wifi.c b/properties/wifi.c > +index bd325ef..a5827e0 100644 > +--- a/properties/wifi.c > ++++ b/properties/wifi.c > +@@ -125,7 +125,7 @@ void add_wifi_switch_button(GtkWidget *mainbox, > GtkTreeIter *iter, > + gtk_container_set_border_width(GTK_CONTAINER(vbox), 24); > + gtk_box_pack_start(GTK_BOX(mainbox), vbox, FALSE, FALSE, 0); > + > +- table = gtk_table_new(1, 1, TRUE); > ++ table = gtk_table_new(1, 1, FALSE); > + gtk_table_set_row_spacings(GTK_TABLE(table), 10); > + gtk_table_set_col_spacings(GTK_TABLE(table), 10); > + gtk_box_pack_start(GTK_BOX(vbox), table, FALSE, FALSE, 0); > +@@ -185,9 +185,9 @@ static void wifi_ipconfig(GtkWidget *table, struct > config_data *data, GtkTreeIte > + gtk_table_attach_defaults(GTK_TABLE(table), label, 1, 2, 3, 4); > + data->ipv4.label[0] = label; > + > +- combo = gtk_combo_box_new_text(); > +- gtk_combo_box_append_text(GTK_COMBO_BOX(combo), "DHCP"); > +- gtk_combo_box_append_text(GTK_COMBO_BOX(combo), "Manual"); > ++ combo = gtk_combo_box_text_new(); > ++ gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo), "DHCP"); > ++ gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo), > "Manual"); > + > + gtk_combo_box_set_row_separator_func(GTK_COMBO_BOX(combo), > + separator_function, NULL, NULL); > +@@ -335,14 +335,14 @@ void update_wifi_ipv4(struct config_data *data, > guint policy) > + case CONNMAN_POLICY_DHCP: > + gtk_combo_box_set_active(GTK_COMBO_BOX(combo), 0); > + for (i = 0; i < 3; i++) { > +- gtk_entry_set_editable(GTK_ENTRY(entry[i]), 0); > ++ gtk_editable_set_editable(GTK_EDITABLE(entry[i]), > 0); > + gtk_widget_set_sensitive(entry[i], 0); > + } > + break; > + case CONNMAN_POLICY_MANUAL: > + gtk_combo_box_set_active(GTK_COMBO_BOX(combo), 1); > + for (i = 0; i < 3; i++) { > +- gtk_entry_set_editable(GTK_ENTRY(entry[i]), 1); > ++ gtk_editable_set_editable(GTK_EDITABLE(entry[i]), > 1); > + gtk_widget_set_sensitive(entry[i], 1); > + } > + break; > +-- > +2.8.1 > + > -- > 2.1.4 > > [-- Attachment #2: Type: text/html, Size: 34111 bytes --] ^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCHv2 11/36] vte: Upgrade to 0.44.1 2016-06-10 8:04 [PATCHv2 00/36] Port Sato to Gtk+3 Jussi Kukkonen 2016-06-10 8:04 ` [PATCHv2 08/36] connman-gnome: Add patch to port " Jussi Kukkonen @ 2016-06-10 8:04 ` Jussi Kukkonen 2016-06-10 8:04 ` [PATCHv2 32/36] matchbox-desktop: Add Sato folder configuration Jussi Kukkonen 2 siblings, 0 replies; 5+ messages in thread From: Jussi Kukkonen @ 2016-06-10 8:04 UTC (permalink / raw) To: openembedded-core * License change LGPL 2.0 -> LGPL 2.1+ * vte-termcap is no more * API break: current version seems to be parallel installable with old one, but I did not opt for that. Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> --- .../vte/vte-0.28.2/cve-2012-2738.patch | 136 --------------------- .../vte/vte-0.28.2/obsolete_automake_macros.patch | 14 --- meta/recipes-support/vte/vte.inc | 15 --- meta/recipes-support/vte/vte_0.28.2.bb | 16 --- meta/recipes-support/vte/vte_0.44.1.bb | 21 ++++ 5 files changed, 21 insertions(+), 181 deletions(-) delete mode 100644 meta/recipes-support/vte/vte-0.28.2/cve-2012-2738.patch delete mode 100644 meta/recipes-support/vte/vte-0.28.2/obsolete_automake_macros.patch delete mode 100644 meta/recipes-support/vte/vte.inc delete mode 100644 meta/recipes-support/vte/vte_0.28.2.bb create mode 100644 meta/recipes-support/vte/vte_0.44.1.bb diff --git a/meta/recipes-support/vte/vte-0.28.2/cve-2012-2738.patch b/meta/recipes-support/vte/vte-0.28.2/cve-2012-2738.patch deleted file mode 100644 index 9b99803..0000000 --- a/meta/recipes-support/vte/vte-0.28.2/cve-2012-2738.patch +++ /dev/null @@ -1,136 +0,0 @@ -Upstream-Status: Backport -CVE: CVE-2012-2738 -Signed-off-by: Ross Burton <ross.burton@intel.com> - -From e524b0b3bd8fad844ffa73927c199545b892cdbd Mon Sep 17 00:00:00 2001 -From: Christian Persch <chpe@gnome.org> -Date: Sat, 19 May 2012 19:36:09 +0200 -Subject: [PATCH 1/2] emulation: Limit integer arguments to 65535 - -To guard against malicious sequences containing excessively big numbers, -limit all parsed numbers to 16 bit range. Doing this here in the parsing -routine is a catch-all guard; this doesn't preclude enforcing -more stringent limits in the handlers themselves. - -https://bugzilla.gnome.org/show_bug.cgi?id=676090 ---- - src/table.c | 2 +- - src/vteseq.c | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/table.c b/src/table.c -index 140e8c8..85cf631 100644 ---- a/src/table.c -+++ b/src/table.c -@@ -550,7 +550,7 @@ _vte_table_extract_numbers(GValueArray **array, - if (G_UNLIKELY (*array == NULL)) { - *array = g_value_array_new(1); - } -- g_value_set_long(&value, total); -+ g_value_set_long(&value, CLAMP (total, 0, G_MAXUSHORT)); - g_value_array_append(*array, &value); - } while (i++ < arginfo->length); - g_value_unset(&value); -diff --git a/src/vteseq.c b/src/vteseq.c -index 7ef4c8c..10991db 100644 ---- a/src/vteseq.c -+++ b/src/vteseq.c -@@ -557,7 +557,7 @@ vte_sequence_handler_multiple(VteTerminal *terminal, - GValueArray *params, - VteTerminalSequenceHandler handler) - { -- vte_sequence_handler_multiple_limited(terminal, params, handler, G_MAXLONG); -+ vte_sequence_handler_multiple_limited(terminal, params, handler, G_MAXUSHORT); - } - - static void --- -2.4.9 (Apple Git-60) - - -From cf1ad453a8def873c49cf6d88162593402f32bb2 Mon Sep 17 00:00:00 2001 -From: Christian Persch <chpe@gnome.org> -Date: Sat, 19 May 2012 20:04:12 +0200 -Subject: [PATCH 2/2] emulation: Limit repetitions - -Don't allow malicious sequences to cause excessive repetitions. - -https://bugzilla.gnome.org/show_bug.cgi?id=676090 ---- - src/vteseq.c | 25 ++++++++++++++++++------- - 1 file changed, 18 insertions(+), 7 deletions(-) - -diff --git a/src/vteseq.c b/src/vteseq.c -index 10991db..209522f 100644 ---- a/src/vteseq.c -+++ b/src/vteseq.c -@@ -1392,7 +1392,7 @@ vte_sequence_handler_dc (VteTerminal *terminal, GValueArray *params) - static void - vte_sequence_handler_DC (VteTerminal *terminal, GValueArray *params) - { -- vte_sequence_handler_multiple(terminal, params, vte_sequence_handler_dc); -+ vte_sequence_handler_multiple_r(terminal, params, vte_sequence_handler_dc); - } - - /* Delete a line at the current cursor position. */ -@@ -1785,7 +1785,7 @@ vte_sequence_handler_reverse_index (VteTerminal *terminal, GValueArray *params) - static void - vte_sequence_handler_RI (VteTerminal *terminal, GValueArray *params) - { -- vte_sequence_handler_multiple(terminal, params, vte_sequence_handler_nd); -+ vte_sequence_handler_multiple_r(terminal, params, vte_sequence_handler_nd); - } - - /* Save cursor (position). */ -@@ -2777,8 +2777,7 @@ vte_sequence_handler_insert_lines (VteTerminal *terminal, GValueArray *params) - { - GValue *value; - VteScreen *screen; -- long param, end, row; -- int i; -+ long param, end, row, i, limit; - screen = terminal->pvt->screen; - /* The default is one. */ - param = 1; -@@ -2796,7 +2795,13 @@ vte_sequence_handler_insert_lines (VteTerminal *terminal, GValueArray *params) - } else { - end = screen->insert_delta + terminal->row_count - 1; - } -- /* Insert the new lines at the cursor. */ -+ -+ /* Only allow to insert as many lines as there are between this row -+ * and the end of the scrolling region. See bug #676090. -+ */ -+ limit = end - row + 1; -+ param = MIN (param, limit); -+ - for (i = 0; i < param; i++) { - /* Clear a line off the end of the region and add one to the - * top of the region. */ -@@ -2817,8 +2822,7 @@ vte_sequence_handler_delete_lines (VteTerminal *terminal, GValueArray *params) - { - GValue *value; - VteScreen *screen; -- long param, end, row; -- int i; -+ long param, end, row, i, limit; - - screen = terminal->pvt->screen; - /* The default is one. */ -@@ -2837,6 +2841,13 @@ vte_sequence_handler_delete_lines (VteTerminal *terminal, GValueArray *params) - } else { - end = screen->insert_delta + terminal->row_count - 1; - } -+ -+ /* Only allow to delete as many lines as there are between this row -+ * and the end of the scrolling region. See bug #676090. -+ */ -+ limit = end - row + 1; -+ param = MIN (param, limit); -+ - /* Clear them from below the current cursor. */ - for (i = 0; i < param; i++) { - /* Insert a line at the end of the region and remove one from --- -2.4.9 (Apple Git-60) - diff --git a/meta/recipes-support/vte/vte-0.28.2/obsolete_automake_macros.patch b/meta/recipes-support/vte/vte-0.28.2/obsolete_automake_macros.patch deleted file mode 100644 index 6763d37..0000000 --- a/meta/recipes-support/vte/vte-0.28.2/obsolete_automake_macros.patch +++ /dev/null @@ -1,14 +0,0 @@ -Upstream-Status: Submitted [https://bugzilla.gnome.org/show_bug.cgi?id=691545] - -Signed-off-by: Marko Lindqvist <cazfi74@gmail.com> -diff -Nurd vte-0.28.2/gnome-pty-helper/configure.in vte-0.28.2/gnome-pty-helper/configure.in ---- vte-0.28.2/gnome-pty-helper/configure.in 2010-07-15 20:08:44.000000000 +0300 -+++ vte-0.28.2/gnome-pty-helper/configure.in 2013-01-11 14:50:34.971027440 +0200 -@@ -8,7 +8,6 @@ - AC_ISC_POSIX - AC_PROG_CC - AC_STDC_HEADERS --AM_PROG_CC_STDC - - if test -z "$enable_maintainer_mode"; then - enable_maintainer_mode=yes diff --git a/meta/recipes-support/vte/vte.inc b/meta/recipes-support/vte/vte.inc deleted file mode 100644 index 8565cc2..0000000 --- a/meta/recipes-support/vte/vte.inc +++ /dev/null @@ -1,15 +0,0 @@ -SUMMARY = "Virtual terminal emulator GTK+ widget library" -BUGTRACKER = "https://bugzilla.gnome.org/buglist.cgi?product=vte" -LICENSE = "LGPLv2.0" -DEPENDS = " glib-2.0 gtk+ intltool-native ncurses" -RDEPENDS_libvte = "vte-termcap" - -inherit gnome gtk-doc distro_features_check upstream-version-is-even gobject-introspection -ANY_OF_DISTRO_FEATURES = "${GTK2DISTROFEATURES}" - -EXTRA_OECONF = "--disable-python" - -PACKAGES =+ "libvte vte-termcap" -FILES_libvte = "${libdir}/*.so.* ${libexecdir}/gnome-pty-helper" -FILES_vte-termcap = "${datadir}/vte/termcap-0.0" - diff --git a/meta/recipes-support/vte/vte_0.28.2.bb b/meta/recipes-support/vte/vte_0.28.2.bb deleted file mode 100644 index 74087ca..0000000 --- a/meta/recipes-support/vte/vte_0.28.2.bb +++ /dev/null @@ -1,16 +0,0 @@ -require vte.inc - -LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7" - -PR = "r6" - -SRC_URI += "file://obsolete_automake_macros.patch \ - file://cve-2012-2738.patch \ - " - -CFLAGS += "-D_GNU_SOURCE" - -SRC_URI[archive.md5sum] = "497f26e457308649e6ece32b3bb142ff" -SRC_URI[archive.sha256sum] = "86cf0b81aa023fa93ed415653d51c96767f20b2d7334c893caba71e42654b0ae" - -RECIPE_NO_UPDATE_REASON = "matchbox-terminal needs to be ported over to new vte first" diff --git a/meta/recipes-support/vte/vte_0.44.1.bb b/meta/recipes-support/vte/vte_0.44.1.bb new file mode 100644 index 0000000..84c8055 --- /dev/null +++ b/meta/recipes-support/vte/vte_0.44.1.bb @@ -0,0 +1,21 @@ +SUMMARY = "Virtual terminal emulator GTK+ widget library" +BUGTRACKER = "https://bugzilla.gnome.org/buglist.cgi?product=vte" +LICENSE = "LGPLv2.1+" +DEPENDS = "glib-2.0 gtk+3 intltool-native" + +LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" +SRC_URI[archive.md5sum] = "20916d97a5902657e54307cc2757beee" +SRC_URI[archive.sha256sum] = "712dd548339f600fd7e221d12b2670a13a4361b2cd23ba0e057e76cc19fe5d4e" + +inherit gnomebase gtk-doc distro_features_check upstream-version-is-even vala gobject-introspection +ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" + +PACKAGECONFIG[gnutls] = "--with-gnutls,--without-gnutls,gnutls" + +CFLAGS += "-D_GNU_SOURCE" + +# Enable vala only if gobject-introspection is enabled +EXTRA_OECONF = "--enable-vala=auto" + +PACKAGES =+ "libvte" +FILES_libvte = "${libdir}/*.so.*" -- 2.1.4 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCHv2 32/36] matchbox-desktop: Add Sato folder configuration 2016-06-10 8:04 [PATCHv2 00/36] Port Sato to Gtk+3 Jussi Kukkonen 2016-06-10 8:04 ` [PATCHv2 08/36] connman-gnome: Add patch to port " Jussi Kukkonen 2016-06-10 8:04 ` [PATCHv2 11/36] vte: Upgrade to 0.44.1 Jussi Kukkonen @ 2016-06-10 8:04 ` Jussi Kukkonen 2 siblings, 0 replies; 5+ messages in thread From: Jussi Kukkonen @ 2016-06-10 8:04 UTC (permalink / raw) To: openembedded-core matchbox-desktop folder configuration for Sato was in a separate project 'matchbox-desktop-sato'. Skip the extra overhead: remove matchbox-desktop-sato and include the files here. Drop Utilities folder and include those icons in the Applictions folder in an effort to make the common case a little more useful: Now e.g. Terminal icon should be visible on startup. Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> --- .../matchbox-desktop-sato_git.bb | 22 ---------------------- .../matchbox-desktop/files/vfolders/All.directory | 5 +++++ .../files/vfolders/Applications.directory | 6 ++++++ .../files/vfolders/Games.directory | 9 +++++++++ .../matchbox-desktop/files/vfolders/Root.order | 4 ++++ .../files/vfolders/Settings.directory | 8 ++++++++ .../matchbox-desktop/matchbox-desktop_2.1.bb | 10 +++++++++- .../matchbox-sato/matchbox-session-sato_0.1.bb | 2 +- 8 files changed, 42 insertions(+), 24 deletions(-) delete mode 100644 meta/recipes-sato/matchbox-desktop-sato/matchbox-desktop-sato_git.bb create mode 100644 meta/recipes-sato/matchbox-desktop/files/vfolders/All.directory create mode 100644 meta/recipes-sato/matchbox-desktop/files/vfolders/Applications.directory create mode 100644 meta/recipes-sato/matchbox-desktop/files/vfolders/Games.directory create mode 100644 meta/recipes-sato/matchbox-desktop/files/vfolders/Root.order create mode 100644 meta/recipes-sato/matchbox-desktop/files/vfolders/Settings.directory diff --git a/meta/recipes-sato/matchbox-desktop-sato/matchbox-desktop-sato_git.bb b/meta/recipes-sato/matchbox-desktop-sato/matchbox-desktop-sato_git.bb deleted file mode 100644 index 1979cbb..0000000 --- a/meta/recipes-sato/matchbox-desktop-sato/matchbox-desktop-sato_git.bb +++ /dev/null @@ -1,22 +0,0 @@ -SUMMARY = "Matchbox desktop folders for the Sato environment" -HOMEPAGE = "http://matchbox-project.org" -BUGTRACKER = "http://bugzilla.yoctoproject.org/" - -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" - -SECTION = "x11" -DEPENDS = "" -RCONFLICTS_${PN} = "matchbox-common" - -SRCREV = "810b0b08eb79e4685202da2ec347b990bb467e07" -PV = "0.1+git${SRCPV}" -PR = "r1" - -SRC_URI = "git://git.yoctoproject.org/${BPN}" - -S = "${WORKDIR}/git" - -inherit autotools pkgconfig - -FILES_${PN} += "${datadir}" diff --git a/meta/recipes-sato/matchbox-desktop/files/vfolders/All.directory b/meta/recipes-sato/matchbox-desktop/files/vfolders/All.directory new file mode 100644 index 0000000..dfa41e3 --- /dev/null +++ b/meta/recipes-sato/matchbox-desktop/files/vfolders/All.directory @@ -0,0 +1,5 @@ +[Desktop Entry] +Name=All +Icon=mbfolder.png +Type=Directory +Match=meta-all diff --git a/meta/recipes-sato/matchbox-desktop/files/vfolders/Applications.directory b/meta/recipes-sato/matchbox-desktop/files/vfolders/Applications.directory new file mode 100644 index 0000000..a7e3501 --- /dev/null +++ b/meta/recipes-sato/matchbox-desktop/files/vfolders/Applications.directory @@ -0,0 +1,6 @@ +[Desktop Entry] +Name=Applications +Comment=Applications +Icon=gnome-applications.png +Type=Directory +Match=AudioVideo;Audio;Video;Graphics;Network;Office;Utility;System;Development;meta-fallback; diff --git a/meta/recipes-sato/matchbox-desktop/files/vfolders/Games.directory b/meta/recipes-sato/matchbox-desktop/files/vfolders/Games.directory new file mode 100644 index 0000000..1b0928c --- /dev/null +++ b/meta/recipes-sato/matchbox-desktop/files/vfolders/Games.directory @@ -0,0 +1,9 @@ +[Desktop Entry] +Name=Games +Name[de]=Spiele +Comment=Games of all kind +Comment[de]=Spiele aller Art +Icon=mbfolder.png +Type=Directory +Match=Game + diff --git a/meta/recipes-sato/matchbox-desktop/files/vfolders/Root.order b/meta/recipes-sato/matchbox-desktop/files/vfolders/Root.order new file mode 100644 index 0000000..01a86d2 --- /dev/null +++ b/meta/recipes-sato/matchbox-desktop/files/vfolders/Root.order @@ -0,0 +1,4 @@ +Applications +Games +Settings +All diff --git a/meta/recipes-sato/matchbox-desktop/files/vfolders/Settings.directory b/meta/recipes-sato/matchbox-desktop/files/vfolders/Settings.directory new file mode 100644 index 0000000..5dde365 --- /dev/null +++ b/meta/recipes-sato/matchbox-desktop/files/vfolders/Settings.directory @@ -0,0 +1,8 @@ +[Desktop Entry] +Name=Settings +Name[de]=Einstellungen +Comment=Settings for your handheld computer +Comment[de]=Einstellungen für Ihren Handheld-Computer +Icon=mbfolder.png +Type=Directory +Match=Settings diff --git a/meta/recipes-sato/matchbox-desktop/matchbox-desktop_2.1.bb b/meta/recipes-sato/matchbox-desktop/matchbox-desktop_2.1.bb index d6c53b0..c813d00 100644 --- a/meta/recipes-sato/matchbox-desktop/matchbox-desktop_2.1.bb +++ b/meta/recipes-sato/matchbox-desktop/matchbox-desktop_2.1.bb @@ -12,7 +12,9 @@ SECTION = "x11/wm" # SRCREV tagged 2.1 SRCREV = "c8473519a0f37488b8b3e839e275b000cdde0b80" -SRC_URI = "git://git.yoctoproject.org/${BPN}-2" +SRC_URI = "git://git.yoctoproject.org/${BPN}-2 \ + file://vfolders/* \ + " EXTRA_OECONF = "--enable-startup-notification --with-dbus" @@ -22,3 +24,9 @@ inherit autotools pkgconfig distro_features_check # The startup-notification requires x11 in DISTRO_FEATURES REQUIRED_DISTRO_FEATURES = "x11" + +do_install_append() { + install -D -m 0644 --target-directory=${D}${datadir}/matchbox/vfolders/ ${WORKDIR}/vfolders/* +} + +FILES_${PN} += "${datadir}/matchbox/vfolders/" diff --git a/meta/recipes-sato/matchbox-sato/matchbox-session-sato_0.1.bb b/meta/recipes-sato/matchbox-sato/matchbox-session-sato_0.1.bb index fb4750b..42c742f 100644 --- a/meta/recipes-sato/matchbox-sato/matchbox-session-sato_0.1.bb +++ b/meta/recipes-sato/matchbox-sato/matchbox-session-sato_0.1.bb @@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://session;endline=3;md5=f8a5c5b9c279e52dc094d10e11c2be6 SECTION = "x11" DEPENDS = "gconf-native" -RDEPENDS_${PN} = "formfactor matchbox-theme-sato matchbox-panel-2 matchbox-desktop-sato matchbox-session gconf" +RDEPENDS_${PN} = "formfactor matchbox-theme-sato matchbox-panel-2 matchbox-desktop matchbox-session gconf" PR = "r30" # This package is architecture specific because the session script is modified -- 2.1.4 ^ permalink raw reply related [flat|nested] 5+ messages in thread
end of thread, other threads:[~2016-06-10 9:02 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2016-06-10 8:04 [PATCHv2 00/36] Port Sato to Gtk+3 Jussi Kukkonen 2016-06-10 8:04 ` [PATCHv2 08/36] connman-gnome: Add patch to port " Jussi Kukkonen 2016-06-10 9:01 ` Jussi Kukkonen 2016-06-10 8:04 ` [PATCHv2 11/36] vte: Upgrade to 0.44.1 Jussi Kukkonen 2016-06-10 8:04 ` [PATCHv2 32/36] matchbox-desktop: Add Sato folder configuration Jussi Kukkonen
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox