Ivan Molodetskikh
6bab912383
Accept FloatOrInt for input accel_speed, animation slowdown
...
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-09 14:04:56 +03:00
Ivan Molodetskikh
f918eabe6a
Implement xwayland-satellite integration
2025-06-07 13:12:50 -07:00
Ivan Molodetskikh
a605a3f016
Account for hidden pointer in move_cursor()
2025-05-23 23:08:51 +03:00
Ivan Molodetskikh
ef44adea69
Set pointer contents straight to nothing when disabling pointer
2025-05-23 23:08:51 +03:00
Duncan Overbruck
7fdb918cd0
input: do not revert fully invisible cursor to hidden ( #1650 )
...
* input: do not force redraw to hide an already hidden cursor
* more
---------
Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com >
2025-05-23 05:24:24 +00:00
Ivan Molodetskikh
3f2b7e63ba
Improve comment in on-demand layer-shell keyboard alive check
2025-05-19 09:18:07 +03:00
Ivan Molodetskikh
c98537a2b0
Implement baba-is-float for layers
2025-05-12 09:10:59 +03:00
Ivan Molodetskikh
fb5c5204e8
Extract confirm_screenshot()
2025-05-09 15:41:57 +03:00
Ivan Molodetskikh
09be90f4e6
Add touch selection support to the screenshot UI
2025-05-09 10:28:20 +03:00
Ivan Molodetskikh
497f186422
Add layout background-color setting
2025-05-06 17:34:40 +03:00
Ivan Molodetskikh
3e31c134a6
Implement place-within-backdrop layer rule
2025-05-06 17:34:40 +03:00
Ivan Molodetskikh
fe682938db
Simplify exclusive focus on layer check
2025-05-06 17:34:40 +03:00
Ivan Molodetskikh
7b4cf094ef
Draw workspace shadows behind all workspaces
2025-05-01 10:10:11 +03:00
erdii
82dabc21f3
feat: implement support to enable numlock at startup
...
Signed-off-by: erdii <me@erdii.engineering >
2025-04-30 09:54:19 -07:00
Ivan Molodetskikh
d5c0c74d2c
Fix hot corners preventing focus even when disabled
2025-04-29 08:24:45 +03:00
Ivan Molodetskikh
fd389af6d8
Add backdrop-color setting to overview {}
2025-04-28 09:14:43 +03:00
Ivan Molodetskikh
db09727b18
Replace Smithay's SolidColor elements with ours
...
Must've forgotten about these back when I replaced others.
2025-04-28 09:05:55 +03:00
bogdanov
758cca5432
Fix pointer hiding so that it is no longer annoying ( #1426 )
...
* replace `pointer_hidden` with `pointer_visiblity`
* disable hidden pointer after content underneath has changed
* fixes
---------
Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com >
2025-04-27 06:25:36 +00:00
Ivan Molodetskikh
1835b532d9
Implement interactive move to a new workspace above/between
2025-04-25 02:00:18 -07:00
Ivan Molodetskikh
e6d82d3ee3
Implement top-left hot corner to toggle the Overview
...
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-25 02:00:18 -07:00
Ivan Molodetskikh
59de6918b3
overview: Add two-finger touchpad scroll
2025-04-25 02:00:18 -07:00
Ivan Molodetskikh
af1fca35bb
Implement an Overview
2025-04-25 02:00:18 -07:00
Ivan Molodetskikh
9571d149b2
Render workspaces separately with gaps between
...
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-04-25 02:00:18 -07:00
Ivan Molodetskikh
8b878f355f
Put interactively moved window on top of background and bottom layer popups
2025-04-25 02:00:18 -07:00
Ivan Molodetskikh
395b6d9a4f
layout: Extract interactive_moved_window_under() and add output check
...
Fixes interactively moved window getting input on every output rather
than just its own.
2025-04-25 02:00:18 -07:00
Ivan Molodetskikh
25f24f668c
Extract mapped_hit_data()
2025-04-25 02:00:18 -07:00
Ivan Molodetskikh
9e5e0c85bb
Simplify condition
2025-04-25 02:00:18 -07:00
Ivan Molodetskikh
5cd8040d1a
Extract is_layout_obscured_under()
2025-04-25 02:00:18 -07:00
Ivan Molodetskikh
86351938f2
Put the top layer above bottom and background layer popups
...
Makes it consistent with how window popups are below the top layer, also
will make more sense for the overview.
2025-04-25 02:00:18 -07:00
Ivan Molodetskikh
15ba2ab300
Rename render_floating_for_output to render_interactive_move_for_output
2025-04-17 11:31:34 +03:00
lualeet
8d43efe4ac
Add option 'focus-at-startup' to focus a chosen output on start ( #1323 )
...
* 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-29 10:13:59 +00:00
nnyyxxxx
7210045b2a
feat: support color picker functionality
...
chore: format code
refactor: improve quality
feat: implement gnomes PickColor method
refactor: minor code extraction
misc: fix reviews
fixes
2025-03-22 23:14:51 -07:00
Florian Finkernagel
7f72c358d5
Add option to warp-mouse-to-focus to always center
2025-03-22 01:00:43 -07:00
peelz
c3609efb7a
Add mod-key and mod-key-nested settings
2025-03-22 00:03:33 -07:00
Cole Leavitt
5b6b6a5fe1
Add wait-for-frame-completion-in-pipewire debug flag for NVIDIA screencasts
2025-03-17 12:03:43 -07:00
Ivan Molodetskikh
287480b541
Keep buffer size when switching dynamic cast to Nothing
...
Otherwise, we won't actually clear it because it'll become Pending.
2025-03-16 08:32:45 +03:00
Ivan Molodetskikh
31891e6642
Implement dynamic screencast target
2025-03-15 09:55:46 -07:00
Ivan Molodetskikh
9e560e7e60
Move CastTarget to src/niri.rs
2025-03-15 11:22:30 +03:00
Ivan Molodetskikh
cee2ec7ab7
Use windows() instead of with_windows()
2025-03-15 11:18:54 +03:00
Ivan Molodetskikh
8c4ebb00a1
Store cast Stream ID, use it for Redraw request
...
Unlike StopCast, Redraw targets a specific Cast. Use the stream ID to
identify it.
2025-03-15 10:23:00 +03:00
Ivan Molodetskikh
ee0e2c7f1b
Try default when configured xkb keymap fails to compile
...
Fixes panic at startup.
2025-03-13 21:39:07 +03:00
Ivan Molodetskikh
4f16be9e4d
Wait for lock surfaces before locking
...
Fixes the red flash when locking.
2025-03-13 19:09:32 +03:00
Ivan Molodetskikh
1c6037e612
Add tiled-state window rule, update the tiled state live
2025-03-13 14:14:54 +03:00
Toby Bridle
47dd338340
feat: 🎉 add show-pointer for Screenshot and ScreenshotScreen
2025-03-10 22:31:50 -07:00
Ivan Molodetskikh
b351f6ff22
Keep track of RenderElementStates in offscreens
...
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-10 07:59:14 +03:00
Ivan Molodetskikh
12817a682d
Store offscreen element id on Mapped instead of user data
...
We don't need user data for this.
2025-03-10 07:59:14 +03:00
Ivan Molodetskikh
1c521e4831
Update Smithay (Framebuffer type)
2025-03-10 07:59:14 +03:00
Ivan Molodetskikh
70dcd229cf
Extract encompassing_geo()
2025-02-27 10:38:36 +03:00
bbb651 🇮🇱
16405b9b2b
Implement niri msg pick-window
...
* feat: `niri msg pick-window`
* fixes
---------
Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com >
2025-02-26 15:22:27 +03:00
Ivan Molodetskikh
d27d6a504d
Make idle notify lazy
2025-02-17 09:09:59 +03:00