aboutsummaryrefslogtreecommitdiff
path: root/niri-ipc
AgeCommit message (Collapse)Author
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