aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorLines
2024-03-28commands/output/toggle: Use free_output_configKenny Levinsen-1/+1
2024-03-28output/config: Remove unused test_output_configKenny Levinsen-12/+0
2024-03-28config/output: Make merge_output_config staticKenny Levinsen-3/+1
2024-03-28output/config: Remove reset_outputs and co.Kenny Levinsen-58/+1
apply_output_config_to_outputs uses the specified output config to check which outputs to apply to, and to use as backup when no config is found. If any config matches the output, the specified config will be disregarded. The only remaining user of apply_output_config_to_outputs is reset_outputs, which called apply_output_config_to_outputs with either the first stored wildcard config, or a new empty wildcard config. Providing a stored or empty wildcard config is practically the same as calling `apply_all_output_configs`. Replace uses of `reset_outputs` with `apply_all_output_configs` and remove the now unused functions.
2024-03-28config/output: Remove apply_output_configKenny Levinsen-32/+0
2024-03-28desktop/output: Use apply_output_configs for output mgmtKenny Levinsen-45/+70
2024-03-28Use apply_all_output_configs to light up outputsKenny Levinsen-7/+5
This allows us to test and if necessary degrade the entire backend configuration to light everything up.
2024-03-28output/config: Add apply_all_output_configsKenny Levinsen-0/+30
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-28config/output: Introduce apply_output_configsKenny Levinsen-24/+135
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-28config/output: Split apply_output_configKenny Levinsen-14/+25
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-28man: document supported modifier namesFerdinand Bachmann-0/+6
2024-03-18Implement transient seat managementAndri Yngvason-2/+41
2024-03-14man: document that the scale might be adjustedSimon Ser-1/+2
fractional-scale only supports representing fractions of 120. References: https://github.com/swaywm/sway/issues/8057
2024-03-14man: drop fractional scale warningSimon Ser-7/+4
With the fractional-scale protocol, clients can render without being downscaled.
2024-03-14Re-create renderer when lostSimon Ser-0/+43
2024-03-14server: fix wlr_seat use-after-free on exitSimon Ser-0/+1
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-09Force bilinear scaling when scaling downAlexander Orzechowski-2/+10
2024-03-08config/output: drop enabling flagSimon Ser-7/+1
This was useful when wlroots backends were updating the current mode on their own. This is no longer the case.
2024-03-08xdg-shell: send WM capabilitiesSimon Ser-1/+5
2024-03-08xdg-shell: implement popup repositioningSimon Ser-1/+10
2024-03-07Fetch input device vendor/product from libinputSimon Ser-6/+13
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4582
2024-03-06config: add fallback without env vars for keysym translation XKB keymapSimon Ser-6/+8
2024-03-06config: error out on keysym translation XKB state failureSimon Ser-1/+16
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-01commands/move: do not force focus on the moved containerRonan Pigott-9/+0
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-01input: Rename WLR_INPUT_DEVICE_TABLET_TOOL to WLR_INPUT_DEVICE_TABLETLuofan Chen-8/+8
wlroots has changed the naming, causing the following build errors when building: error: ‘WLR_INPUT_DEVICE_TABLET_TOOL’ undeclared
2024-02-29ipc: add `scratchpad_state` property to GET_TREEllyyr-0/+8
See previous commit. This restores ipc parity with i3.
2024-02-29ipc: add `floating` property to GET_TREEllyyr-1/+10
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-28Convert to new pointer enumsSimon Ser-43/+43
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4575
2024-02-28text_input: don't destroy scene_node twicellyyr-4/+0
2024-02-26Add release scriptSimon Ser-0/+31
2024-02-23Define _POSIX_C_SOURCE globallySimon Ser-100/+2
See discussion in https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4555
2024-02-23input/text_input: fix dangling listenersSimon Ser-0/+3
2024-02-20input/text_input: parent wlr_box may be uninitializedllyyr-1/+1
2024-02-20text_input: Implement input-method popupsAccess-1/+253
Co-authored-by: tadeokondrak <me@tadeo.ca>
2024-02-17xdg-activation: distinguish activation and urgency requestsAleksei Bavshin-1/+18
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-17launcher: track the seat in the launcher ctxRonan Pigott-6/+31
This is a more suitable place to track the requesting seat, since we are able to respond appropriately to destroy notifications.
2024-02-15Drop unnecessary includes from sway/server.hSimon Ser-18/+18
2024-02-15Fix build with wlroots DRM backend disabledSimon Ser-1/+0
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-12view: drop ext_foreign_destroyKirill Primak-3/+0
It's not used and causes a crash when a view is destroyed.
2024-02-12layer_shell: Handle popups through popup descriptorAlexander Orzechowski-13/+18
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-12xdg_shell: Extract struct for popup descriptorAlexander Orzechowski-7/+15
2024-02-12layer_shell: Arrange popups even if exclusive zone doesn't changeAlexander Orzechowski-3/+8
2024-02-12ext-foreign-toplevel-list: Implement protocolMerlin Lex-0/+54
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4543
2024-02-08config: use format_str() instead of hand-rolled snprintf()Simon Ser-11/+2
2024-02-05commands: make primary_selection a config-only commandSimon Ser-1/+1
It's not possible to switch this at runtime.
2024-02-05commands: note how xwayland/primary_selection are reset on reloadSimon Ser-0/+4
2024-02-05commands/primary_selection: drop duplicate bool parsingSimon Ser-1/+1
2024-02-05sway/config.c: only reset primary_selection at launchViolet Purcell-0/+5
Otherwise, an error will be shown whenever reloading due to the value of primary_selection being reset to true.
2024-02-03Drop old security config remnantsSimon Ser-50/+1
2024-02-02Ensure get_text_width() returns a positive valueAlexander Orzechowski-3/+3
Closes: https://github.com/swaywm/sway/issues/7940