aboutsummaryrefslogtreecommitdiff
path: root/src/layout/workspace.rs
AgeCommit message (Collapse)Author
2025-11-13layout: Fix background color premultiplicationIvan Molodetskikh
2025-10-18feat(move-floating-window): percentage change (#2371)Mykyta Onipchenko
* feat: add percentage change to move-floating-window * fixes --------- Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com>
2025-10-15Implement maximize-to-edges (true Wayland maximize)Ivan Molodetskikh
2025-10-02config: Add merging for GesturesIvan Molodetskikh
2025-10-02layout: Move scrolling width resolution to workspaceIvan Molodetskikh
This is required now with per-output and per-workspace options.
2025-10-02Move background rendering to WorkspaceIvan Molodetskikh
Per-output background-color doesn't work yet.
2025-10-02Add per-workspace layout configIvan Molodetskikh
Per-workspace background-color doesn't work yet.
2025-10-02layout: Store Layout directly in OptionsIvan Molodetskikh
2025-10-02config: Split Layout from LayoutPartIvan Molodetskikh
2025-09-20Move workspace options check to workspace testsIvan Molodetskikh
2025-09-20layout/workspace: Rearrange checksIvan Molodetskikh
2025-09-17layout/scrolling: Track pending vs. current fullscreen for ColumnsIvan Molodetskikh
We already did that for Tiles, but for Columns we only tracked what was effectively pending fullscreen. We used it in several places where the current fullscreen should've been used instead, like the tile origin or the view offset. This commit splits the two and makes every place use the right one. Fixes things like tiles briefly appearing at y=0 between issuing the fullscreen command and the tile committing in response to the fullscreen configure.
2025-08-29Add cycle back feature for presets of column/window width/height.Said Kadrioski
2025-08-16niri-ipc: Add window positions and sizes (#1265)yrkv
* Add window sizes and positions to the IPC * basic fixes * report window_loc instead of window pos * clean ups * make scrolling indices 1-based * add printing to niri msg windows * don't include render offset in floating tile pos --------- Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com>
2025-06-11Add deactivate-unfocused-windows debug flag (#1706)sashomasho
* force xdg deactivation on invisable workspaces This debug option provides a workaround for many Chromium-based chat applications that fail to show notifications when they're active in a workspace that's not currently visible and don't have keyboard focus Signed-off-by: Alex Yosifov <sashomasho@gmail.com> * fixes --------- Signed-off-by: Alex Yosifov <sashomasho@gmail.com> Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com>
2025-06-09layout/scrolling: Store parent_area in ScrollingSpaceIvan Molodetskikh
2025-05-12Add center-visible-columns actionIvan Molodetskikh
2025-05-10add workspace urgency ipc eventDuncan Overbruck
2025-05-01Normalize workspace shadows to 1080 px tall screen, adjust defaultsIvan Molodetskikh
Workspace gaps are dependent on screen size, so it makes sense to make shadows depend on the screen size to, to avoid them filling more or less of the gap.
2025-05-01Add workspace-shadow {} config to overview {}Ivan Molodetskikh
2025-04-25Implement DnD hold to activate window or workspaceIvan Molodetskikh
2025-04-25Implement an OverviewIvan Molodetskikh
2025-04-25layout/monitor: Cache scale, view_size, working_areaIvan Molodetskikh
2025-04-25layout: Move insert hint from ScrollingSpace to MonitorIvan Molodetskikh
2025-04-25layout: Return floating and scrolling elems separately from WorkspaceIvan Molodetskikh
2025-04-25Remove cancellation from swipe gesturesIvan Molodetskikh
It only worked for workspace switch, and even there it was more confusing than helpful.
2025-04-17layout: Don't pass scale to render unnecessarilyIvan Molodetskikh
These parts of the layout already know their scale.
2025-03-14Add move-column-to-index actionDuncan Overbruck
2025-03-14Add focus-column (by index) actionDuncan Overbruck
2025-03-10Make interactively moved window semitransparentIvan Molodetskikh
2025-03-10Offscreen semitransparent tilesIvan Molodetskikh
Now that offscreen does damage tracking, we can reasonably do this. Note this only affects full-tile opacity, not window opacity.
2025-02-18Don't snap after DnD scroll if view position didn't changeIvan Molodetskikh
Otherwise, any DnD breaks temporarily centered columns.
2025-02-17Implement expand-column-to-available-widthIvan Molodetskikh
2025-02-16Make DnD edge view scroll configurableIvan Molodetskikh
2025-02-16layout: Remove unused methodIvan Molodetskikh
2025-02-15Implement scrolling the view during interactive moveIvan Molodetskikh
2025-02-15Hook up are_transitions_ongoing() for floating and tilesIvan Molodetskikh
Don't spoil it
2025-02-10tab indicator: Animate openingIvan Molodetskikh
2025-02-10Implement clicking on tab to switchIvan Molodetskikh
2025-02-10layout: Fix/add animations around tabbed columnsIvan Molodetskikh
2025-02-10Add set-column-display actionIvan Molodetskikh
2025-02-10Implement tabbed column display modeIvan Molodetskikh
2025-02-10layout: Extract tile.hit(), HitType::hit_tile()Ivan Molodetskikh
2025-02-10Account for border in contents_under()Ivan Molodetskikh
Fixes pointer clicks going through window borders to a layer surface below, also fixes window not getting activated in all cases from a border click.
2025-02-10layout: Fix variable namesIvan Molodetskikh
2025-02-07layout: Rename toplevel_bounds() to new_window_toplevel_bounds()Ivan Molodetskikh
2025-02-05Add focus-window-in-column (by index) actionIvan Molodetskikh
2025-02-05Add focus-window-top/bottom/down-or-top/up-or-bottom actionsIvan Molodetskikh
2025-01-31Take border into account for fixed preset-column-width for tiled windowsIvan Molodetskikh
2025-01-23Add toggle-window-rule-opacity actionIvan Molodetskikh