Open szczescie opened 1 week ago
In sway/command/move.c there are three if
s that check whether the container includes a view; they prevent move events from being sent. Removing these conditions seems to fix the issue and now moving parent containers using move <direction>
, move container to workspace <num>
and move container to mark <mark>
correctly triggers IPC window move events.
if (container->view) {
ipc_event_window(container, "move");
}
Edit: I checked the commit history as well as the Sway IPC manpage and this seems to be intended behaviour. In that case, is making changes to this an option?
Sway version: 1.10
Debug log:
Configuration file: default (/etc/sway/config)
Description:
swaymsg -m -t subscribe '["window"]' | jq -r 'select(.change == "move") | .change'
reports move events when a single window is focused andmove
is used but does not do so whenfocus parent
is used and then the parent container is moved. The debug log describes the following sequence:window::move
is sentwindow::move
is not sentMy usecase involves a daemon that monitors IPC window events to detect structural changes in the tree and I discovered that parent container movement appears not to emit such events.