| Commit message (Collapse) | Author | Age |
|
|
|
| |
(cherry picked from commit 66568508c06267445489d655c91c94a34d6d9ffe)
|
|
|
|
|
|
|
|
|
| |
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.
(cherry picked from commit 864b3a9a18f236f92f1898bb44ab977ceaebfd68)
|
|
|
|
|
|
| |
Soon we will match views with more than just a pid.
(cherry picked from commit d75c9f9722389d441fd24bd490c5cf12c4bef39a)
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
(cherry picked from commit 3b49f2782e8faf68766269b9c7390b16e25ae824)
|
|
|
|
|
|
|
|
|
| |
This removes the pid_workspace bits from tree/root before it gets
too interesting.
No functional change.
(cherry picked from commit eb5021ef990fb29ff86544aea58d687ad62c757a)
|
|
|
| |
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
|
| |
|
|
|
|
|
| |
wlroots removed the support for the noop backend. Instead we rely on the
headless backend to provide the fallback output.
|
|
|
|
|
|
|
| |
This makes it possible to hint to the renderer and backends how many
bits per channel the buffers that the compositor draws windows onto
should have. Renderers and backends may deviate from this if they
do not support the formats with higher bit depth.
|
|
|
|
|
| |
wlroots now required the compositor to create its own wlr_renderer and
wlr_allocator to initialize the wlr_output
|
|
|
|
|
|
|
|
| |
Wayland compositors handle many file descriptors: client
connections, DMA-BUFs, sync_files, wl_data_device pipes, and so
on. Bump the limit to the max.
Closes: https://github.com/swaywm/sway/issues/6285
|
|
|
|
|
|
| |
Add a subcommand for `smart_gaps` that enables outer gaps only
on workspaces with exactly one visible child.
Also add documentation for `smart_gaps toggle`.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Clang 13 reports:
../sway/commands.c:470:23: error: variable 'context' set but not used
[-Werror,-Wunused-but-set-variable]
enum command_context context = 0;
^
Last use of was removed in commit 1d3681f52135.
Downstream PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=258813
|
|
|
|
|
|
|
| |
This commit makes sure the extents are kept up-to-date, fixes not
damaging the surface if its layer shell-specific state didn't change,
and adds a check if the layer shell-specific state didn't change but the
surface got mapped/unmapped, which could affect keyboard focus.
|