Age | Commit message (Collapse) | Author |
|
|
|
The previous commit prioritized hotspots before bar bindings for press events,
which matches i3's behaviour. However, since hotspots don't need to do any
processing on release events, those were not handled, and simply fell through
to `bindsym --release` bar bindings (if any).
This is counter-intuitive, and doesn't match i3's behaviour. Instead in case
a hotspot handles the press event, it should also handle the release event,
doing nothing, but blocking the event from triggering a --release bar binding.
E.g., in Sway, without this commit, this config. shows a text on tray clicks:
bar {
# ...
bindsym --release button1 exec swaynag -m I_got_the_release_event.
}
But the same configuration in i3 (with i3-nagbar) doesn't show the text.
Signed-off-by: Joan Bruguera <joanbrugueram@gmail.com>
|
|
|
|
|
|
We want to create a context before knowing the pid it will match with.
|
|
|
|
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 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
|
|
wlr_output_damage is to be replaced with wlr_damage_ring, so use that.
|
|
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
|
|
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.
|
|
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3753
|
|
|
|
|
|
|
|
|
|
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`
|
|
While at it, use an int for the config field, just like we do for
all other fields.
|
|
Avoids parsing the configured font each time text is rendered.
|
|
Use pango to parse font configuration early, and reject the command as
invalid if the value is invalid for pango. Since we're already parsing
the font into a `PangoFontDescription`, keep that instance around and
avoid re-parsing the font each time we render text.
Fixes: https://github.com/swaywm/sway/issues/6805
|
|
The "dpms" command refers to VESA Display Power Management
Signaling, a deprecated standard. It's superseded by VESA DPM.
Instead of tying out command name to a particular standard, use the
neutral term "power".
|
|
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3626
Closes: https://github.com/swaywm/sway/issues/7077
|
|
This ensures that those surprised by the deprecation of SUID operation
receive an error rather than accidentally having sway run as root.
This detection will be removed in a future release.
|
|
Co-authored-by: Michael Weiser <michael.weiser@gmx.de>
|
|
This commit reverts 03879290dbee26127f6867ef60bc2a7f9a6c8c5f and
fc84bcb7fb0ffa29b1f9bed287762241a3473803.
|
|
Try to gain SCHED_RR (round-robin) realtime scheduling privileges before
starting the server. This requires CAP_SYS_NICE on Linux systems.
We additionally register a pthread_atfork callback which resets the
scheduling class back to SCHED_OTHER (the Linux system default).
Due to CAP_SYS_NICE, setting RLIMIT_RTPRIO has no effect on the process
as documented within man 7 sched (from Linux):
Privileged (CAP_SYS_NICE) threads ignore the RLIMIT_RTPRIO limit;
as with older kernels, they can make arbitrary changes to
scheduling policy and priority. See getrlimit(2) for further
information on RLIMIT_RTPRIO
Note that this requires the sway distribution packagers to set the
CAP_SYS_NICE capability on the sway binary.
Supersedes #6992
|
|
Mouse bindings are handled alongside normal bindings. Remove the unused
separate data structure definition to avoid confusion.
Signed-off-by: Michael Weiser <michael.weiser@gmx.de>
|
|
|
|
|
|
They are used together, so it doesn't make sense to allocate them
separately.
|
|
No need to keep the region around, we can immediately destroy it
after the wl_surface.set_input_region request.
|
|
Closes: https://github.com/swaywm/sway/issues/6838
|
|
Ref [1].
[1]: https://gitlab.freedesktop.org/wlroots/wlroots/-/commit/4792446ee8f50104bd207d9ccd8558a7e4eb4514
|
|
|
|
Improved type safety.
|
|
Improved type safety.
Closes: https://github.com/swaywm/sway/issues/6813
|
|
When REAPER submenu is closed `XCB_CLIENT_MESSAGE` with type
`NET_ACTIVE_WINDOW` is sent to set focus to parent menu.
Closes: https://github.com/swaywm/sway/issues/6324
|
|
This just follows swaywm/wlroots#3047, so `wl_pointer_gestures_v1`
clients can be notified of these events.
|
|
See [1] for details.
[1]: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3412
|
|
Closes: https://github.com/swaywm/sway/issues/6337
|
|
This changes output::destroy to output::disable and emits it only
once when an output is disabled, instead of twice in succession.
|
|
We can just get the output name from wl_output directly, now that
wl_output version 4 exists.
|
|
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/1376
|