diff --git a/SOURCES/0001-compositor-Be-more-permissive-about-what-s-considere.patch b/SOURCES/0001-compositor-Be-more-permissive-about-what-s-considere.patch new file mode 100644 index 0000000..002f78a --- /dev/null +++ b/SOURCES/0001-compositor-Be-more-permissive-about-what-s-considere.patch @@ -0,0 +1,89 @@ +From a57b5436cdce6b09daf968d1ff563b0b2e233daa Mon Sep 17 00:00:00 2001 +From: Ray Strode +Date: Thu, 6 Oct 2022 11:01:20 -0400 +Subject: [PATCH] compositor: Be more permissive about what's considered + fullscreen + +GNOME Kiosk will automatically fullscreen the application started +for it, but sometimes that application will start another app. + +The second app should not be automatically fullscreened. + +Some apps go fullscreen without actually going fullscreen though. +They just go monitor sized. + +This commit makes sure those apps count as fullscreen too. +--- + compositor/kiosk-compositor.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/compositor/kiosk-compositor.c b/compositor/kiosk-compositor.c +index 2db58ed..c611bb9 100644 +--- a/compositor/kiosk-compositor.c ++++ b/compositor/kiosk-compositor.c +@@ -282,61 +282,61 @@ kiosk_compositor_size_change (MetaPlugin *plugin, + static gboolean + kiosk_compositor_wants_window_fullscreen (KioskCompositor *self, + MetaWindow *window) + { + MetaWindowType window_type; + g_autoptr (GList) windows = NULL; + GList *node; + + if (!meta_window_allows_resize (window)) { + g_debug ("KioskCompositor: Window does not allow resizes"); + return FALSE; + } + + if (meta_window_is_override_redirect (window)) { + g_debug ("KioskCompositor: Window is override redirect"); + return FALSE; + } + + window_type = meta_window_get_window_type (window); + + if (window_type != META_WINDOW_NORMAL) { + g_debug ("KioskCompositor: Window is not normal"); + return FALSE; + } + + windows = meta_display_get_tab_list (self->display, META_TAB_LIST_NORMAL_ALL, NULL); + + for (node = windows; node != NULL; node = node->next) { + MetaWindow *existing_window = node->data; + +- if (meta_window_is_fullscreen (existing_window)) { ++ if (meta_window_is_monitor_sized (existing_window)) { + return FALSE; + } + } + + return TRUE; + } + + static gboolean + kiosk_compositor_wants_window_above (KioskCompositor *self, + MetaWindow *window) + { + if (meta_window_is_screen_sized (window)) { + return FALSE; + } + + if (meta_window_is_monitor_sized (window)) { + return FALSE; + } + + return TRUE; + } + + static void + on_faded_in (KioskCompositor *self, + ClutterTransition *transition) + { + MetaWindowActor *actor = g_object_get_data (G_OBJECT (transition), "actor"); + + meta_plugin_map_completed (META_PLUGIN (self), actor); + } +-- +2.35.1 + diff --git a/SPECS/gnome-kiosk.spec b/SPECS/gnome-kiosk.spec index c6bb08a..0dfd188 100644 --- a/SPECS/gnome-kiosk.spec +++ b/SPECS/gnome-kiosk.spec @@ -12,7 +12,7 @@ Name: gnome-kiosk Version: 40.0 -Release: 4%{?dist}.1 +Release: 5%{?dist} Summary: Window management and application launching for GNOME License: GPLv2+ @@ -49,6 +49,8 @@ Patch20004: 0004-kiosk-script-Give-xsession-and-wayland-session-file-.patch Patch20005: 0005-kiosk-script-Add-a-hint-about-using-firefox-to-the-k.patch Patch20006: 0006-kiosk-script-Send-SIGHUP-to-script-at-shutdown-time.patch +Patch30001: 0001-compositor-Be-more-permissive-about-what-s-considere.patch + %description GNOME Kiosk provides a desktop enviroment suitable for fixed purpose, or single application deployments like wall displays and point-of-sale systems. @@ -114,9 +116,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/org.gnome.Kiosk.Searc %{_datadir}/wayland-sessions/org.gnome.Kiosk.SearchApp.Session.desktop %changelog -* Thu Aug 18 2022 Ray Strode - 40.0-4.1 -- Rebuild - Related: #2119427 +* Wed Nov 09 2022 Ray Strode - 40.0-5 +- Detect anaconda as the kiosk app better + Resolves: #1999060 * Wed Aug 11 2021 Ray Strode - 40.0-4 - Fix crash when hitting alt-f2