Commit Graph

2459 Commits

Author SHA1 Message Date
Ivan Molodetskikh 1cede8922f layout/tile: Fade out focus ring for fullscreen 2025-10-15 09:04:16 +03:00
Ivan Molodetskikh 80c22b805e layout: Fix anim jump when releasing interactive move in the overview
Probably the tile window loc wasn't zoomed when it should. But also the
interactive move grab case doesn't consider the window loc at all, which
seems to work ok, so let's do that until a problem is found with it.
2025-10-15 09:04:16 +03:00
Ivan Molodetskikh ad3847fad9 layout: Unfullscreen before removing for interactive move
Several reasons for this:

- Remove the sizing code from interactive move duplicated with
  toggle_window_floating.
- Make the tiled size restore too instead of requesting 0x0 (which
  doesn't work for windows in the Tiled state).
2025-10-15 09:04:16 +03:00
Ivan Molodetskikh 9bd860b393 Extract with_toplevel_last_uncommitted_configure() 2025-10-15 09:04:16 +03:00
Ivan Molodetskikh dd1ec83afa tests/floating: Add more edge cases 2025-10-15 09:04:16 +03:00
Ivan Molodetskikh 5ad3d661f0 tests/floating: Extract set_up_with_config() 2025-10-15 09:04:16 +03:00
Trevor Campbell 87dc96fa69 Add topic regarding managing external displays using Kanshi to FAQ 2025-10-14 10:18:22 +03:00
Ivan Molodetskikh ba6e5e082a Upgrade dependencies 2025-10-02 12:00:53 +03:00
Szybet 03c564736a Support calibration-matrix in touch input config 2025-10-02 10:27:09 +03:00
Tim Ruffing 1b41ef146d wiki: Recommend pick-window instead of focused-window
focused-window is only useful for querying terminal windows
(unless combined with sleep or similar tricks.)
2025-10-02 10:14:23 +03:00
Ivan Molodetskikh 640e2b08a8 config: Rename tracy span parse => decode config file 2025-10-02 10:02:36 +03:00
Shaun Ren 5c91e3191d tty: Add support for disabling DRM devices 2025-10-02 10:02:16 +03:00
Shaun Ren b7f1e382a2 tty: Close DRM device session fd in device_removed()
Same logic as in cosmic-comp.
2025-10-02 10:02:16 +03:00
Ivan Molodetskikh e5b0662f48 wiki/include: Document border special case 2025-10-02 09:38:17 +03:00
Ivan Molodetskikh 39339032ce wiki: Document config includes 2025-10-02 09:38:17 +03:00
Ivan Molodetskikh a250fcf252 config: Add a nicer error for recursive includes
We can't check recursive includes across "dir/" followed by "../"
because dir may be a symlink, so "dir/../" may resolve to a different
folder. But this is already good within the same folder.
2025-10-02 09:38:17 +03:00
Ivan Molodetskikh 24b3cbfe55 config: Remove now-redundant m_replace!() 2025-10-02 09:38:17 +03:00
Ivan Molodetskikh c0f19d48fa config: Add merging for Input 2025-10-02 09:38:17 +03:00
Ivan Molodetskikh 31f9577df9 config: Add merging for Animations 2025-10-02 09:38:17 +03:00
Ivan Molodetskikh 2eabc22b38 config: Add merging for Gestures 2025-10-02 09:38:17 +03:00
Ivan Molodetskikh 2de34e8798 config: Add merging for misc sections 2025-10-02 09:38:17 +03:00
Ivan Molodetskikh ceaf9408a5 config: Add merging for Debug 2025-10-02 09:38:17 +03:00
Ivan Molodetskikh eff41ab716 config: Add merging for SwitchBinds 2025-10-02 09:38:17 +03:00
Ivan Molodetskikh 0673260249 utils/watcher: Support config includes 2025-10-02 09:38:17 +03:00
Ivan Molodetskikh 0a33dca5fd utils/watcher: Extract Props 2025-10-02 09:38:17 +03:00
Ivan Molodetskikh b3ae3adbb7 Partially implement config includes
Subsequent commits will add merging for all leftover sections.
2025-10-02 09:38:17 +03:00
Ivan Molodetskikh 264289cd41 wiki: Document per-output and per-workspace layout overrides 2025-10-02 09:33:08 +03:00
Ivan Molodetskikh f975672255 Add layout overrides to window_opening test 2025-10-02 09:33:08 +03:00
Ivan Molodetskikh 67ca2cb06c layout: Move scrolling width resolution to workspace
This is required now with per-output and per-workspace options.
2025-10-02 09:33:08 +03:00
Ivan Molodetskikh 9ff1c90fa6 layout/monitor: Fix wrong Clone/Copy generic bounds 2025-10-02 09:33:08 +03:00
Ivan Molodetskikh 09cf8402c3 Add per-output layout config 2025-10-02 09:33:08 +03:00
Ivan Molodetskikh a5e285865b Move background rendering to Workspace
Per-output background-color doesn't work yet.
2025-10-02 09:33:08 +03:00
Ivan Molodetskikh d5f4e79e4c Add per-workspace layout config
Per-workspace background-color doesn't work yet.
2025-10-02 09:33:08 +03:00
Ivan Molodetskikh d015c7e55b layout: Extract Monitor::append_workspaces() 2025-10-02 09:33:08 +03:00
Ivan Molodetskikh 1465cd4139 layout: Move empty workspace handling to Monitor::new() 2025-10-02 09:33:08 +03:00
Ivan Molodetskikh 7fc544b9d6 layout: Extract Monitor::into_workspaces() 2025-10-02 09:33:08 +03:00
Ivan Molodetskikh 36dc5c6e8e layout: Deduplicate move_workspace_to_output() 2025-10-02 09:33:08 +03:00
Ivan Molodetskikh ea3bbea6bd layout: Extract Monitor::insert_workspace() 2025-10-02 09:33:08 +03:00
Ivan Molodetskikh 3b4cf1ec8f layout: Extract Monitor::remove_workspace_by_idx() 2025-10-02 09:33:08 +03:00
Ivan Molodetskikh 1484175408 layout: Remove unname_workspace() clean-up to Monitor 2025-10-02 09:33:08 +03:00
Ivan Molodetskikh 8c3345807a layout: Extract Monitor::verify_invariants() 2025-10-02 09:33:08 +03:00
Ivan Molodetskikh c353a7dae9 layout: Extract Layout::monitors{,_mut}() 2025-10-02 09:33:08 +03:00
Ivan Molodetskikh e3068cd483 layout/tests: Make UpdateConfig an actual Op
We can do it now that it's non-Copy. This also fixes a new stack
overflow when running the random test in debug mode (which somehow
occurs even though it's skipped in debug mode) that appeared after
adding LayoutPart for some unbeknownst to me reason.
2025-10-02 09:33:08 +03:00
Ivan Molodetskikh 6aa8146c32 layout/tests: Generate LayoutPart instead of Layout config
Necessary for future changes, also produces much shorter failing output due to
not having to include all the options.
2025-10-02 09:33:08 +03:00
Ivan Molodetskikh 4c524b4719 layout: Store Layout directly in Options 2025-10-02 09:33:08 +03:00
Ivan Molodetskikh 1fa9dd32ed config: Split Layout from LayoutPart 2025-10-02 09:33:08 +03:00
Ivan Molodetskikh 2781d3a743 config: Replace resolve_against with MergeWith 2025-10-02 09:33:08 +03:00
Ivan Molodetskikh e739ce8171 config: Add merge!() macros to reduce boilerplate 2025-10-02 09:33:08 +03:00
Ivan Molodetskikh a2727ba2c9 config: Introduce MergeWith trait 2025-10-02 09:33:08 +03:00
Ivan Molodetskikh 8df6231cc1 layout/tests: Make Op non-Copy 2025-10-02 09:33:08 +03:00