| Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
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.
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
Allow extensibility.
|
|
|
|
* 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>
|
|
* 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>
|
|
* 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>
|
|
* 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>
|
|
fix: wlr_output_management use WeakOutput
|
|
* 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>
|
|
* add focus-column-right-or-first
* add focus-column-left-or-last
|
|
* 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>
|
|
|
|
column to the left or right if there is no window above or below
|
|
|
|
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>
|
|
|
|
|
|
|
|
That was the intention, but I missed it before.
|
|
|
|
|
|
|
|
* 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>
|
|
|
|
|
|
|
|
|
|
* 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>
|
|
|
|
|
|
|
|
|