aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2025-02-01layout: Inline variableIvan Molodetskikh
2025-02-01layout: Verify that individual tiles don't get sized taller than working areaIvan Molodetskikh
2025-01-31Take border into account for fixed preset-column-width for tiled windowsIvan Molodetskikh
2025-01-31Extract SizeChange::from(PresetSize)Ivan Molodetskikh
2025-01-31Fix typo in commentIvan Molodetskikh
2025-01-31layout: Update module commentIvan Molodetskikh
2025-01-31layout: Move tests to separate fileIvan Molodetskikh
This way changing just the tests won't rebuild the main library.
2025-01-30adjust horizontal view movement gestures snap points for ↵fable
center-focused-column "on-overflow" (#1052) * Adjust snap points for center-focused-column "on-overflow" * fix outer gaps not being accounted for in is_overflowing
2025-01-30add option to set xkb config from file (#1062)may
* add option to set xkb config from file * Apply suggestions from code review --------- Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com>
2025-01-30misc: Use helper function for restriced protocol filtersbbb651
I looked at cosmic-comp as a sanity check and they do the same thing, I ended up yoinking their function name because it reads better, not sure about "unrestricted" vs "privileged".
2025-01-30misc: Use `CursorImageSurfaceData` type aliasbbb651
instead of `Mutex<CursorImageAttributes>`
2025-01-30misc: Fix typosbbb651
Using [`typos`](https://github.com/crate-ci/typos) cli
2025-01-29layout: Do not update original output for named workspaces upon adding windowsIvan Molodetskikh
The way named workspaces are generally used makes them more "attached" to their original output. For example, you have a two-monitor setup with named workspaces on both. When you disconnect the monitor to go somewhere and work for a while, then return, you probably want your named workspaces to return to where they were on your second monitor. This is in contrast to unnamed workspaces which are more transient and should more easily follow you wherever you're working.
2025-01-29layout: Update workspace original output on moving even if same monitorIvan Molodetskikh
Moving is an explicit action that puts the workspace on a specific monitor. It makes sense to update the original output even if the workspace already happens to be on the target monitor.
2025-01-27Don't create on-disk sockets in testsIvan Molodetskikh
2025-01-27Use Niri::insert_client() in testsIvan Molodetskikh
2025-01-27Extract Niri::insert_client()Ivan Molodetskikh
2025-01-26Extend switch-layout action to accept layout index (#1045)Evgeny Zemtsov
* Extend switch-layout action to accept layout index * Update src/input/mod.rs --------- Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com>
2025-01-25Add move-workspace-to-index and move-workspace-to-monitor actions (#1007)Kirottu
* Added move-workspace-to-index and move-workspace-to-monitor IPC actions * Added redraws to the workspace handling actions, fixed tests that panicked, fixed other mentioned problems. * Fixed workspace focusing and handling numbered workspaces with `move-workspace-to-index` * Fixed more inconsistencies with move-workspace-to-monitor * Added back `self.workspace_switch = None` * Reordered some workspace cleanup logic * Fix formatting * Add missing blank lines * Fix moving workspace to same monitor and wrong current index updating * Move function up and add fixme comment --------- Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com>
2025-01-25Add clipboard disable-primary settingpeelz
2025-01-23Add `scroll-factor` window rulebbb651
2025-01-23Add find_root_shell_surface() that goes through popupsIvan Molodetskikh
2025-01-23Add toggle-window-rule-opacity actionIvan Molodetskikh
2025-01-21Implement shadows for layer surfacesIvan Molodetskikh
2025-01-21Extract Niri::update_shaders()Ivan Molodetskikh
2025-01-21Add update_render_elements() to MappedLayerIvan Molodetskikh
2025-01-21tile: Rename update() to update_render_elements()Ivan Molodetskikh
2025-01-21Fix two commentsIvan Molodetskikh
2025-01-18Remove Vec from Shadow::render()Ivan Molodetskikh
2025-01-18implement `keyboard-shortcuts-inhibit` and `wlr-virtual-pointer` (#630)sodiboo
* stub keyboard-shortcuts-inhibit and virtual-pointer impls * implement keyboard-shortcuts-inhibit * implement virtual-pointer * deal with supressed key release edge-case; add allow-inhibiting property * add toggle-keyboard-shortcuts-inhibit bind * add InputBackend extensions; use Device::output() for absolute pos events * add a `State` parameter to the backend exts and better document future intent * Add some tests for is_inhibiting_shortcuts --------- Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com>
2025-01-17Implement window shadowsIvan Molodetskikh
2025-01-17dbus: DisplayConfig: implement apply_monitors_configVal Packett
This enables gnome-control-center to apply display configuration changes. Only temporarily, persistence is ignored currently.
2025-01-17dbus: DisplayConfig: report fractional scales as supportedVal Packett
2025-01-17dbus: DisplayConfig: report disabled monitors in get_current_stateVal Packett
This is required for gnome-control-center to be able to turn monitors back on.
2025-01-17dbus: DisplayConfig: add properties required by display settings panelVal Packett
2025-01-15Remove obsolete commentIvan Molodetskikh
2025-01-15Rename FoIPosition to FloatingPositionIvan Molodetskikh
2025-01-14clipped_surface: Store complete uniforms in the structIvan Molodetskikh
This mistake shall never happen again.
2025-01-14Add missing clipped surface uniformIvan Molodetskikh
2025-01-14add write-to-disk argument to screenshot actionsGustav Sörnäs
2025-01-13Support `WAYLAND_SOCKET` in winit backendbbb651
I know of a single compositor that supports `WAYLAND_SOCKET` but not `WAYLAND_DISPLAY`: https://gitlab.freedesktop.org/mstoeckl/windowtolayer This should also make niri more robust against accidentally setting `WAYLAND_SOCKET` when starting as a session, before programs could fail if they preffered `WAYLAND_SOCKET` over `WAYLAND_DISPLAY`
2025-01-12use standard padding syntax instead of implementing our ownsodiboo
the padding of the two-digit-month can be implemented much more concisely using `std::fmt` syntax.
2025-01-10Format version as calver automaticallyIvan Molodetskikh
2025-01-10Add NIRI_BUILD_COMMIT env variable overrideIvan Molodetskikh
2025-01-10Add NIRI_BUILD_VERSION_STRING env variable to override the versionIvan Molodetskikh
2025-01-10Fix two manual let-elseIvan Molodetskikh
2025-01-10Fix new Clippy warningsIvan Molodetskikh
2025-01-10Allow workspace names to be changed dynamically (#904)rustn00b
* Add un/set workspace name actions * Add SetWorkspaceName reference to proptests * Simplify unname_workspace * Add ewaf version of set first workspace name test * Simplify more * Fix comment * Make workspace in set-workspace-name a positional option --------- Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com>
2025-01-09Add missing interactively moved window check in center_windowIvan Molodetskikh
2025-01-09Add a window swap operation (#899)rustn00b
Swap the active window with the a neighboring column's active window. --------- Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com> Take into account PR comments - no longer behave like an expel when a swap is made in a direction where there is no column to swap with - fix janky animation