mirror of
https://github.com/swaywm/sway.git
synced 2024-11-10 12:33:50 +01:00
idle_inhibit: Check if layer surface output is enabled
While we we cannot easily check for true visibility of layer surfaces as easily as for views, we can check at least check that the output associated with the surface is enabled.
This commit is contained in:
parent
444017fdac
commit
1a1bc78ce5
@ -120,10 +120,13 @@ bool sway_idle_inhibit_v1_is_active(struct sway_idle_inhibitor_v1 *inhibitor) {
|
|||||||
switch (inhibitor->mode) {
|
switch (inhibitor->mode) {
|
||||||
case INHIBIT_IDLE_APPLICATION:;
|
case INHIBIT_IDLE_APPLICATION:;
|
||||||
struct wlr_surface *wlr_surface = inhibitor->wlr_inhibitor->surface;
|
struct wlr_surface *wlr_surface = inhibitor->wlr_inhibitor->surface;
|
||||||
if (wlr_layer_surface_v1_try_from_wlr_surface(wlr_surface)) {
|
struct wlr_layer_surface_v1 *layer_surface =
|
||||||
|
wlr_layer_surface_v1_try_from_wlr_surface(wlr_surface);
|
||||||
|
if (layer_surface) {
|
||||||
// Layer surfaces can be occluded but are always on screen after
|
// Layer surfaces can be occluded but are always on screen after
|
||||||
// they have been mapped.
|
// they have been mapped.
|
||||||
return wlr_surface->mapped;
|
return layer_surface->output && layer_surface->output->enabled &&
|
||||||
|
wlr_surface->mapped;
|
||||||
}
|
}
|
||||||
|
|
||||||
// If there is no view associated with the inhibitor, assume invisible
|
// If there is no view associated with the inhibitor, assume invisible
|
||||||
|
Loading…
Reference in New Issue
Block a user