Skip to content

Sway does no properly update when a window moves into an existing container #8292

Open
@WhyNotHugo

Description

@WhyNotHugo

Version

sway version 1.10-dev-40ca4150b (Jun 10 2024, branch 'master')

Configuration

Run sway -c test.conf with the following as test.conf:

workspace_layout tabbed
exec sh test.sh

And test.sh is:

# Open five windows
foot &
foot &
foot &
foot &
foot &

sleep 1

# focus the second one
swaymsg focus left
swaymsg focus left
swaymsg focus left

sleep 1
# split it vertically
swaymsg split v

sleep 1
# focus the rightmost one
swaymsg focus right
swaymsg focus right
swaymsg focus right

sleep 1
# move it left three times
swaymsg move left
sleep 1
swaymsg move left
sleep 1
swaymsg move left

# At this point, you'll note that we should be seeing the moved window inside
# the split container, but we're actually seeing the window on the right of the
# tabbed container. The titlebar on the other hand, shows the fourth window as
# active.
sleep 5

# This properly moves the window that we've been moving all along. It will now
# be on the left of the split container.
# Everything renders correctly again at this point.
swaymsg move left

The sleeps are there to ensure that all commands execute before proceeding. They also help visualise the issue.

Description

When I move a window into a split container, the view doesn't properly update, and I see the wrong window, while sway shows the wrong titlebar as active. Moving that window again restores sway to a consistent state.

I recommend running the above reproductions script while reading through the script as actions progress.

Additional notes

I previously mentioned this in #8205, but it turns out it is a separate issue.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugNot working as intended

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions