From f380b5e0372b41e811c1be56df2dd140f591f97b Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Mon, 19 Apr 2021 09:49:21 -0400 Subject: [PATCH] Fix crash --- ...signal-for-reporting-X-server-events.patch | 16 ++++++++-------- ...ss-aggressive-about-full-screening-w.patch | 18 +++++++++--------- ...nager-Fix-overzealous-rename-mistake.patch | 4 ++-- ...nager-Add-function-to-load-input-sou.patch | 4 ++-- 0004-wip-Better-support-libxklavier.patch | 19 ++++++++++++------- gnome-kiosk.spec | 9 ++++++--- 6 files changed, 39 insertions(+), 31 deletions(-) diff --git a/0001-compositor-Add-signal-for-reporting-X-server-events.patch b/0001-compositor-Add-signal-for-reporting-X-server-events.patch index 3e11d0e..a3e4594 100644 --- a/0001-compositor-Add-signal-for-reporting-X-server-events.patch +++ b/0001-compositor-Add-signal-for-reporting-X-server-events.patch @@ -1,4 +1,4 @@ -From e27d9527fa03be29ad030634ab3b5de652527d81 Mon Sep 17 00:00:00 2001 +From 6b1fa184af2a847d8b3d74a09bb65af6803d4e6d Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Thu, 15 Apr 2021 13:28:00 -0400 Subject: [PATCH 1/4] compositor: Add signal for reporting X server events @@ -15,17 +15,17 @@ InputSourcesManager can watch for root window property changes. 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/compositor/kiosk-compositor.c b/compositor/kiosk-compositor.c -index b3cd10f..a8ecf5f 100644 +index dad7776..14f5de3 100644 --- a/compositor/kiosk-compositor.c +++ b/compositor/kiosk-compositor.c -@@ -7,60 +7,67 @@ - #include - +@@ -9,60 +9,67 @@ #include #include + #include #include #include #include + #include #include "kiosk-backgrounds.h" #include "kiosk-input-sources-manager.h" @@ -86,7 +86,7 @@ index b3cd10f..a8ecf5f 100644 g_autoptr (GdmManager) display_manager = NULL; GVariantBuilder builder; g_autoptr (GError) error = NULL; -@@ -267,62 +274,64 @@ kiosk_compositor_show_tile_preview (MetaPlugin *plugin, +@@ -329,62 +336,64 @@ kiosk_compositor_show_tile_preview (MetaPlugin *plugin, g_assert (META_PLUGIN_CLASS (kiosk_compositor_parent_class)->show_tile_preview == NULL); } @@ -152,7 +152,7 @@ index b3cd10f..a8ecf5f 100644 kiosk_compositor_plugin_info (MetaPlugin *plugin) { -@@ -358,60 +367,71 @@ kiosk_compositor_class_init (KioskCompositorClass *compositor_class) +@@ -420,60 +429,71 @@ kiosk_compositor_class_init (KioskCompositorClass *compositor_class) plugin_class->start = kiosk_compositor_start; plugin_class->map = kiosk_compositor_map; @@ -225,5 +225,5 @@ index b3cd10f..a8ecf5f 100644 return KIOSK_SERVICE (self->service); -- -2.30.2 +2.31.1 diff --git a/0001-compositor-Be-less-aggressive-about-full-screening-w.patch b/0001-compositor-Be-less-aggressive-about-full-screening-w.patch index b593937..9c5c3a6 100644 --- a/0001-compositor-Be-less-aggressive-about-full-screening-w.patch +++ b/0001-compositor-Be-less-aggressive-about-full-screening-w.patch @@ -1,4 +1,4 @@ -From 348cb4fda7da06da3194a784a97946364dd3182b Mon Sep 17 00:00:00 2001 +From 7ea1746494f0b2e381fe8f08249f7751cd8ae578 Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Thu, 15 Apr 2021 13:00:16 -0400 Subject: [PATCH] compositor: Be less aggressive about full screening windows @@ -14,7 +14,7 @@ subsequent windows are auxillary and should be layered on top. 1 file changed, 70 insertions(+), 8 deletions(-) diff --git a/compositor/kiosk-compositor.c b/compositor/kiosk-compositor.c -index a8ecf5f..14f5de3 100644 +index b3cd10f..dad7776 100644 --- a/compositor/kiosk-compositor.c +++ b/compositor/kiosk-compositor.c @@ -1,43 +1,45 @@ @@ -56,14 +56,14 @@ index a8ecf5f..14f5de3 100644 KioskService *service; }; - enum { - X_SERVER_EVENT, - NUMBER_OF_SIGNALS - }; + G_DEFINE_TYPE (KioskCompositor, kiosk_compositor, META_TYPE_PLUGIN) - static guint signals [NUMBER_OF_SIGNALS] = { 0, }; + static void kiosk_compositor_dispose (GObject *object); -@@ -150,91 +152,151 @@ static void + static void + kiosk_compositor_dispose (GObject *object) + { +@@ -143,91 +145,151 @@ static void kiosk_compositor_minimize (MetaPlugin *plugin, MetaWindowActor *actor) { @@ -224,5 +224,5 @@ index a8ecf5f..14f5de3 100644 KioskCompositor *self = KIOSK_COMPOSITOR (plugin); -- -2.30.2 +2.31.1 diff --git a/0002-input-sources-manager-Fix-overzealous-rename-mistake.patch b/0002-input-sources-manager-Fix-overzealous-rename-mistake.patch index 24e1fb7..d4c1624 100644 --- a/0002-input-sources-manager-Fix-overzealous-rename-mistake.patch +++ b/0002-input-sources-manager-Fix-overzealous-rename-mistake.patch @@ -1,4 +1,4 @@ -From dcda260069ff811dc46a9ab0524eab273275206f Mon Sep 17 00:00:00 2001 +From 840bac654aef7aa0e241be8ac0052f5a5c67e4d5 Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Thu, 15 Apr 2021 14:39:55 -0400 Subject: [PATCH 2/4] input-sources-manager: Fix overzealous rename mistake @@ -184,5 +184,5 @@ index 58d7a4c..a1a4cfa 100644 old_input_source_group = kiosk_input_sources_manager_get_selected_input_source_group (self); -- -2.30.2 +2.31.1 diff --git a/0003-input-sources-manager-Add-function-to-load-input-sou.patch b/0003-input-sources-manager-Add-function-to-load-input-sou.patch index bc92e1d..0927851 100644 --- a/0003-input-sources-manager-Add-function-to-load-input-sou.patch +++ b/0003-input-sources-manager-Add-function-to-load-input-sou.patch @@ -1,4 +1,4 @@ -From 3acb4e6e52c183eb756b61880e320fa3af639f89 Mon Sep 17 00:00:00 2001 +From b321b57e2908fddcde9da31e0d71af54c3e2cd98 Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Thu, 15 Apr 2021 14:41:41 -0400 Subject: [PATCH 3/4] input-sources-manager: Add function to load input sources @@ -215,5 +215,5 @@ index a1a4cfa..4b4ef62 100644 } -- -2.30.2 +2.31.1 diff --git a/0004-wip-Better-support-libxklavier.patch b/0004-wip-Better-support-libxklavier.patch index 209603a..70f4492 100644 --- a/0004-wip-Better-support-libxklavier.patch +++ b/0004-wip-Better-support-libxklavier.patch @@ -1,4 +1,4 @@ -From 09b90bb8fcdcc2a15ef5d3dcc0a0eaecdb8be112 Mon Sep 17 00:00:00 2001 +From 69d0eb2a62114d72a08cb580ba86d52ef698336a Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Thu, 15 Apr 2021 14:43:17 -0400 Subject: [PATCH 4/4] wip! Better support libxklavier @@ -11,11 +11,11 @@ stays in sync with X server state. --- compositor/kiosk-input-source-group.c | 17 + compositor/kiosk-input-source-group.h | 5 +- - compositor/kiosk-input-sources-manager.c | 137 ++++++ + compositor/kiosk-input-sources-manager.c | 142 ++++++ compositor/kiosk-x-keyboard-manager.c | 546 +++++++++++++++++++++++ compositor/kiosk-x-keyboard-manager.h | 22 + meson.build | 1 + - 6 files changed, 727 insertions(+), 1 deletion(-) + 6 files changed, 732 insertions(+), 1 deletion(-) create mode 100644 compositor/kiosk-x-keyboard-manager.c create mode 100644 compositor/kiosk-x-keyboard-manager.h @@ -210,7 +210,7 @@ index cec8b2f..d255da4 100644 gboolean kiosk_input_source_group_switch_to_previous_layout (KioskInputSourceGroup *input_sources); G_END_DECLS diff --git a/compositor/kiosk-input-sources-manager.c b/compositor/kiosk-input-sources-manager.c -index 4b4ef62..2015887 100644 +index 4b4ef62..c6c8c91 100644 --- a/compositor/kiosk-input-sources-manager.c +++ b/compositor/kiosk-input-sources-manager.c @@ -1,83 +1,88 @@ @@ -302,7 +302,7 @@ index 4b4ef62..2015887 100644 guint property_id, GValue *value, GParamSpec *param_spec); -@@ -1363,60 +1368,184 @@ on_input_engine_manager_active_engine_changed (KioskInputSourcesManager *self) +@@ -1363,60 +1368,189 @@ on_input_engine_manager_active_engine_changed (KioskInputSourcesManager *self) active_input_engine = kiosk_input_engine_manager_get_active_engine (self->input_engine_manager); @@ -373,6 +373,11 @@ index 4b4ef62..2015887 100644 + const char *input_engine_name; + + input_source_group = kiosk_input_sources_manager_get_selected_input_source_group (self); ++ ++ if (input_source_group == NULL) { ++ return FALSE; ++ } ++ + input_engine_name = kiosk_input_source_group_get_input_engine (input_source_group); + + if (input_engine_name != NULL) { @@ -487,7 +492,7 @@ index 4b4ef62..2015887 100644 G_CALLBACK (on_dbus_service_handle_select_input_source), self, G_CONNECT_SWAPPED); -@@ -1430,63 +1559,71 @@ kiosk_input_sources_manager_handle_dbus_service (KioskInputSourcesManager *self) +@@ -1430,63 +1564,71 @@ kiosk_input_sources_manager_handle_dbus_service (KioskInputSourcesManager *self) G_CALLBACK (on_dbus_service_handle_select_previous_input_source), self, G_CONNECT_SWAPPED); @@ -1206,5 +1211,5 @@ index 2b5640a..44afcea 100644 type: 'desktop' ) -- -2.30.2 +2.31.1 diff --git a/gnome-kiosk.spec b/gnome-kiosk.spec index fe97dde..d539f29 100644 --- a/gnome-kiosk.spec +++ b/gnome-kiosk.spec @@ -12,7 +12,7 @@ Name: gnome-kiosk Version: 40~alpha -Release: 2%{?dist} +Release: 3%{?dist} Summary: Window management and application launching for GNOME License: GPLv2+ @@ -38,10 +38,10 @@ Requires: gnome-settings-daemon%{?_isa} >= %{gnome_settings_daemon_version Requires: gsettings-desktop-schemas%{?_isa} >= %{gsettings_desktop_schemas_version} # https://gitlab.gnome.org/halfline/gnome-kiosk/-/merge_requests/1 -Patch10001: 0001-compositor-Add-signal-for-reporting-X-server-events.patch +Patch10001: 0001-compositor-Be-less-aggressive-about-full-screening-w.patch # https://gitlab.gnome.org/halfline/gnome-kiosk/-/merge_requests/2 -Patch20001: 0001-compositor-Be-less-aggressive-about-full-screening-w.patch +Patch20001: 0001-compositor-Add-signal-for-reporting-X-server-events.patch Patch20002: 0002-input-sources-manager-Fix-overzealous-rename-mistake.patch Patch20003: 0003-input-sources-manager-Add-function-to-load-input-sou.patch Patch20004: 0004-wip-Better-support-libxklavier.patch @@ -88,6 +88,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/org.gnome.Kiosk.Searc %{_datadir}/wayland-sessions/org.gnome.Kiosk.SearchApp.Session.desktop %changelog +* Mon Apr 19 2021 Ray Strode - 40~alpha-3 +- Fix crash + * Sun Apr 18 2021 Ray Strode - 40~alpha-2 - Work with 3rd party keyboard layout selectors - Be less aggressive about fullscreening windows