Skip to content

Commit 8961c35

Browse files
Cobinjamtwebster
authored andcommitted
Fix placement of transient children of fullscreen windows
This fixes the positioning of transient children of fullscreen windows so that they're not affected by panel sizes. Example: vlc's fullscreen controls got pushed up with a bottom panel, by an amount of pixels equal to the panel height
1 parent abd397b commit 8961c35

File tree

1 file changed

+3
-0
lines changed

1 file changed

+3
-0
lines changed

src/core/constraints.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1688,16 +1688,19 @@ constrain_fully_onscreen (MetaWindow *window,
16881688
ConstraintPriority priority,
16891689
gboolean check_only)
16901690
{
1691+
MetaWindow *transient_for;
16911692
if (priority > PRIORITY_ENTIRELY_VISIBLE_ON_WORKAREA)
16921693
return TRUE;
16931694

1695+
transient_for = meta_window_get_transient_for(window);
16941696
/* Exit early if we know the constraint won't apply--note that this constraint
16951697
* is only meant for normal windows (e.g. we don't want docks to be shoved
16961698
* "onscreen" by their own strut).
16971699
*/
16981700
if (window->type == META_WINDOW_DESKTOP ||
16991701
window->type == META_WINDOW_DOCK ||
17001702
window->fullscreen ||
1703+
(transient_for && transient_for->fullscreen) ||
17011704
!window->require_fully_onscreen ||
17021705
info->is_user_action ||
17031706
meta_window_get_placement_rule (window))

0 commit comments

Comments
 (0)