Age | Commit message (Collapse) | Author |
|
This removes the urgency stuff from the commit handler and puts it in a
new set_hints handler instead. This allows the xwayland surface to
become urgent without having to commit (which doesn't happen if it's on
an non-visible workspace).
|
|
|
|
This fixes syncplay menus.
|
|
Update cursor on focus change
|
|
|
|
This allows to send wl_pointer.enter when switching between views
in a split/tabbed layout for instance. This (1) updates the cursor
image accordingly (2) makes it unnecessary to move the mouse before
scrolling. It's harmless to always call cursor_send_pointer_motion
because in case the focused surface hasn't changed this is a no-op.
The `last_focus != NULL` condition is required otherwise
cursor_send_pointer_motion will crash when sway starts up (the
sway_output doesn't yet have a workspace).
|
|
|
|
|
|
Also free cmd_list when cleaning up a struct criteria.
|
|
Otherwise, sway crashes due to uninitialized pointer
dereference when AddressSanitizer is active.
|
|
|
|
This reverts commit 92450883d7b148d408b42c3553a60340a14771f6.
|
|
When an xwayland view is mapped, the IPC urgent event was being sent on
every surface commit.
I had intentionally ommitted the check because I figured an urgent
surface could update its urgent timestamp by sending urgent a second
time. But that's not how it works in xwayland's case, and it makes for
more complicated code.
|
|
|
|
Implement urgency base functionality
|
|
|
|
|
|
|
|
Fixes a bug where if you have a tab containing a split, then switch from
a non-split tab to the split tab, focus is not changed properly.
|
|
|
|
|
|
|
|
I didn't expect a function called ipc_json_describe_view to be passed a
container which wasn't a view :\
|
|
|
|
|
|
|
|
Introduces a command to manually set urgency, as well as rendering of
urgent views, sending the IPC event, removing urgency after focused for
one second, and matching urgent views via criteria.
|
|
|
|
|
|
|
|
|
|
|
|
Rather than maintain copies of the entire focus stack, this PR
transactionises the focus by introducing two new properties to the
container state and using those when rendering.
* `bool focused` means this container has actual focus. Only one
container should have this equalling true in its current state.
* `struct sway_container *focus_inactive_child` points to the immediate
child that was most recently focused (eg. for tabbed and stacked
containers).
|
|
Simplify transactions by using a dirty flag on containers
|
|
Remove orbital screenshooter
|
|
We currently have several ways of setting debug flags, including command
line arguments, environment variables, and compile-time macros. This
replaces the lot with command line flags.
|
|
|
|
This PR changes the way we handle transactions to a more simple method.
The new method is to mark containers as dirty from low level code
(eg. arranging, or container_destroy, and eventually seat_set_focus),
then call transaction_commit_dirty which picks up those containers and
runs them through a transaction. The old methods of using transactions
(arrange_and_commit, or creating one manually) are now no longer
possible.
The highest-level code (execute_command and view implementation
handlers) will call transaction_commit_dirty, so most other code just
needs to set containers as dirty. This is done by arranging, but can
also be done by calling container_set_dirty.
|
|
|
|
|
|
|
|
Implements the following for floating views:
* resize set <width> <height>
* resize <grow|shrink> <width|height|up|down|left|right> <amount>
|
|
Just use the parent output.
|
|
|
|
|
|
feature: scroll button option for input devices
|
|
user will be informed if the scroll button indentifier values causes
underflow or overflow.
|
|
|
|
Now the scroll_button will not accept:
- letters on string beginning;
- negative numbers.
What is tolerated:
- letters after number;
- rational numbers: the fraction after dot will be omitted.
|
|
config.c: fix current_config uninit warning (#2249)
|