aboutsummaryrefslogtreecommitdiff
path: root/niri-config/src/lib.rs
AgeCommit message (Collapse)Author
2025-08-04pw_utils: Wait for frame completion before queueingIvan Molodetskikh
Without explicit sync, we have no way to signal the PipeWire consumer when the rendering is done. So, wait until it's done before giving it the frame. This should fix flickering screencasts on NVIDIA.
2025-07-13Fix new Clippy warningsIvan Molodetskikh
2025-06-19Expose libinput Button Scrolling Button Lock Enabled propertyNikolay Yakimov
2025-06-11Clamp colors to valid values when parsing configAndrew Davis
The oklch color space often creates weird values when parsed by csscolorparser. clamping the output to values between 0 and 1 should fix inconsistent color handling on borders.
2025-06-11Add deactivate-unfocused-windows debug flag (#1706)sashomasho
* force xdg deactivation on invisable workspaces This debug option provides a workaround for many Chromium-based chat applications that fail to show notifications when they're active in a workspace that's not currently visible and don't have keyboard focus Signed-off-by: Alex Yosifov <sashomasho@gmail.com> * fixes --------- Signed-off-by: Alex Yosifov <sashomasho@gmail.com> Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com>
2025-06-09Don't forget to update insta snapshotsIvan Molodetskikh
2025-06-09Accept FloatOrInt for input accel_speed, animation slowdownIvan Molodetskikh
Technically cfg-breaking due to introducing min/max limits at parse time, but values outside these limits were invalid anyway, so maybe it's fine?
2025-06-07Implement xwayland-satellite integrationIvan Molodetskikh
2025-06-03add option to hide unbound actions in hotkey overlay (#1618)Kent Daleng
* add option to hide unbound actions in hotkey overlay * fix config test, add some docs * Add kdl language hint Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com> * Improve docs Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com> * hide_unbound -> hide_not_bound * forgot to rename in wiki * filter actions before calling format * use any instead of contains * retain instead of filter --------- Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com>
2025-06-03Add debug option to skip cursor-only updates while VRR is active (#1616)Gwen
* Add debug option to skip cursor-only updates while VRR is active * Update niri-config/src/lib.rs Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com> * Update src/backend/tty.rs Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com> * Update wiki/Configuration:-Debug-Options.md Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com> * Update Configuration:-Debug-Options.md * Update tty.rs * Update lib.rs * Update Configuration:-Debug-Options.md --------- Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com>
2025-05-25Rename Un/Set/ToggleUrgent to Un/Set/ToggleWindowUrgentIvan Molodetskikh
Overlooked this when reviewing. This change is not cfg-breaking (since you can't bind these directly), but it does break calling these actions through IPC. I don't imagine they are widely used though, and the original PR author who also implemented urgency for bars said he didn't use these actions either.
2025-05-12Add center-visible-columns actionIvan Molodetskikh
2025-05-12Implement baba-is-float for layersIvan Molodetskikh
2025-05-10Add is-urgent window rule matcherIvan Molodetskikh
2025-05-10Add urgent color support to tab indicatorsIvan Molodetskikh
2025-05-10add {toggle,set,unset}-urgent cli actionsDuncan Overbruck
2025-05-10add urgent border color and gradientDuncan Overbruck
2025-05-06Add layout background-color settingIvan Molodetskikh
2025-05-06Implement place-within-backdrop layer ruleIvan Molodetskikh
2025-05-01Implement --focus for MoveColumnToWorkspace/Up/DownAberter Yan
2025-05-01Adjust the workspace shadow defaults some moreIvan Molodetskikh
2025-05-01Normalize workspace shadows to 1080 px tall screen, adjust defaultsIvan Molodetskikh
Workspace gaps are dependent on screen size, so it makes sense to make shadows depend on the screen size to, to avoid them filling more or less of the gap.
2025-05-01Add workspace-shadow {} config to overview {}Ivan Molodetskikh
2025-04-30feat: implement support to enable numlock at startuperdii
Signed-off-by: erdii <me@erdii.engineering>
2025-04-28Add backdrop-color setting to overview {}Ivan Molodetskikh
2025-04-25Implement top-left hot corner to toggle the OverviewIvan Molodetskikh
Compared to third-party implementations such as waycorner: - It works during interactive window move (no surfaces receive pointer focus in this case, so this cannot work through layer-shell). - It works during drag-and-drop. - It disables itself over fullscreen windows. - It does not prevent direct scanout.
2025-04-25overview: Add DnD up/down scrollingIvan Molodetskikh
2025-04-25overview: Add hardcoded mouse scroll bindsIvan Molodetskikh
2025-04-25Implement an OverviewIvan Molodetskikh
2025-04-25Render workspaces separately with gaps betweenIvan Molodetskikh
This design makes more sense spatially, and is required for the Overview. Gaps also make it clear how clipping windows to workspace bounds works. Background and bottom layer-shell surfaces get duplicated for each workspace, while top and overlay stay "on top".
2025-03-31Allow negative shadow spreadLunarEclipse
2025-03-31add toggle-keyboard-shortcuts-inhibit to CLI/IPC (#1366)sodiboo
* add toggle-keyboard-shortcuts-inhibit to CLI/IPC missed it in ef8d5274b849fe0bd76ab7159765202ac98f7bbc or https://github.com/YaLTeR/niri/pull/630 or 0584dd2f1e82417bdabcc0d8cb20fddc2e8cc5e7 or whatever * Update niri-ipc/src/lib.rs --------- Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com>
2025-03-29Add option 'focus-at-startup' to focus a chosen output on start (#1323)lualeet
* Implement default-output * Fix incorrect wiki string * Center mouse on start * Move default-output to Output.focus-at-startup * fixes --------- Co-authored-by: lualeet <lualeet@null.null> Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com>
2025-03-29Add focus argument to move-window-to-workspace (#1332)nyx
* layout: add focus flag to move-window-to-workspace * lib: update comment * misc: minor dup refactor * input: format code * layout: minor nit * layout: update comment * input: remove unnecessary conditionals * misc: replace boolean * tests: fix the failing one * layout: change to smart * ipc: Option<bool> -> bool * lib: format code * Rewrite focus doc comment --------- Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com>
2025-03-22Add option to warp-mouse-to-focus to always centerFlorian Finkernagel
2025-03-22Add mod-key and mod-key-nested settingspeelz
2025-03-17Implement toggle-windowed-fullscreenIvan Molodetskikh
Windowed, or fake, or detached, fullscreen, is when a window thinks that it's fullscreen, but the compositor treats it as a normal window.
2025-03-17Add wait-for-frame-completion-in-pipewire debug flag for NVIDIA screencastsCole Leavitt
2025-03-15Implement dynamic screencast targetIvan Molodetskikh
2025-03-14Add move-column-to-index actionDuncan Overbruck
2025-03-14Add focus-column (by index) actionDuncan Overbruck
2025-03-13Add tiled-state window rule, update the tiled state liveIvan Molodetskikh
2025-03-13feat(trackpoint): add left-handed option supportdbeley
2025-03-10added move window to monitor by idAnnika Hannig
2025-03-10Implemented move-window-to-monitor and move-column-to-monitorAnnika Hannig
2025-03-10Implement focus-monitor to focus a specific monitor by output.Annika Hannig
2025-03-10feat: 🎉 add `show-pointer` for `Screenshot` and `ScreenshotScreen`Toby Bridle
2025-03-02Allow disabling tap-and-drag (#1107)Alex David
* Allow disabling tap-and-drag Similar to https://github.com/YaLTeR/niri/pull/1088, this adds a new touchpad `drag` configuration option that configures tap-and-drag behavior. Currently tap-and-drag is always enabled when the `tap` setting is enabled, but other compositors allow setting this separately. * Update wiki/Configuration:-Input.md --------- Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com>
2025-03-01Added top, left, bottom and right floating windows alignement (#1169)Martino Ferrari
* feat: added top, left, bottom, right alignement options * feat: implemented extra alignement * feat: added example * doc: updated documentation with extra alignements * doc: moved example in wiki and typo correction * fix: relative position should be positive and not negative * fixes --------- Co-authored-by: Martino Ferrari <martinogiordano.ferrari@iter.org> Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com>
2025-02-26Add honor-xdg-activation-with-invalid-serial debug flagIvan Molodetskikh