Kenny Levinsen
3b419020a3
desktop/output: Use apply_output_configs for output mgmt
2024-03-28 10:45:20 +01:00
Kenny Levinsen
98be797356
Use apply_all_output_configs to light up outputs
...
This allows us to test and if necessary degrade the entire backend
configuration to light everything up.
2024-03-28 10:45:20 +01:00
Kenny Levinsen
923f642b70
output/config: Add apply_all_output_configs
...
Apply all output configs as they are. This differs from
apply_output_config_to_outputs, which tries to apply a specific output
config.
2024-03-28 10:45:20 +01:00
Kenny Levinsen
3e03eb3a01
config/output: Introduce apply_output_configs
...
Introduce apply_output_configs, which applies the specified matched
output configs as a single backend commit.
Reimplement apply_output_config_to_outputs using apply_output_configs.
2024-03-28 10:45:20 +01:00
Kenny Levinsen
e2f3ebad8c
config/output: Split apply_output_config
...
Applying an output config has two stages: Atomic application of
wlr_output_state, and applicaiton of non-atomic state like output
layout.
Split the latter out into finalize_output_config for use in a later
commit.
2024-03-28 10:45:20 +01:00
Ferdinand Bachmann
125c74338a
man: document supported modifier names
2024-03-28 10:26:34 +01:00
Andri Yngvason
5a7477cb8f
Implement transient seat management
2024-03-18 09:07:21 +01:00
Simon Ser
dc9f217307
man: document that the scale might be adjusted
...
fractional-scale only supports representing fractions of 120.
References: https://github.com/swaywm/sway/issues/8057
2024-03-14 23:22:32 +01:00
Simon Ser
9139da6149
man: drop fractional scale warning
...
With the fractional-scale protocol, clients can render without
being downscaled.
2024-03-14 23:22:32 +01:00
Simon Ser
3bc75221bc
Re-create renderer when lost
2024-03-14 22:55:46 +01:00
Simon Ser
2b08e79061
server: fix wlr_seat use-after-free on exit
...
Same as [1].
I originally tried to properly handle seat destruction, but that
turned out to be a can of worms [2].
[1]: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4590
[2]: https://github.com/swaywm/sway/pull/8034
2024-03-14 11:59:25 +01:00
Alexander Orzechowski
2e951163c5
Force bilinear scaling when scaling down
2024-03-09 11:47:42 +01:00
Simon Ser
23389ebd1f
config/output: drop enabling flag
...
This was useful when wlroots backends were updating the current
mode on their own. This is no longer the case.
2024-03-08 09:12:12 -05:00
Simon Ser
3ef5abd405
xdg-shell: send WM capabilities
2024-03-08 09:52:14 +03:00
Simon Ser
4e6d7612ff
xdg-shell: implement popup repositioning
2024-03-08 09:52:14 +03:00
Simon Ser
f2a0e81b24
Fetch input device vendor/product from libinput
...
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4582
2024-03-07 09:53:40 -05:00
Simon Ser
59f6292383
config: add fallback without env vars for keysym translation XKB keymap
2024-03-06 11:14:50 -05:00
Simon Ser
fd9ab9ee06
config: error out on keysym translation XKB state failure
...
If we can't create the XKB keymap used for keysym translation,
gracefully error out instead of crashing. This can happen if the
XKB_DEFAULT_LAYOUT is set to an invalid value, for instance.
Closes: https://github.com/swaywm/sway/issues/7789
2024-03-06 11:14:50 -05:00
Ronan Pigott
5e18ed3cf0
commands/move: do not force focus on the moved container
...
My code archaeology isn't good enough to determine what this is here
for, but it isn't correct. We should be able to move containers in a
direction without focusing them. AFAICT i3 doesn't do this, so we
shouldn't either.
This fixes ipc commands like move <dir> with criteria that apply to
containers which are not the current focus.
2024-03-01 10:13:41 +01:00
Luofan Chen
2058209a13
input: Rename WLR_INPUT_DEVICE_TABLET_TOOL to WLR_INPUT_DEVICE_TABLET
...
wlroots has changed the naming, causing the following build errors when
building:
error: ‘WLR_INPUT_DEVICE_TABLET_TOOL’ undeclared
2024-03-01 09:53:43 +01:00
llyyr
0b84d82b9a
ipc: add scratchpad_state
property to GET_TREE
...
See previous commit. This restores ipc parity with i3.
2024-02-29 00:51:43 +01:00
llyyr
2867ef646b
ipc: add floating
property to GET_TREE
...
i3 has had this property for over a decade but it wasn't documented
until a couple of years ago, so it was likely missed when developing
sway. Add the property to get us closer to ipc parity with i3.
2024-02-29 00:51:43 +01:00
Simon Ser
fca8474e9b
Convert to new pointer enums
...
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4575
2024-02-28 14:28:11 -05:00
llyyr
469411d484
text_input: don't destroy scene_node twice
2024-02-28 09:34:25 +01:00
Simon Ser
829c75b9c9
Add release script
2024-02-26 09:02:06 -05:00
Simon Ser
fc640d5f6c
Define _POSIX_C_SOURCE globally
...
See discussion in https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4555
2024-02-23 17:43:19 +03:00
Simon Ser
07b0598526
input/text_input: fix dangling listeners
2024-02-23 14:05:52 +01:00
llyyr
d6150b6bb0
input/text_input: parent wlr_box may be uninitialized
2024-02-20 16:19:40 +01:00
Access
7c11c463a3
text_input: Implement input-method popups
...
Co-authored-by: tadeokondrak <me@tadeo.ca>
2024-02-20 10:53:20 +01:00
Aleksei Bavshin
d19810eba8
xdg-activation: distinguish activation and urgency requests
...
Check if the app that requested a token has provided a valid input
serial and a focused surface. Downgrade activation request to urgency
otherwise.
This is mostly in line with what other Wayland compositors decided to
do, and offers a better security than the original logic.
2024-02-17 00:54:30 -07:00
Ronan Pigott
f6d22f8e68
launcher: track the seat in the launcher ctx
...
This is a more suitable place to track the requesting seat, since we are
able to respond appropriately to destroy notifications.
2024-02-17 00:54:30 -07:00
Simon Ser
541e6e260c
Drop unnecessary includes from sway/server.h
2024-02-15 15:56:36 +01:00
Simon Ser
ca40663d42
Fix build with wlroots DRM backend disabled
...
The header is not installed by wlroots when the DRM backend is
disabled. We don't need it here, so don't include it.
Closes: https://github.com/swaywm/sway/issues/7943
2024-02-15 09:44:12 -05:00
Kirill Primak
7a2ff7ba81
view: drop ext_foreign_destroy
...
It's not used and causes a crash when a view is destroyed.
2024-02-12 19:05:13 +01:00
Alexander Orzechowski
09c360d503
layer_shell: Handle popups through popup descriptor
...
We tried to synchronize layer shell popups with the parent layer shell
on commits, but this is subtly wrong because we would only update
the position for one layer shell that was committed, but not any other
layer that might be affected. By moving handling to the scene descriptor
we can iterate all popups and ensure they are synchronized.
2024-02-12 19:19:22 +03:00
Alexander Orzechowski
1846944f04
xdg_shell: Extract struct for popup descriptor
2024-02-12 19:19:22 +03:00
Alexander Orzechowski
1dc661af17
layer_shell: Arrange popups even if exclusive zone doesn't change
2024-02-12 19:19:22 +03:00
Merlin Lex
1b5515400d
ext-foreign-toplevel-list: Implement protocol
...
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4543
2024-02-12 15:36:44 +01:00
Simon Ser
88b2abf5f2
config: use format_str() instead of hand-rolled snprintf()
2024-02-08 16:11:24 -05:00
Simon Ser
93d391651c
commands: make primary_selection a config-only command
...
It's not possible to switch this at runtime.
2024-02-05 20:54:48 +01:00
Simon Ser
f7a0f06dff
commands: note how xwayland/primary_selection are reset on reload
2024-02-05 11:07:33 +01:00
Simon Ser
ecfef1348a
commands/primary_selection: drop duplicate bool parsing
2024-02-05 11:06:24 +01:00
Violet Purcell
6b2aa83246
sway/config.c: only reset primary_selection at launch
...
Otherwise, an error will be shown whenever reloading due to the value of
primary_selection being reset to true.
2024-02-05 11:04:36 +01:00
Simon Ser
88e99fa84f
Drop old security config remnants
2024-02-03 23:00:52 +01:00
Alexander Orzechowski
ba427a469a
Ensure get_text_width() returns a positive value
...
Closes: https://github.com/swaywm/sway/issues/7940
2024-02-02 00:54:26 +01:00
Tamino Bauknecht
c8676fad54
sway/output: Improve logging of swaybg execvp failure and more checks
...
This doesn't catch the error if a background changing command is
executed via swaymsg, but improves logging.
The additional checks at least propagate if e.g. forking failed.
2024-01-29 14:12:39 +01:00
Simon Ser
e39b0b816b
build: bump version to 1.10-dev
2024-01-26 15:25:14 +01:00
Kirill Primak
f202bc84d2
Chase wlroots!4443
2024-01-25 16:13:33 +01:00
Kirill Primak
a4e85332a1
Chase wlroots!4003
2024-01-23 10:45:58 +01:00
Alexander Orzechowski
e8c421e917
layer_shell: Fix typo of return instead of continue
...
Otherwise we would skip arranging the rest of the surfaces if one of them
isn't initialized.
2024-01-21 22:01:35 +01:00