aboutsummaryrefslogtreecommitdiff
path: root/niri-ipc
AgeCommit message (Collapse)Author
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
2024-05-07Implement do-screen-transition actionIvan Molodetskikh
2024-05-05Print message when output was not foundIvan Molodetskikh
2024-05-05Make missing scale = automatic selectionIvan Molodetskikh
That was the intention, but I missed it before.
2024-05-05Implement niri msg outputIvan Molodetskikh
2024-05-03Add a semi-working debug-toggle-damage bindingIvan Molodetskikh
2024-05-02Add debug-toggle-opaque-regionsIvan Molodetskikh
2024-04-19`niri_ipc::Socket`; `niri msg version`; version checking on IPC (#278)sodiboo
* Implement version checking in IPC implement version checking; streamed IPC streamed IPC will allow multiple requests per connection add nonsense request change inline struct to json macro only check version if request actually fails fix usage of inspect_err (MSRV 1.72.0; stabilized 1.76.0) "nonsense request" -> "return error" oneshot connections * Change some things around * Unqualify niri_ipc::Transform --------- Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com>
2024-04-15Add vrr_supported/enabled to output IPCIvan Molodetskikh
2024-03-28Implement niri msg focused-windowIvan Molodetskikh
2024-03-27Replace config transform with ipcIvan Molodetskikh
2024-03-27Add logical output info and preferred modes to IPCIvan 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-02-12Add skip-confirmation flag to the quit actionIvan Molodetskikh
2024-02-11Implement error reporting in IPCIvan Molodetskikh
2024-02-10Implement niri msg actionIvan Molodetskikh
2024-01-17Add an IPC socket and a niri msg outputs subcommandIvan Molodetskikh