aboutsummaryrefslogtreecommitdiff
path: root/src/layout/monitor.rs
AgeCommit message (Collapse)Author
2024-10-17layout: Accept anim_config in remove_column_by_idxIvan Molodetskikh
2024-10-16layout/monitor: Extract workspace_under()Ivan Molodetskikh
2024-10-14layout: Return Tile + info upon removalIvan Molodetskikh
2024-10-14layout: Extract Monitor::workspaces_with_render_positions()Ivan Molodetskikh
2024-10-12Implement ConsumeOrExpelWindow{Left,Right} by idIvan Molodetskikh
2024-10-10layout: Add clarifying commentIvan Molodetskikh
2024-10-10layout/workspace: Reduce code duplication in adding windowsIvan Molodetskikh
2024-10-10layout: Reduce field visibilityIvan Molodetskikh
The outside code isn't supposed to mess with the fields.
2024-09-28fix focus_up_or_rightMarwin Kreuzig
2024-09-12Add SwitchPresetWindowHeight by idIvan Molodetskikh
2024-09-12 Implement preset window heightsChristian Rieger
2024-09-06Implement by-id window addressing in IPC and CLI, fix move-column-to-workspaceIvan Molodetskikh
This is a JSON-breaking change for the IPC actions that changed from unit variants to struct variants. Unfortunately, I couldn't find a way with serde to both preserve a single variant, and make it serialize to the old value when the new field is None. I don't think anyone is using these actions from JSON at the moment, so this breaking change is fine.
2024-09-01Animate focus-workspace by idx/back and forth/previousIvan Molodetskikh
Deleting the test because it only made sense when no-animation was special cased.
2024-09-01layout: Cache monitor output nameIvan Molodetskikh
2024-08-23Implement window close transactionIvan Molodetskikh
Mainly visible with disabled animations.
2024-06-19Implement vertical middle mouse gestureIvan Molodetskikh
2024-06-18Animate xdg-activation and foreign-toplevel workspace switchesIvan Molodetskikh
These are a bit jarring without an animation.
2024-06-18Refactor layout to fractional-logicalIvan Molodetskikh
Lets borders, gaps, and everything else stay pixel-perfect even with fractional scale. Allows setting fractional border widths, gaps, struts. See the new wiki .md for more details.
2024-06-17layout: Cache scale and transform on the workspaceIvan Molodetskikh
2024-06-09Add `focus-column-right-or-first`, `focus-column-left-or-last` (#391)James Sully
* add focus-column-right-or-first * add focus-column-left-or-last
2024-05-24Added actions to allow focusing up or down as normal but to wrap to the ↵Micah N Gorrell
column to the left or right if there is no window above or below
2024-05-16Make workspace names case-insensitiveIvan Molodetskikh
2024-05-16Implement named workspacesGergely Nagy
This is an implementation of named, pre-declared workspaces. With this implementation, workspaces can be declared in the configuration file by name: ``` workspace "name" { open-on-output "winit" } ``` The `open-on-output` property is optional, and can be skipped, in which case the workspace will open on the primary output. All actions that were able to target a workspace by index can now target them by either an index, or a name. In case of the command line, where we do not have types available, this means that workspace names that also pass as `u8` cannot be switched to by name, only by index. Unlike dynamic workspaces, named workspaces do not close when they are empty, they remain static. Like dynamic workspaces, named workspaces are bound to a particular output. Switching to a named workspace, or moving a window or column to one will also switch to, or move the thing in question to the output of the workspace. When reloading the configuration, newly added named workspaces will be created, and removed ones will lose their name. If any such orphaned workspace was empty, they will be removed. If they weren't, they'll remain as a dynamic workspace, without a name. Re-declaring a workspace with the same name later will create a new one. Additionally, this also implements a `open-on-workspace "<name>"` window rule. Matching windows will open on the given workspace (or the current one, if the named workspace does not exist). Signed-off-by: Gergely Nagy <niri@gergo.csillger.hu>
2024-05-11Group input-related things in a subfolderIvan Molodetskikh
2024-05-11Add a reset-window-height actionIvan Molodetskikh
2024-05-10Implement interactive mouse resizingIvan Molodetskikh
2024-05-04Split update_render_elements() from advance_animations()Ivan Molodetskikh
advance_animations() is called from places like input, whereas update_render_elements() is strictly for rendering.
2024-04-19Synchronize column removal anim on consume left/rightIvan Molodetskikh
Visible when consuming left/right when always-centered and differing horizontal view anim.
2024-04-17Resolve animation defaults during parsingIvan Molodetskikh
2024-04-16Remove jumps on consume/expel animation startIvan Molodetskikh
2024-04-14Avoid continuous redrawing during horizontal gestureIvan Molodetskikh
2024-03-24Implement block-out-from window rule, fix alpha on window screenshotsIvan Molodetskikh
2024-03-19Move PartialEq from LayoutElement to an associated typeIvan Molodetskikh
2024-03-19Workspace back and forth (#253)FluxTape
* implement workspace back and forth * Make our own ID counter instead of SerialCounter, use a newtype * Rename FocusWorkspaceBackAndForth to FocusWorkspacePrevious * Add focus-workspace-previous to tests * Don't special case in switch_workspace_previous * Minor clean up * Add switch_workspace_auto_back_and_forth to tests * Skip animation on switch_workspace_previous * Preserve previous_workspace_id on workspace movement * Make Workspace::id private with a getter Reduce the chance it gets overwritten. * Add test for workspace ID uniqueness * Update previous workspace ID upon moving workspace across monitors --------- Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com>
2024-03-18Take workspace switch gesture into account for visual rectIvan Molodetskikh
2024-03-18Implement warp-mouse-to-focusFluxTape
2024-03-05Implement rubber banding for the vertical gestureIvan Molodetskikh
2024-03-05Implement spring animationsIvan Molodetskikh
2024-03-05monitor: Handle switch idx < 0 and >= lenIvan Molodetskikh
2024-03-03Extract WORKSPACE_GESTURE_MOVEMENT constantIvan Molodetskikh
2024-03-02Fix vertical gesture constantIvan Molodetskikh
400 is for width not height.
2024-03-02Make vertical touchpad swipe inertialIvan Molodetskikh
Values and implementation are heavily inspired by AdwSwipeTracker.
2024-02-29Move workspace gesture into monitor & fix missing workspace cleanupIvan Molodetskikh
2024-02-21Remove unnecessary crop bounds during workspace switchIvan Molodetskikh
2024-02-14Add the beginnings of window rulesIvan Molodetskikh
2024-02-10Implement niri msg actionIvan Molodetskikh
2024-02-07Make all animations configurableIvan Molodetskikh
2024-02-07animation: Accept ms as u32Ivan Molodetskikh
Less boilerplate elsewhere.
2024-02-07Activate the new right_of window on its workspaceIvan Molodetskikh
This way when a dialog opens on a different workspace, the user will see it right away when they switch to that workspace.
2024-02-07Open dialogs to the right of their parent, don't steal focusIvan Molodetskikh