aboutsummaryrefslogtreecommitdiff
path: root/src/layout/monitor.rs
AgeCommit message (Collapse)Author
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
2024-02-06Split render_helpers.rsIvan Molodetskikh
2024-02-05Add consume-or-expel-window-left/right commandsDennis Ranke
2024-02-05Convert everything to niri_render_elements! {}Ivan Molodetskikh
2024-02-04layout: Make rendering not Window-specificIvan Molodetskikh
Doesn't need to be any more.
2024-01-19layout: Fix crash due to workspace transfer during switchIvan Molodetskikh
2024-01-15Add move-column-to-workspace* bindsIvan Molodetskikh
As opposed to move-window-to-workspace*
2024-01-07Move config into a separate crateIvan Molodetskikh
Get miette and knuffel deps contained within.
2024-01-01layout: Make generic over RendererIvan Molodetskikh
2023-12-29Add move-column-to-{first,last}Ivan Molodetskikh
2023-12-29Add focus-column-{first,last}Ivan Molodetskikh
2023-12-28Activate windows when clicking on the borderIvan Molodetskikh
2023-12-28Rename window -> tile, fix popup unconstraining window_yIvan Molodetskikh
I missed the window_y thing and found it thanks to the rename. Too lazy to split it into a commit.