gnome-kiosk/0001-compositor-Put-the-on-top-windows-actually-on-top.patch
2021-05-06 14:41:41 -04:00

83 lines
3.4 KiB
Diff

From ed8dbeb00ef64faa047652ac7fc9bf029348a6df Mon Sep 17 00:00:00 2001
From: Ray Strode <rstrode@redhat.com>
Date: Thu, 6 May 2021 14:17:26 -0400
Subject: [PATCH] compositor: Put the on top windows actually on top
A typo in the code left me putting new windows under old ones.
This commit fixes that.
---
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 14f5de3..6753a87 100644
--- a/compositor/kiosk-compositor.c
+++ b/compositor/kiosk-compositor.c
@@ -239,61 +239,61 @@ on_faded_in (KioskCompositor *self,
MetaWindowActor *actor = g_object_get_data (G_OBJECT (transition), "actor");
meta_plugin_map_completed (META_PLUGIN (self), actor);
}
static void
kiosk_compositor_map (MetaPlugin *plugin,
MetaWindowActor *actor)
{
KioskCompositor *self = KIOSK_COMPOSITOR (plugin);
MetaWindow *window;
ClutterTransition *fade_in_transition;
int easing_duration;
window = meta_window_actor_get_meta_window (actor);
if (kiosk_compositor_wants_window_fullscreen (self, window)) {
g_debug ("KioskCompositor: Mapping window that does need to be fullscreened");
meta_window_make_fullscreen (window);
easing_duration = 3000;
} else {
ClutterActor *window_group;
g_debug ("KioskCompositor: Mapping window that does not need to be fullscreened");
window_group = meta_get_top_window_group_for_display (self->display);
if (kiosk_compositor_wants_window_above (self, window)) {
g_object_ref (G_OBJECT (actor));
clutter_actor_remove_child (clutter_actor_get_parent (CLUTTER_ACTOR (actor)), CLUTTER_ACTOR (actor));
clutter_actor_add_child (window_group, CLUTTER_ACTOR (actor));
- clutter_actor_set_child_below_sibling (window_group, CLUTTER_ACTOR (actor), NULL);
+ clutter_actor_set_child_above_sibling (window_group, CLUTTER_ACTOR (actor), NULL);
g_object_unref (G_OBJECT (actor));
}
easing_duration = 500;
}
clutter_actor_show (self->stage);
clutter_actor_show (CLUTTER_ACTOR (actor));
clutter_actor_set_opacity (CLUTTER_ACTOR (actor), 0);
clutter_actor_save_easing_state (CLUTTER_ACTOR (actor));
clutter_actor_set_easing_duration (CLUTTER_ACTOR (actor), easing_duration);
clutter_actor_set_easing_mode (CLUTTER_ACTOR (actor), CLUTTER_EASE_IN_OUT_QUINT);
clutter_actor_set_opacity (CLUTTER_ACTOR (actor), 255);
fade_in_transition = clutter_actor_get_transition (CLUTTER_ACTOR (actor), "opacity");
clutter_actor_restore_easing_state (CLUTTER_ACTOR (actor));
g_object_set_data (G_OBJECT (fade_in_transition), "actor", actor);
g_signal_connect_object (G_OBJECT (fade_in_transition),
"completed",
G_CALLBACK (on_faded_in),
self,
G_CONNECT_SWAPPED);
}
static void
kiosk_compositor_destroy (MetaPlugin *plugin,
MetaWindowActor *actor)
--
2.31.1