vanderlokken
67361f88fd
Add the LoadConfigFile action ( #2163 )
...
* Add the `LoadConfigFile` action
* fixes
---------
Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com >
2025-08-09 12:20:08 +00:00
Ivan Molodetskikh
055a94de3d
Reload libinput settings when trackball, tablet and touch change
...
Somehow missed this before.
2025-08-07 17:15:30 +03:00
Ivan Molodetskikh
f49ecc31c4
pw_utils: Wait for frame completion before queueing
...
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-08-04 14:36:34 +02:00
Ivan Molodetskikh
43577f4d97
pw_utils: Store LoopHandle
2025-08-04 14:36:34 +02:00
Ivan Molodetskikh
2e3935d77d
pw_utils: Extract shared state to CastInner
2025-08-04 14:36:34 +02:00
Ivan Molodetskikh
672bf3e1ff
Implement org.fd.a11y KeyboardMonitor
...
Makes Orca work with niri:
- keyboard watching and announcing everywhere (not just GTK 3 windows)
- grabs for the Orca modifier (with double-press to pass through) and keystrokes
2025-07-31 13:02:54 +02:00
Ivan Molodetskikh
0e3d078a85
Implement fetching xkb options from org.freedesktop.locale1
2025-07-15 18:19:11 +03:00
Ivan Molodetskikh
d85eaf9799
Fix LockedHint locked condition
2025-07-14 14:39:57 +03:00
peelz
25cbb739ae
Set logind LockedHint on lock/unlock ( #1763 )
...
* Set logind LockedHint on lock/unlock
* fixup! Set logind LockedHint on lock/unlock
- use warn!() instead of error!()
- extract dbus call into a separate method
* fixup! Set logind LockedHint on lock/unlock
- Update LockedHint in refresh_and_flush_clients
* fixup! Set logind LockedHint on lock/unlock
woops
* fixup! Set logind LockedHint on lock/unlock
- only call SetLockedHint if niri was run with `--session`
* fixes
---------
Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com >
2025-07-14 11:34:10 +00:00
abmantis
51b6a495c5
Simplify pointer handling in constraint check
...
Minor change so that `get_pointer()` (which has a lock) does not get
called twice. Also moved the call to `current_location()` to the scope
where it is needed.
2025-07-14 06:48:56 +03:00
Ivan Molodetskikh
dfb3683187
Fix new Clippy warnings
2025-07-13 12:54:03 +03:00
Ivan Molodetskikh
ce9ba00d54
Implement ext-workspace
2025-07-13 11:43:59 +03:00
Ivan Molodetskikh
f3f6e79eec
Return app ids with ".desktop" appended to Shell.Introspect
...
This isn't the correct solution, but it seems to work often enough for window
icons in the screencast dialog.
2025-06-13 09:55:08 +03:00
Ivan Molodetskikh
7aec37f5c9
Extract output_left/right/up/down/previous/next_of()
2025-06-11 21:09:55 +03:00
Ivan Molodetskikh
0407ac5e4c
Ignore lock surfaces from unrelated clients
...
gtklock doesn't mind the fact that it got denied the lock, and just creates a
new lock surface anyway. And we happily replace the running lock with it.
2025-06-10 17:03:32 +03:00
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