aboutsummaryrefslogtreecommitdiff
path: root/niri-config
AgeCommit message (Collapse)Author
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-05Change output sorting to match make/model/serial firstIvan Molodetskikh
We can do this now that we have libdisplay-info.
2024-09-05implement always_center_single_column layout optionelkowar
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-08-22Implement resize transactionsIvan Molodetskikh
2024-08-22Implement window resize throttlingIvan Molodetskikh
2024-08-22Update Smithay (apply state in post commit)Ivan 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-08-10Bump version to 0.1.8Ivan Molodetskikh
2024-08-08Fix redundant cast after upgrading csscolorparserIvan Molodetskikh
2024-08-08Upgrade dependenciesIvan Molodetskikh
2024-07-31add mod3 key binding support (#565)Jeff Peeler
* add support for iso_level5_shift modifier * update Cargo.lock bumps smithay to de94e8f59e202b605c35dfe1fef1857bad427e8c
2024-07-26Add background color option for outputAnant Sharma
2024-07-22feat: negative struts (to remove outer gaps)Salman Farooq
2024-07-16Implement gradient color interpolation option (#548)Ivan Molodetskikh
* Added the better color averaging code (tested & functional) * rustfmt * Make Color f32 0..1, clarify premul/unpremul * Fix imports and test name * Premultiply gradient colors matching CSS * Fix indentation * fixup * Add gradient image --------- Co-authored-by: K's Thinkpad <K.T.Kraft@protonmail.com>
2024-07-13Fix Clippy warningsIvan Molodetskikh
2024-07-13Add middle-emulation libinput flagIvan Molodetskikh
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-08niri-config: update wiki parses test to test all codeblocksSuyashtnt
This makes sure the failing codeblocks do fail. This also optimizes the algorithm a bit by removing a `.collect()` Signed-off-by: Suyashtnt <suyashtnt@gmail.com>
2024-07-08niri-config: add test to see if all snippets inside of the wiki compileSuyashtnt
Signed-off-by: Suyashtnt <suyashtnt@gmail.com>
2024-07-08screenshot-ui: Animate openingIvan Molodetskikh
2024-07-08bump smithayChristian Meissl
2024-07-07Implement toggling pointer for the screenshot UIIvan Molodetskikh
2024-07-05Implement focus-follows-mouse max-scroll-amountIvan Molodetskikh
2024-07-05Implement key repeat for compositor bindsSalman Farooq
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-05Put Outputs config into a dedicated structIvan Molodetskikh
2024-06-29Bump version to 0.1.7Ivan Molodetskikh
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-18config: Remove obsolete FIXMEIvan Molodetskikh
2024-06-18Make scale use FloatOrIntIvan Molodetskikh
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-17niri-config: Add pretty-assertions to testsIvan Molodetskikh
The config parse test is pretty big and it's impossible to tell the difference from the normal assert.
2024-06-10Update dependenciesIvan 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-29Add "off" and "disabled-on-external-mouse" properties to input devicesYuya Nishihara
This is called "events <mode>" in Sway, but we decided to use more abstracted form for consistency with the other config items. "disabled-on-external-mouse" is added only to touchpads, but there might be other devices that support this option. I think "off" also applies to keyboards, but I'm not going to add the one because we don't have libinput machinery for the keyboard config, and it's unlikely that user wants to disable _all_ keyboards. OTOH, pointer devices can be disabled per type. Perhaps, this should be revisited after implementing #371.
2024-05-28Fix copy-paste error in scroll-method error messageYuya Nishihara
2024-05-26Add scroll-method property to pointer devicesYuya Nishihara
My use case is to enable middle-button scroll on my keyboard with pointing stick. The device is recognized as USB mouse.
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-21Add left-handed input propertyIvan Molodetskikh
Closes https://github.com/YaLTeR/niri/issues/366
2024-05-19Add Default impl for niri_config::KeyboardIvan Molodetskikh
Fixes https://github.com/YaLTeR/niri/issues/357
2024-05-18Bump version to 0.1.6Ivan Molodetskikh
2024-05-16Implement at-startup window ruleIvan Molodetskikh
2024-05-16Fix missing check in Match PartialEqIvan Molodetskikh
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-15Implement custom shader for window-openIvan Molodetskikh
2024-05-12Implement custom shader for window-close animIvan Molodetskikh