diff options
author | Ryan Dwyer <ryandwyer1@gmail.com> | 2018-10-08 23:00:36 +1000 |
---|---|---|
committer | Ryan Dwyer <ryandwyer1@gmail.com> | 2018-10-08 23:00:36 +1000 |
commit | f23588de3c7085830614f6764a5c0cd262538afd (patch) | |
tree | 6460aecbaf206dffcc4ffb546c4a8143025b82db /sway/desktop | |
parent | Implement popup_during_fullscreen (diff) | |
download | sway-f23588de3c7085830614f6764a5c0cd262538afd.tar.gz sway-f23588de3c7085830614f6764a5c0cd262538afd.tar.zst sway-f23588de3c7085830614f6764a5c0cd262538afd.zip |
Introduce container_is_transient_for
Diffstat (limited to 'sway/desktop')
-rw-r--r-- | sway/desktop/output.c | 15 | ||||
-rw-r--r-- | sway/desktop/render.c | 12 |
2 files changed, 10 insertions, 17 deletions
diff --git a/sway/desktop/output.c b/sway/desktop/output.c index 0bcdcac1..adc1ee10 100644 --- a/sway/desktop/output.c +++ b/sway/desktop/output.c | |||
@@ -329,15 +329,12 @@ static void send_frame_done(struct sway_output *output, struct timespec *when) { | |||
329 | workspace->current.fullscreen, &data); | 329 | workspace->current.fullscreen, &data); |
330 | container_for_each_child(workspace->current.fullscreen, | 330 | container_for_each_child(workspace->current.fullscreen, |
331 | send_frame_done_container_iterator, &data); | 331 | send_frame_done_container_iterator, &data); |
332 | if (config->popup_during_fullscreen == POPUP_SMART && | 332 | for (int i = 0; i < workspace->current.floating->length; ++i) { |
333 | workspace->current.fullscreen->view) { | 333 | struct sway_container *floater = |
334 | for (int i = 0; i < workspace->current.floating->length; ++i) { | 334 | workspace->current.floating->items[i]; |
335 | struct sway_container *floater = | 335 | if (container_is_transient_for(floater, |
336 | workspace->current.floating->items[i]; | 336 | workspace->current.fullscreen)) { |
337 | if (floater->view && view_is_transient_for(floater->view, | 337 | send_frame_done_container_iterator(floater, &data); |
338 | workspace->current.fullscreen->view)) { | ||
339 | send_frame_done_container_iterator(floater, &data); | ||
340 | } | ||
341 | } | 338 | } |
342 | } | 339 | } |
343 | #ifdef HAVE_XWAYLAND | 340 | #ifdef HAVE_XWAYLAND |
diff --git a/sway/desktop/render.c b/sway/desktop/render.c index c2a0d29f..765317db 100644 --- a/sway/desktop/render.c +++ b/sway/desktop/render.c | |||
@@ -962,14 +962,10 @@ void output_render(struct sway_output *output, struct timespec *when, | |||
962 | fullscreen_con->current.focused); | 962 | fullscreen_con->current.focused); |
963 | } | 963 | } |
964 | 964 | ||
965 | if (config->popup_during_fullscreen == POPUP_SMART && | 965 | for (int i = 0; i < workspace->floating->length; ++i) { |
966 | fullscreen_con->view) { | 966 | struct sway_container *floater = workspace->floating->items[i]; |
967 | for (int i = 0; i < workspace->floating->length; ++i) { | 967 | if (container_is_transient_for(floater, fullscreen_con)) { |
968 | struct sway_container *floater = workspace->floating->items[i]; | 968 | render_floating_container(output, damage, floater); |
969 | if (floater->view && view_is_transient_for( | ||
970 | floater->view, fullscreen_con->view)) { | ||
971 | render_floating_container(output, damage, floater); | ||
972 | } | ||
973 | } | 969 | } |
974 | } | 970 | } |
975 | #ifdef HAVE_XWAYLAND | 971 | #ifdef HAVE_XWAYLAND |