Commit Graph

61 Commits

Author SHA1 Message Date
Ivan Molodetskikh d7f3ca00c7 Implement scrolling the view during interactive move 2025-02-15 13:28:57 +03:00
Ivan Molodetskikh fd8140e091 Hook up are_transitions_ongoing() for floating and tiles
Don't spoil it
2025-02-15 13:28:57 +03:00
rustN00b 4c98b87486 Add missing period to doc comment 2025-02-13 10:39:25 +03:00
Ivan Molodetskikh 20769b4c2f tab indicator: Animate opening 2025-02-10 07:29:33 -08:00
Ivan Molodetskikh 6942ecc13a Implement clicking on tab to switch 2025-02-10 07:29:33 -08:00
Ivan Molodetskikh 96a3ded2ec scrolling: Extract tab_indicator_area() 2025-02-10 07:29:33 -08:00
Ivan Molodetskikh 0b83d9932b tab indicator: Use full column height 2025-02-10 07:29:33 -08:00
Ivan Molodetskikh 6bd92ab926 tab indicator: Fix gradient area computation
The gradient area should be relative to each tab's geometry. In most cases
these geometries will all match, but not when some tabs have a different size,
for example when they have a fixed size.
2025-02-10 07:29:33 -08:00
Ivan Molodetskikh 02eccf7762 layout: Fix/add animations around tabbed columns 2025-02-10 07:29:33 -08:00
Ivan Molodetskikh c31b58e2c9 tab indicator: Implement place-within-column setting 2025-02-10 07:29:33 -08:00
Ivan Molodetskikh a451f75917 Implement tab indicators 2025-02-10 07:29:33 -08:00
Ivan Molodetskikh 1515410012 Add default-column-display window rule 2025-02-10 07:29:33 -08:00
Ivan Molodetskikh 8f9e0d029c Add set-column-display action 2025-02-10 07:29:33 -08:00
Ivan Molodetskikh 90f24da631 Move ColumnDisplay to niri-ipc 2025-02-10 07:29:33 -08:00
Ivan Molodetskikh df70140b36 Allow tabbed columns to go fullscreen 2025-02-10 07:29:33 -08:00
Ivan Molodetskikh f90eb0cbe4 Implement tabbed column display mode 2025-02-10 07:29:33 -08:00
Ivan Molodetskikh f836d1c28a layout/scrolling: Extract activate_idx() 2025-02-10 07:29:33 -08:00
Ivan Molodetskikh 397e704d64 layout/scrolling: Extract variable 2025-02-07 10:03:38 +03:00
Ivan Molodetskikh acc9d3e409 layout/scrolling: Extract variable 2025-02-07 10:03:38 +03:00
Ivan Molodetskikh 0c59fc304c layout/scrolling: Use early return in tiles_origin() 2025-02-07 10:03:38 +03:00
Ivan Molodetskikh abd7f1dce3 layout/scrolling: Extract two variables 2025-02-07 10:03:38 +03:00
Ivan Molodetskikh 1d87da00b7 layout/scrolling: Extract two variables 2025-02-07 10:02:25 +03:00
Ivan Molodetskikh 91515ac6dc layout/scrolling: Extract resolve_* as methods on Column 2025-02-07 10:02:25 +03:00
Ivan Molodetskikh 7ec771f7ec layout: Rename toplevel_bounds() to new_window_toplevel_bounds() 2025-02-07 09:26:43 +03:00
Ivan Molodetskikh a42a5ac696 layout: Remove redundant () 2025-02-07 08:03:39 +03:00
Ivan Molodetskikh b31c0359eb layout: Extract col variable 2025-02-06 10:30:03 +03:00
Ivan Molodetskikh 934e5a6033 layout: Preserve focused window in column when window above is closed
Might be the longest standing bug in niri?
2025-02-06 09:41:15 +03:00
Ivan Molodetskikh a444efd0eb Add focus-window-in-column (by index) action 2025-02-05 17:25:57 +03:00
Ivan Molodetskikh c41f93a468 Add focus-window-top/bottom/down-or-top/up-or-bottom actions 2025-02-05 17:25:51 +03:00
Ivan Molodetskikh 7d24ad23c2 layout/scrolling: Extract tiles_origin() 2025-02-04 10:42:44 +03:00
Ivan Molodetskikh 32ad545f84 layout: Extract max_tile_height 2025-02-01 13:05:07 +03:00
Ivan Molodetskikh 4eddcef1be layout: Inline variable 2025-02-01 13:05:07 +03:00
Ivan Molodetskikh 68776f1cee layout: Verify that individual tiles don't get sized taller than working area 2025-02-01 10:48:16 +03:00
Ivan Molodetskikh a0e2a15c60 Take border into account for fixed preset-column-width for tiled windows 2025-01-31 21:30:22 +03:00
fable a169e0335d adjust horizontal view movement gestures snap points for center-focused-column "on-overflow" (#1052)
* Adjust snap points for center-focused-column "on-overflow"

* fix outer gaps not being accounted for in is_overflowing
2025-01-30 17:17:16 +03:00
Ivan Molodetskikh a10705fb20 Add toggle-window-rule-opacity action 2025-01-23 11:13:55 +03:00
Ivan Molodetskikh c892f04c96 tile: Rename update() to update_render_elements() 2025-01-21 11:31:30 +03:00
Ivan Molodetskikh 623687e59b Fix new Clippy warnings 2025-01-10 09:11:31 +03:00
rustn00b 80815a1591 Add a window swap operation (#899)
Swap the active window with the a neighboring column's active window.


---------

Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com>
Take into account PR comments

- no longer behave like an expel when a swap is made in a direction
  where there is no column to swap with
- fix janky animation
2025-01-09 08:29:36 +00:00
Ivan Molodetskikh a2f9d132a0 Migrate to new Rectangle functions 2025-01-04 11:22:56 +03:00
Ivan Molodetskikh a7c57f4faf Add toggle-window-width by-id action 2024-12-30 20:12:37 +03:00
Ivan Molodetskikh 8409107a5b Implement default-window-height for scrolling windows 2024-12-30 20:12:37 +03:00
Ivan Molodetskikh 6c897d5201 Add center-window by-id action 2024-12-30 20:12:37 +03:00
Ivan Molodetskikh 6cb5135f34 Clamp single tiled window height
Now that we have floating for taller-than-screen windows.
2024-12-30 20:12:37 +03:00
Ivan Molodetskikh be05b66ac3 Hide focus ring for unfocused layout and under interactive move 2024-12-30 20:12:37 +03:00
Ivan Molodetskikh 6c52077d92 Add move-floating-window action 2024-12-30 20:12:37 +03:00
Ivan Molodetskikh 8b0cb0bb57 Add set-window-width action 2024-12-30 20:12:37 +03:00
Ivan Molodetskikh a24a6e4e3c Implement is-floating window rule matcher 2024-12-30 20:12:37 +03:00
Ivan Molodetskikh daaee43be3 layout: Refactor window opening targets 2024-12-30 20:12:37 +03:00
Ivan Molodetskikh 28b78a563b layout: Pass and store view_size on a Tile 2024-12-30 20:12:37 +03:00