|
|
cdd6be |
From a57b5436cdce6b09daf968d1ff563b0b2e233daa Mon Sep 17 00:00:00 2001
|
|
|
cdd6be |
From: Ray Strode <rstrode@redhat.com>
|
|
|
cdd6be |
Date: Thu, 6 Oct 2022 11:01:20 -0400
|
|
|
cdd6be |
Subject: [PATCH] compositor: Be more permissive about what's considered
|
|
|
cdd6be |
fullscreen
|
|
|
cdd6be |
|
|
|
cdd6be |
GNOME Kiosk will automatically fullscreen the application started
|
|
|
cdd6be |
for it, but sometimes that application will start another app.
|
|
|
cdd6be |
|
|
|
cdd6be |
The second app should not be automatically fullscreened.
|
|
|
cdd6be |
|
|
|
cdd6be |
Some apps go fullscreen without actually going fullscreen though.
|
|
|
cdd6be |
They just go monitor sized.
|
|
|
cdd6be |
|
|
|
cdd6be |
This commit makes sure those apps count as fullscreen too.
|
|
|
cdd6be |
---
|
|
|
cdd6be |
compositor/kiosk-compositor.c | 2 +-
|
|
|
cdd6be |
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
cdd6be |
|
|
|
cdd6be |
diff --git a/compositor/kiosk-compositor.c b/compositor/kiosk-compositor.c
|
|
|
cdd6be |
index 2db58ed..c611bb9 100644
|
|
|
cdd6be |
--- a/compositor/kiosk-compositor.c
|
|
|
cdd6be |
+++ b/compositor/kiosk-compositor.c
|
|
|
cdd6be |
@@ -282,61 +282,61 @@ kiosk_compositor_size_change (MetaPlugin *plugin,
|
|
|
cdd6be |
static gboolean
|
|
|
cdd6be |
kiosk_compositor_wants_window_fullscreen (KioskCompositor *self,
|
|
|
cdd6be |
MetaWindow *window)
|
|
|
cdd6be |
{
|
|
|
cdd6be |
MetaWindowType window_type;
|
|
|
cdd6be |
g_autoptr (GList) windows = NULL;
|
|
|
cdd6be |
GList *node;
|
|
|
cdd6be |
|
|
|
cdd6be |
if (!meta_window_allows_resize (window)) {
|
|
|
cdd6be |
g_debug ("KioskCompositor: Window does not allow resizes");
|
|
|
cdd6be |
return FALSE;
|
|
|
cdd6be |
}
|
|
|
cdd6be |
|
|
|
cdd6be |
if (meta_window_is_override_redirect (window)) {
|
|
|
cdd6be |
g_debug ("KioskCompositor: Window is override redirect");
|
|
|
cdd6be |
return FALSE;
|
|
|
cdd6be |
}
|
|
|
cdd6be |
|
|
|
cdd6be |
window_type = meta_window_get_window_type (window);
|
|
|
cdd6be |
|
|
|
cdd6be |
if (window_type != META_WINDOW_NORMAL) {
|
|
|
cdd6be |
g_debug ("KioskCompositor: Window is not normal");
|
|
|
cdd6be |
return FALSE;
|
|
|
cdd6be |
}
|
|
|
cdd6be |
|
|
|
cdd6be |
windows = meta_display_get_tab_list (self->display, META_TAB_LIST_NORMAL_ALL, NULL);
|
|
|
cdd6be |
|
|
|
cdd6be |
for (node = windows; node != NULL; node = node->next) {
|
|
|
cdd6be |
MetaWindow *existing_window = node->data;
|
|
|
cdd6be |
|
|
|
cdd6be |
- if (meta_window_is_fullscreen (existing_window)) {
|
|
|
cdd6be |
+ if (meta_window_is_monitor_sized (existing_window)) {
|
|
|
cdd6be |
return FALSE;
|
|
|
cdd6be |
}
|
|
|
cdd6be |
}
|
|
|
cdd6be |
|
|
|
cdd6be |
return TRUE;
|
|
|
cdd6be |
}
|
|
|
cdd6be |
|
|
|
cdd6be |
static gboolean
|
|
|
cdd6be |
kiosk_compositor_wants_window_above (KioskCompositor *self,
|
|
|
cdd6be |
MetaWindow *window)
|
|
|
cdd6be |
{
|
|
|
cdd6be |
if (meta_window_is_screen_sized (window)) {
|
|
|
cdd6be |
return FALSE;
|
|
|
cdd6be |
}
|
|
|
cdd6be |
|
|
|
cdd6be |
if (meta_window_is_monitor_sized (window)) {
|
|
|
cdd6be |
return FALSE;
|
|
|
cdd6be |
}
|
|
|
cdd6be |
|
|
|
cdd6be |
return TRUE;
|
|
|
cdd6be |
}
|
|
|
cdd6be |
|
|
|
cdd6be |
static void
|
|
|
cdd6be |
on_faded_in (KioskCompositor *self,
|
|
|
cdd6be |
ClutterTransition *transition)
|
|
|
cdd6be |
{
|
|
|
cdd6be |
MetaWindowActor *actor = g_object_get_data (G_OBJECT (transition), "actor");
|
|
|
cdd6be |
|
|
|
cdd6be |
meta_plugin_map_completed (META_PLUGIN (self), actor);
|
|
|
cdd6be |
}
|
|
|
cdd6be |
--
|
|
|
cdd6be |
2.35.1
|
|
|
cdd6be |
|