sway/sway
Kenny Levinsen 1267e47de9 config/output: Refactor handling of tiered configs
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
2024-04-12 17:32:26 +02:00
..
commands commands/output/toggle: Use free_output_config 2024-03-28 10:45:20 +01:00
config config/output: Refactor handling of tiered configs 2024-04-12 17:32:26 +02:00
desktop desktop/output: Use apply_output_configs for output mgmt 2024-03-28 10:45:20 +01:00
input input: add Super as alternative for Mod4 2024-04-05 16:40:28 +02:00
tree Define _POSIX_C_SOURCE globally 2024-02-23 17:43:19 +03:00
commands.c Define _POSIX_C_SOURCE globally 2024-02-23 17:43:19 +03:00
config.c output/config: Remove reset_outputs and co. 2024-03-28 10:45:20 +01:00
criteria.c Define _POSIX_C_SOURCE globally 2024-02-23 17:43:19 +03:00
decoration.c Fix double free when unmapping any view 2018-11-15 15:22:09 +10:00
ipc-json.c Fetch input device vendor/product from libinput 2024-03-07 09:53:40 -05:00
ipc-server.c Define _POSIX_C_SOURCE globally 2024-02-23 17:43:19 +03:00
lock.c Define _POSIX_C_SOURCE globally 2024-02-23 17:43:19 +03:00
main.c Define _POSIX_C_SOURCE globally 2024-02-23 17:43:19 +03:00
meson.build container: Don't track outputs 2024-01-18 18:36:54 +03:00
realtime.c realtime: request SCHED_RR using CAP_SYS_NICE 2022-05-18 11:20:17 +02:00
scene_descriptor.c scene_graph: Introduce sway_scene_descriptor 2024-01-18 18:36:54 +03:00
server.c Implement transient seat management 2024-03-18 09:07:21 +01:00
sway-bar.5.scd man: update Pango font description URL 2021-08-04 02:15:04 +02:00
sway-input.5.scd Update sway-input.5.scd 2023-10-05 10:04:32 +02:00
sway-ipc.7.scd sway-ipc(7): Escape backslashes correctly in GET_CONFIG output 2024-03-30 01:16:22 +01:00
sway-output.5.scd man: document that the scale might be adjusted 2024-03-14 23:22:32 +01:00
sway.1.scd man: update maintainer 2021-01-08 09:33:51 +01:00
sway.5.scd input: add Super as alternative for Mod4 2024-04-05 16:40:28 +02:00
sway_text_node.c Define _POSIX_C_SOURCE globally 2024-02-23 17:43:19 +03:00
swaynag.c Define _POSIX_C_SOURCE globally 2024-02-23 17:43:19 +03:00
xdg_activation_v1.c xdg-activation: distinguish activation and urgency requests 2024-02-17 00:54:30 -07:00
xdg_decoration.c xdg-shell: chase events update 2023-11-23 19:41:57 +01:00