-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Tabbed layout doesn't change view instantly on mouse scroll #6034
Comments
Sounds right - transaction_commit was moved from being a "catch all" to explicitly at their use, but a few uses have been missed it would seem. Appreciate the report. |
So the right way of fixing this is simply adding a transaction_commit_dirty() after changing the focus? If so, I can create a pull request for that. |
If you look in seatop_default.c, for places where seat_set_focus* is called (which, surprise surprise, changes focus), there should be a transaction_commit_dirty afterwards. seatop_begin_* does a transaction_commit_dirty itself, so if that follows then there is no need. Maybe a comment in those cases that they're not needed could add clarity. (The reason seat_set_focus doesn't itself commit is that it is used from sway commands, which should preferably be bunched together in a single commit if you e.g. move, resize and focus a window in one go.) |
Every seat_set_focus* should be followed by a transaction_commit_dirty. In cases where the focus change is followed by a seatop_begin* this is not needed, as transaction_commit_dirty is then called by the seatop_begin* function. Fixes swaywm#6034
Alright, thanks for the clarification. Found a bunch of other seat_set_focus calls without the transaction_commit_dirty. See #6035. |
Every seat_set_focus* should be followed by a transaction_commit_dirty. In cases where the focus change is followed by a seatop_begin* this is not needed, as transaction_commit_dirty is then called by the seatop_begin* function. Fixes swaywm#6034
Please fill out the following:
Sway Version: latest master (commit a3d45c3)
Debug Log:
sway-debug.txt
I cut out the config parsing, the relevant part seems to be:
When using a tabbed layout, usually one is able to switch between windows by scrolling on the title bar. This still works, but the change only becomes visible when I move the mouse around (reliably when I move the mouse from the title of the old focused window to the titlebar of the window I want to focus). See the gif, note that the window change only takes effect as soon as the mouse moves on the other titlebar, the scrolling itself doesn't have a visible effect.
When I have some time, I'll try to bisect the issue, possible candidates would be the transaction changes by @kennylevinsen as I only noticed this recently.
Edit: yep, this only happens after b5b628c - directly after this commit it's even worse, I have to actually click on the window for the change to become visible.
The text was updated successfully, but these errors were encountered: