aboutsummaryrefslogtreecommitdiff
path: root/niri-ipc/src
AgeCommit message (Collapse)Author
2025-01-23Add toggle-window-rule-opacity actionIvan Molodetskikh
2025-01-14add write-to-disk argument to screenshot actionsGustav Sörnäs
2025-01-10Bump version to 25.01Ivan Molodetskikh
2025-01-10Allow workspace names to be changed dynamically (#904)rustn00b
* Add un/set workspace name actions * Add SetWorkspaceName reference to proptests * Simplify unname_workspace * Add ewaf version of set first workspace name test * Simplify more * Fix comment * Make workspace in set-workspace-name a positional option --------- Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com>
2025-01-09Add a window swap operation (#899)rustn00b
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-02Add actions to focus/move to next/previous monitorJulian Schuler
2024-12-30Add toggle-window-width by-id actionIvan Molodetskikh
2024-12-30Add center-window by-id actionIvan Molodetskikh
2024-12-30Add move-floating-window actionIvan Molodetskikh
2024-12-30Allow hyphen values for set-window-width/height argIvan Molodetskikh
Make args like set-window-height -10 parse as is, without having to insert a --.
2024-12-30Add is_floating to Window IPCIvan Molodetskikh
2024-12-30Add focus-floating/tiling actionsIvan Molodetskikh
2024-12-30Add move-window-to-floating/tiling actionsIvan Molodetskikh
2024-12-30Add set-window-width actionIvan Molodetskikh
2024-12-30Initial WIP floating window implementationIvan Molodetskikh
2024-11-21Add `focus-window-previous` action (#811)Ridan Vandenbergh
* Add `FocusWindowPrevious` action * remove [` * track previous focus in Niri instead of every window --------- Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com>
2024-11-12Add niri msg layersIvan Molodetskikh
2024-11-12Add PID to Window IPCIvan Molodetskikh
2024-11-09niri-ipc: Document featuresIvan Molodetskikh
2024-11-09niri-ipc: Add README and Cargo.toml metadataIvan Molodetskikh
2024-10-12Implement ConsumeOrExpelWindow{Left,Right} by idIvan Molodetskikh
2024-10-09added power-on-monitors (#723)Winter
2024-09-12Add SwitchPresetWindowHeight by idIvan Molodetskikh
2024-09-12 Implement preset window heightsChristian Rieger
2024-09-09ipc: Clarify some things in the docsIvan Molodetskikh
2024-09-06ipc: Convert all Action unit variants to unit struct variantsIvan Molodetskikh
This is a breaking change, but likely nobody uses this through raw JSON yet, and this allows us to add fields to any action later on without another breaking change.
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-04ipc: Write some more docsIvan Molodetskikh
2024-09-04ipc: Don't re-export socket typesIvan Molodetskikh
2024-09-03Use libdisplay-info for make/model/serial parsing, implement throughoutIvan Molodetskikh
2024-09-01Implement by-id workspace action addressingIvan Molodetskikh
It's not added to clap because there's no convenient mutually-exclusive argument enum derive yet (to have either the current <REFERENCE> or an --id <ID>). It's not added to config parsing because I don't see how it could be useful there. As such, it's only accessible through raw IPC.
2024-09-01Fix spelling mistakeIvan Molodetskikh
2024-09-01Add niri msg windowsIvan Molodetskikh
2024-09-01Rearrange some CLI and IPC enum valuesIvan Molodetskikh
2024-09-01Implement the event stream IPCIvan Molodetskikh
2024-09-01ipc: Read only a single line on the clientIvan Molodetskikh
Allow extensibility.
2024-08-25Add niri msg keyboard-layoutsIvan Molodetskikh
2024-08-22feature: add on-demand vrr (#586)Michael Yang
* feature: add on-demand vrr * Don't require connector::Info in try_to_set_vrr * Improve VRR help message * Rename connector_handle => connector * Fix tracy span name * Move on demand vrr flag set higher * wiki: Mention on-demand VRR --------- Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com>
2024-07-12Add schemars::JsonSchema trait to ipc types (#536)Oli Strik
* feat: add schemars JsonSchema trait to ipc types * niri-ipc: use feature-flag for deriving schemars::JsonSchema --------- Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com>
2024-07-10Add move-column-{left/right}-or-to-monitor-{left/right} (#528)Winter
* feature added, move-column-left-or-monitor-left and move-column-right-or-monitor-right * fixed stupid mistake * yalter's fixes * fixed names * fixed a stupid mistake --------- Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com>
2024-07-05Added Commnads to focus windows or Monitors above/below the active window (#497)TheAngusMcFire
* Implement focus-window-up/down-or-monitor calls * Fixed wrong naming of focus-window-or-monitor commands * fix copy pase errors for focusing direction * Fixed wrong behaviour when the current workspace is empty * Cleanup navigation code to reduce complexity * Fix wrong comments and add testcases for FocusWindowOrMonitorUp/Down --------- Co-authored-by: Christian Rieger <christian.rieger@student.tugraz.at>
2024-07-05Implement wlr-output-management protocoltet
fix: wlr_output_management use WeakOutput
2024-06-28feat: add `focus-column-or-monitor-left`, `focus-column-or-monitor-right` (#456)Filipe Paniguel
* feat: add support for focus-window-or-monitor * addresses output without window case * refactor: reduce verbosity * update this.. * refactor: rename `maybe_focus_window` functions * refactor: flip focus_window_or_output return logic * Update src/layout/mod.rs Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com> * refactor: rename to Column * move blocks next to other Column variables --------- Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com>
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-06-09Fix typos (#429)Ujp8LfXBJ6wCPR
* Fix typos reported by "typos" crate https://github.com/crate-ci/typos * Ignore typo datas -> data See https://github.com/crate-ci/typos?tab=readme-ov-file#false-positives for more configureability. --------- Co-authored-by: Carl Hjerpe <git@hjerpe.xyz> Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com>
2024-05-26Add niri msg focused-outputrustysec
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-17Implement niri msg workspacesrustysec
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-11Add a reset-window-height actionIvan Molodetskikh