sway/sway
Kenny Levinsen c324feeee3 Avoid crashing on too many containers
If far too many containers are created, they can become so small that
their size calculations come out negative, leading to crashes on
asserts.

Instead, set a lower bound for sizes and disable the container entirely
if it goes below it, giving whatever space it used to the last
container.

The splits are not recalculated, so currently the effect is that if all
containers have the same width fraction, they keep getting narrower
until at some point they all round to zero and the last container will
be given all the available space.

A better behavior would have been if the additional container did not
contribute to size and fraction calculations at all, but it's an extreme
edge-case, anything is better than crashing, and this is easier to
implement.
2025-03-20 12:46:33 +01:00
..
commands sway/commands: Return error if container is not in scratchpad 2025-03-18 22:28:05 +01:00
config config/output: Reset everything before swaybg exec 2025-03-11 09:15:05 +01:00
desktop Avoid crashing on too many containers 2025-03-20 12:46:33 +01:00
input input/cursor: remove tool_proximity listener in destroy 2025-01-27 00:42:37 -05:00
tree Avoid crashing on too many containers 2025-03-20 12:46:33 +01:00
commands.c Add support for tearing-control-v1 2024-08-05 02:13:49 +02:00
config.c Use has_prefix() instead of strncmp() throughout 2025-01-07 16:35:31 +01:00
criteria.c Remove constraint that con->view != NULL to use __focused__ criteria 2025-03-07 17:53:40 +01:00
decoration.c Fix double free when unmapping any view 2018-11-15 15:22:09 +10:00
ipc-json.c sway/ipc-json: add ext-foreign-toplevel-handle identifier to get_tree ipc output 2025-02-16 19:18:29 +01:00
ipc-server.c ipc-server: Force modeset if needed after executing commands 2024-11-17 19:11:58 +01:00
lock.c ext-session-lock: Do not use commit listener to arrange 2024-09-20 00:26:36 -04:00
main.c Use SIG_IGN for SIGCHLD instead of our own handler 2025-03-11 09:15:05 +01:00
meson.build Add support for tearing-control-v1 2024-08-05 02:13:49 +02:00
realtime.c realtime: request SCHED_RR using CAP_SYS_NICE 2022-05-18 11:20:17 +02:00
scene_descriptor.c fix: sway crashes if switch to another workspace with surface when IME popup is shown 2024-10-07 23:07:25 -04:00
server.c sway/server: create ext-data-control manager 2025-03-09 10:46:26 +01:00
sway-bar.5.scd man: Document bar mode toggle command 2025-02-06 18:02:35 +01:00
sway-input.5.scd Add support for LIBINPUT_CONFIG_DRAG_LOCK_ENABLED_STICKY 2024-11-23 13:06:49 +03:00
sway-ipc.7.scd docs: use "window" instead of "view" throughout. 2025-02-17 00:13:15 +01:00
sway-output.5.scd Add toggle for output adaptive_sync 2024-09-20 15:38:27 +02:00
sway.1.scd man: update maintainer 2021-01-08 09:33:51 +01:00
sway.5.scd docs: use "window" instead of "view" throughout. 2025-02-17 00:13:15 +01:00
sway_text_node.c sway_text_node: Remove use of source box 2025-02-25 09:48:40 -05:00
swaynag.c Rework fork/exec strategy 2025-03-06 11:46:59 +01:00
xdg_activation_v1.c xdg-activation: launcher tokens are activation requests 2024-07-06 16:12:27 +02:00
xdg_decoration.c xdg-shell: chase events update 2023-11-23 19:41:57 +01:00