aboutsummaryrefslogtreecommitdiffstats
path: root/include
Commit message (Collapse)AuthorAge
* config/output: Refactor handling of tiered configsLibravatar Kenny Levinsen12 days
| | | | | | | | | | | | | | | | | | | | Output configuration can be applied to a particular output in three ways: As a wildcard, by connector name and by identifier. This in turn means that three different configurations must be handled at any given time. In the current model, this is managed by merging new configuration into every other matching configuration. At the same time, an additional synthetic configuration is made which matchehes both identifier and name at the same time, further complicating logic. Instead, manage and store each configuration independently and merge them in order when retrieving configuration for an output. When changes are made to a less specific configuration, clear these fields from more specific configurations to allow the change to take effect regardless of precedence. Fixes: https://github.com/swaywm/sway/issues/8048
* output/config: Remove unused test_output_configLibravatar Kenny Levinsen2024-03-28
|
* config/output: Make merge_output_config staticLibravatar Kenny Levinsen2024-03-28
|
* output/config: Remove reset_outputs and co.Libravatar Kenny Levinsen2024-03-28
| | | | | | | | | | | | | | | 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.
* config/output: Remove apply_output_configLibravatar Kenny Levinsen2024-03-28
|
* output/config: Add apply_all_output_configsLibravatar Kenny Levinsen2024-03-28
| | | | | | Apply all output configs as they are. This differs from apply_output_config_to_outputs, which tries to apply a specific output config.
* config/output: Introduce apply_output_configsLibravatar Kenny Levinsen2024-03-28
| | | | | | | 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.
* Implement transient seat managementLibravatar Andri Yngvason2024-03-18
|
* Re-create renderer when lostLibravatar Simon Ser2024-03-14
|
* config/output: drop enabling flagLibravatar Simon Ser2024-03-08
| | | | | This was useful when wlroots backends were updating the current mode on their own. This is no longer the case.
* xdg-shell: implement popup repositioningLibravatar Simon Ser2024-03-08
|
* Convert to new pointer enumsLibravatar Simon Ser2024-02-28
| | | | References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4575
* text_input: Implement input-method popupsLibravatar Access2024-02-20
| | | Co-authored-by: tadeokondrak <me@tadeo.ca>
* xdg-activation: distinguish activation and urgency requestsLibravatar Aleksei Bavshin2024-02-17
| | | | | | | | | 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.
* launcher: track the seat in the launcher ctxLibravatar Ronan Pigott2024-02-17
| | | | | This is a more suitable place to track the requesting seat, since we are able to respond appropriately to destroy notifications.
* Drop unnecessary includes from sway/server.hLibravatar Simon Ser2024-02-15
|
* Fix build with wlroots DRM backend disabledLibravatar Simon Ser2024-02-15
| | | | | | | 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
* view: drop ext_foreign_destroyLibravatar Kirill Primak2024-02-12
| | | | It's not used and causes a crash when a view is destroyed.
* layer_shell: Handle popups through popup descriptorLibravatar Alexander Orzechowski2024-02-12
| | | | | | | | 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.
* xdg_shell: Extract struct for popup descriptorLibravatar Alexander Orzechowski2024-02-12
|
* layer_shell: Arrange popups even if exclusive zone doesn't changeLibravatar Alexander Orzechowski2024-02-12
|
* ext-foreign-toplevel-list: Implement protocolLibravatar Merlin Lex2024-02-12
| | | | References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4543
* Add debug flag to re-enable wl_drmLibravatar Simon Ser2024-01-20
| | | | | | | | | | 7e69a7076fc8 ("Drop wl_drm") has dropped wl_drm, however a lot of software wasn't quite ready for this (Xwayland, libva, amdvlk). Keep wl_drm disabled by default to pressure the wl_drm phase-out, but add a -Dlegacy-wl-drm flag for users to restore the previous behavior in the meantime. References: https://github.com/swaywm/sway/issues/7897
* scene_graph: port wlr_forgein_toplevel_management output enter/leave eventsLibravatar Alexander Orzechowski2024-01-18
|
* remove damage debug optionsLibravatar Alexander Orzechowski2024-01-18
| | | | | Now that we use wlr_scene, wlroots handles these. If available use the wlroots debug options instead.
* scene_graph: Implement toplevel clippingLibravatar Alexander Orzechowski2024-01-18
|
* container: Don't track outputsLibravatar Alexander Orzechowski2024-01-18
| | | | The scene graph abstraction does this for us
* Delete old damage tracking codeLibravatar Alexander Orzechowski2024-01-18
| | | | The new scene graph abstraction handles this for us.
* scene_graph: Port view saved buffersLibravatar Alexander Orzechowski2024-01-18
|
* scene_graph: Port xwaylandLibravatar Alexander Orzechowski2024-01-18
|
* scene_graph: Port xdg_shellLibravatar Alexander Orzechowski2024-01-18
|
* transaction: ready signals will return success boolsLibravatar Alexander Orzechowski2024-01-18
|
* scene_graph: Port container server side decorationsLibravatar Alexander Orzechowski2024-01-18
|
* scene_graph: Port layer_shellLibravatar Alexander Orzechowski2024-01-18
|
* input: Query scene graph for relevant surface/node intersectionsLibravatar Alexander Orzechowski2024-01-18
|
* Introduce sway_text_nodeLibravatar Alexander Orzechowski2024-01-18
| | | | | This is a helper on top of a wlr_scene_buffer that will handle text rendering for us.
* renderer: Remove in favor of scene_graphLibravatar Alexander Orzechowski2024-01-18
|
* seat: Remove dead seatop_render functionLibravatar Alexander Orzechowski2024-01-18
|
* scene_graph: Port ext_session_v1Libravatar Alexander Orzechowski2024-01-18
|
* scene_graph: Port seat drag iconsLibravatar Alexander Orzechowski2024-01-18
|
* renderer: Render scene_graphLibravatar Alexander Orzechowski2024-01-18
|
* scene_graph: Introduce sway_scene_descriptorLibravatar Alexander Orzechowski2024-01-18
| | | | | | | | | Across a wayland compositor, there are multiple shells: It can be a toplevel, or a layer_shell, or even something more meta like a drag icon or highlight indicators when dragging windows around. This object lets us store values that represent these modes of operation and keep track of what object is being represented.
* scene_graph: Maintain `wlr_scene_node`s for the sway tree.Libravatar Alexander Orzechowski2024-01-18
|
* view: init function should return a success boolLibravatar Alexander Orzechowski2024-01-18
|
* desktop: Rename layers to shell_layersLibravatar Alexander Orzechowski2024-01-18
| | | | | This code will be deleted later, but for the time being rename it so it doesn't conflict with future properties.
* input: reconfigure send_events on output hotplugLibravatar Simon Ser2024-01-02
| | | | Closes: https://github.com/swaywm/sway/issues/7890
* Remove wlr_presentation in sway_server structLibravatar Billli112023-12-28
| | | It is no longer in use.
* output: Destroy when output layout is destroyedLibravatar Alexander Orzechowski2023-12-13
| | | | | | | | | | | | | Since output layout is destroyed when the wayland display is destroyed we run into a destroy listener order problem: Either the display starts destroying the outputs first, in which case we're good: The existing handling will clean up. However, things go wrong if the display decides to destroy the output layout first. In this case, sway will hold invalid references to the output layout as part of each output so that when it finally goes to destroy them, sway will dereference destroyed output layout bits. Ref: https://github.com/swaywm/sway/pull/6844#issuecomment-1843599513
* input/seat: rename seat_set_exclusive_client()Libravatar Simon Ser2023-12-13
|
* input/seat: drop exclusive_clientLibravatar Simon Ser2023-12-13
| | | | This was a input-inhibit concept.