Age | Commit message (Collapse) | Author |
|
Views now maintain a reference to a launch context which, as a last
resort, is populated at map time with a context associated with its pid.
This opens the possibility of populating it before map via another
source, e.g. xdga-tokens or configuration.
|
|
Soon we will match views with more than just a pid.
|
|
This reuses wlroots token tracking for workspace matching. It doesn't
export any xdga tokens for clients yet.
|
|
This removes the need to rename the pid_workspaces when a workspace
is renamed.
It also opens the possibility of tracking other node types. Tracking
containers would allow application to be placed correctly in the
container tree even if the user has moved their focus elsewhere since
it was launched.
|
|
|
|
This removes the pid_workspace bits from tree/root before it gets
too interesting.
No functional change.
|
|
|
|
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3814
|
|
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3599
|
|
References: https://github.com/swaywm/wlroots/pull/2693
|
|
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3861
|
|
|
|
Fixes: https://github.com/swaywm/sway/issues/7254
|
|
|
|
|
|
Closes: https://github.com/swaywm/sway/issues/7120
|
|
wlr_output_damage is to be replaced with wlr_damage_ring, so use that.
|
|
This function fixes segfaults when emitting a signal potentially
removes arbitrary listeners.
|
|
|
|
|
|
Any windows that have never had a title set visually behave closer to
that of an empty title, but are unformattable, as the code bails out
early on a NULL title.
|
|
Support the new dwtp (disable while trackpointing) option introduced in
libinput 1.21, allowing users to control whether the trackpoint (like
those in Thinkpads, but not only) should be disabled while using the
keyboard/touchpad.
See: https://gitlab.freedesktop.org/libinput/libinput/-/issues/731
|
|
|
|
Remove the incorrect attempt to block focus changes when an input grab
is present and replace it with the same logic used for layer_shell-based
screen lockers: restore the focus after changing it.
This fixes a use-after-free of seat->workspace if outputs are destroyed
while a screen lock is enabled.
|
|
When removing outputs, it is possible to end up in a situation where
none of the session lock client's surfaces have keyboard focus,
resulting in it not receiving keyboard events. Track the focused
surface and update it as needed on surface destroy.
|
|
Moved `libinput_config` to the callers of
`sway_input_configure_libinput_device` so that we send the event after
the added event.
|
|
Sway focuses the inactive child when focusing split containers. However,
there is currently no way to focus the parent container itself by mouse.
A user must use the keyboard to do so.
This commit maintains the current behavior, but makes it such that a
second click on the split container titlebar (i.e., after its children
are visible) focuses the split container itself.
|
|
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3753
|
|
|
|
|
|
Fixes #6503.
|
|
Fixes #7209.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Currently, when encountering a non-desktop display, sway offers the
output for leasing and returns without storing it in a sway specific
output type like `struct sway_output`. Additionally, running
`swaymsg -t get_outputs` doesn't show non-desktop outputs.
This commit stores the non-desktop outputs into a struct called
`sway_output_non_desktop`, and adds them to a list on `sway_root`
|
|
wlr_xdg_surface_from_wlr_surface() can return a NULL pointer, so check for NULL before dereferencing it.
|
|
Required for [1].
[1]: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3637
|
|
This has been removed from wlroots.
|
|
|
|
Since "width" and "height" are separate parameters, show them as such.
|
|
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3428
|
|
Without this, the `IPC_GET_TREE` ipc call would return false information
about the container's `deco_rect` and `rect` properties if
`hide_edge_borders --i3` was in effect.
|
|
|
|
This semi-colon looks like a typo. Luckily, it has no effect on the code as it's treated as an empty statement leading the switch case.
Really straightforward nitpick change, was just something I was confused by when reading over the code.
|