* [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 an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.