aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
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-23Don't block things out for pick-colorIvan Molodetskikh
It's interactive so it's fine.
2025-03-23dbus/gnome_shell_screenshot: Fix pick_color return typeIvan Molodetskikh
2025-03-22input: Suppress release from Pick grab clicksIvan Molodetskikh
Otherwise, it would trigger something inside the window.
2025-03-22feat: support color picker functionalitynnyyxxxx
chore: format code refactor: improve quality feat: implement gnomes PickColor method refactor: minor code extraction misc: fix reviews fixes
2025-03-22layout: Reset unfullscreen view offset when removing windowIvan Molodetskikh
Another old bug found by randomized tests after I expanded the testing mock window.
2025-03-22main: Log to stderr instead of stdoutJon Heinritz
Currently we can't use logging in paths like niri msg that have meaningful stdout. Logging to stderr makes that possible. Even if we don't want to log anything in niri msg code paths, it's easy to have something accidentally log.
2025-03-22Add option to warp-mouse-to-focus to always centerFlorian Finkernagel
2025-03-22hotkey_overlay: rename ISO_Level{3,5}_Shift to Mod{5,3}peelz
2025-03-22Add mod-key and mod-key-nested settingspeelz
2025-03-17Track uncommitted windowed fullscreen stateIvan Molodetskikh
Alright, this is the proper implementation. No more flickering.
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-17layout: Rename argument from window to idIvan Molodetskikh
2025-03-17layout: Don't forget to call on_commit() for the interactively moved windowIvan Molodetskikh
2025-03-17layout/tests: Implement going into fullscreen stateIvan Molodetskikh
2025-03-17layout/tile: Don't take fullscreen into account in min/max sizeIvan Molodetskikh
They are used strictly for non-fullscreen size computation.
2025-03-17layout: Verify moved tile invariantsIvan Molodetskikh
2025-03-17layout: Test that interactively moved window is not pending fullscreenIvan Molodetskikh
2025-03-17Refactor request_fullscreen() to be an argument on request_size()Ivan Molodetskikh
2025-03-17layout: Switch two places to workspaces_mut()Ivan Molodetskikh
2025-03-17Add wait-for-frame-completion-in-pipewire debug flag for NVIDIA screencastsCole Leavitt
2025-03-16Keep buffer size when switching dynamic cast to NothingIvan Molodetskikh
Otherwise, we won't actually clear it because it'll become Pending.
2025-03-15Implement dynamic screencast targetIvan Molodetskikh
2025-03-15Move CastTarget to src/niri.rsIvan Molodetskikh
2025-03-15Use windows() instead of with_windows()Ivan Molodetskikh
2025-03-15Store cast Stream ID, use it for Redraw requestIvan Molodetskikh
Unlike StopCast, Redraw targets a specific Cast. Use the stream ID to identify it.
2025-03-14Add move-column-to-index actionDuncan Overbruck
2025-03-14Add focus-column (by index) actionDuncan Overbruck
2025-03-14layout: Preserve previous view offset on consume-leftIvan Molodetskikh
2025-03-13Try default when configured xkb keymap fails to compileIvan Molodetskikh
Fixes panic at startup.
2025-03-13Wait for lock surfaces before lockingIvan Molodetskikh
Fixes the red flash when locking.
2025-03-13Extract utils::is_mapped()Ivan Molodetskikh
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-10Add Shell completions (#1226)Jon Heinritz
* feat(cli): add subcommand to generate shell completions * Update src/cli.rs Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com> --------- Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com>
2025-03-10Keep track of RenderElementStates in offscreensIvan Molodetskikh
This both avoids sending frame callbacks to surfaces invisible on the offscreen (fixing Firefox with subsurface compositing in the process), and fixes searching for split popups during the resize animation.
2025-03-10Store offscreen element id on Mapped instead of user dataIvan Molodetskikh
We don't need user data for this.
2025-03-10Make interactively moved window semitransparentIvan Molodetskikh
2025-03-10Offscreen semitransparent tilesIvan Molodetskikh
Now that offscreen does damage tracking, we can reasonably do this. Note this only affects full-tile opacity, not window opacity.
2025-03-10layout/tile: Use animated tile size for open anim geoIvan Molodetskikh
This is the right value to use as the texture will also match the animated size.
2025-03-10tile: Use OffscreenBuffer for resize animsIvan Molodetskikh
OffscreenBuffer knows how to avoid recreating the texture every frame.
2025-03-10render_helpers/resize: Fix logic to allow for partially-filled textureIvan Molodetskikh
"texture geo" defines offset and src size, rather than the full texture size.
2025-03-10offscreen: Don't recreate if size decreasedIvan Molodetskikh
2025-03-10offscreen: Track and return damageIvan Molodetskikh
This is the second part of the damage equation: now the offscreen element itself reports correct damage, so partial redraws to the texture don't cause full redraws of the texture element itself.
2025-03-10offscreen: Take damage into account when renderingIvan Molodetskikh
Does not yet signal the damage outside, but does skip rerendering if there was no damage.
2025-03-10Cache texture in OpenAnimationIvan Molodetskikh
Don't recreate it unless the size changes. This lays the groundwork for also tracking damage in the future.