Fix inconsistent floating window z order across outputs

This commit is contained in:
Alexander Orzechowski 2022-01-08 11:57:10 -05:00
parent f92329701b
commit 9239bd05ca
6 changed files with 73 additions and 15 deletions

View file

@ -113,6 +113,12 @@ struct sway_seat {
// sway_keyboard_shortcuts_inhibitor::link
struct wl_list link; // input_manager::seats
// Used by sway_container.floating_order. This value will increment as
// floating windows request to be shown on top, this makes sure that a
// value can be assigned to a floating window that is guaranteed
// to be highter (ignoring overflow) than other floating windows.
uint32_t floating_counter;
};
struct sway_pointer_constraint {

View file

@ -113,6 +113,12 @@ struct sway_container {
// Hidden scratchpad containers have a NULL parent.
bool scratchpad;
// Value specifing in which order floating windows should be shown
// higher values means that the floating window should appear
// ontop of others. This variable is undefined if this container is not
// floating.
uint32_t floating_order;
float alpha;
struct wlr_texture *title_focused;