Ivan Molodetskikh
9fc731c115
Plot target presentation time offset
2023-09-20 11:51:25 +04:00
Ivan Molodetskikh
1963aaa775
Add initial impl of org.gnome.Shell.Screenshot
...
Enough to make the portal all-outputs screenshot work. With this,
Flameshot kinda-works.
2023-09-20 09:28:23 +04:00
Ivan Molodetskikh
8b4f2cf483
niri: Add include_pointer argument to render()
2023-09-20 09:22:39 +04:00
Ivan Molodetskikh
1c85230d18
niri: Make render helpers generic over RenderElement
2023-09-20 09:22:15 +04:00
Ivan Molodetskikh
e88577bc82
niri: Extract render_to_vec()
2023-09-19 19:08:45 +04:00
Ivan Molodetskikh
69f561cd6f
Extract make_screenshot_path()
2023-09-19 19:05:03 +04:00
Ivan Molodetskikh
99b945c385
Allow replacement of screencast and displayconfig dbus
...
This way the session can start with those dbus services registered, but
then for debugging they can be subsequently replaced anyway.
2023-09-19 16:46:13 +04:00
Kirill Chibisov
b66b4399ad
Add keyboard.repeat-rate and keyboard.repeat-delay
...
Add option to let the users configure the keyboard repeat delay and
rate. Also change the default values to mimic the Xorg, which is
also the values used by default by the majority of the compositors.
Fixes : #7
2023-09-16 18:13:52 +03:00
Ivan Molodetskikh
89f9e11f65
Store Config as Rc<RefCell<>> field
2023-09-14 22:43:24 +04:00
Ivan Molodetskikh
092095ead0
Add debug flag to wait for frame completion
2023-09-14 09:33:42 +04:00
Ivan Molodetskikh
07c4632165
Update dependencies
2023-09-11 19:24:09 +04:00
Ivan Molodetskikh
d52ca23caa
Add initial monitor screencast portal impl
...
DmaBuf monitor screencasting through xdg-dekstop-portal-gnome!
Somewhat limited currently, e.g. the cursor is always embedded. But gets
most of the job done.
2023-09-08 23:53:56 +04:00
Ivan Molodetskikh
72d6b387e7
Fix extra ref
2023-09-05 17:28:07 +04:00
Ivan Molodetskikh
5225bc9e55
Add configuration file
2023-09-05 12:58:59 +04:00
Ivan Molodetskikh
1947a77fd8
niri: Remove start_time
2023-09-04 14:27:48 +04:00
Ivan Molodetskikh
7eaf9ec2b0
Use monotonic time as frame callback time
2023-09-04 14:27:16 +04:00
Ivan Molodetskikh
95cbe2a636
Send scanout feedbacks to surfaces
2023-09-03 15:15:55 +04:00
Ivan Molodetskikh
03a9fd8af3
Move all traits one layer up
2023-09-03 14:10:02 +04:00
Ivan Molodetskikh
dcc6a55777
Move LoopData into niri file
2023-09-03 13:25:43 +04:00
Ivan Molodetskikh
73d7a1d73d
Remove DisplayHandle from LoopData
2023-09-03 13:14:20 +04:00
Ivan Molodetskikh
5a707c879b
Replace Backend trait with enum
2023-09-03 13:04:32 +04:00
Ivan Molodetskikh
2187661ff8
Inhibit power key when systemd service
...
This way we can suspend on power key rather than poweroff.
2023-09-03 10:28:00 +04:00
Ivan Molodetskikh
2c1d2ce0d3
Add touchpad gesture support
2023-09-02 15:09:07 +04:00
Ivan Molodetskikh
af7b978eb4
Implement taking a monitor screenshot
2023-08-27 20:00:28 +04:00
Ivan Molodetskikh
1575753b69
Extract different parts of rendering into functions
2023-08-27 17:44:22 +04:00
Ivan Molodetskikh
f0611cd502
Wait for import-environment to finish
2023-08-27 11:26:47 +04:00
Ivan Molodetskikh
dd5bcde581
Unset NOTIFY_SOCKET so it's not inherited
2023-08-27 10:33:58 +04:00
Ivan Molodetskikh
e09a6d6392
Add trivial Mutter ServiceChannel impl
...
Makes xdp-gnome work.
2023-08-27 10:29:06 +04:00
Ivan Molodetskikh
d268cfcf9f
Add initial session / systemd integration
2023-08-27 07:37:36 +04:00
Ivan Molodetskikh
b5e7782970
Implement tablet-manager
2023-08-16 11:43:52 +04:00
Ivan Molodetskikh
6e36ccb1bd
Implement wp-presentation
2023-08-16 10:59:34 +04:00
Ivan Molodetskikh
d96daf68a7
Add binds to move between monitors
2023-08-16 08:03:20 +04:00
Ivan Molodetskikh
81e8e6e7ce
Hardcode other xkb options I use
2023-08-16 07:11:57 +04:00
Ivan Molodetskikh
4b8abcfba3
Remove maximize and window menu capabilities
...
At least for now, niri doesn't implement those.
2023-08-16 07:10:44 +04:00
Ivan Molodetskikh
085cd147a9
Send frame callbacks to cursor and dnd icon
2023-08-16 07:08:57 +04:00
Ivan Molodetskikh
90d6e303ca
Use xcursor default cursor, or fallback from Anvil
2023-08-15 17:17:42 +04:00
Ivan Molodetskikh
162c74c259
Add dnd icon support
2023-08-15 16:40:54 +04:00
Ivan Molodetskikh
2465bba085
Add client cursor support
2023-08-15 16:19:05 +04:00
Ivan Molodetskikh
b0d129951c
Extract pointer_element()
2023-08-15 16:08:37 +04:00
Ivan Molodetskikh
6ba4d01fdd
Remove one unused import
2023-08-15 15:02:41 +04:00
Ivan Molodetskikh
37cbed890f
Add initial layer-shell implementation
...
Those surfaces never receive mouse focus and always keyboard focus,
which may not be always good, but it'll do for now.
2023-08-15 12:49:26 +04:00
Ivan Molodetskikh
dbf998119f
Move things to Monitor impl
2023-08-14 18:37:33 +04:00
Ivan Molodetskikh
0e3b800337
Add focus change animations
2023-08-14 18:37:33 +04:00
Ivan Molodetskikh
c65a4f1624
Add frame clock
...
Tracks the presentation time and allows querying the next presentation
time.
2023-08-14 15:53:24 +04:00
Ivan Molodetskikh
8f71842e7c
Refactor everything again, make more things work
2023-08-13 19:55:37 +04:00
Ivan Molodetskikh
95c810c855
Refactor everything, add initial tiling code
2023-08-13 12:46:53 +04:00
Ivan Molodetskikh
e8e4853e93
Fix whitespace
2023-08-11 11:38:12 +04:00
Ivan Molodetskikh
f9c7fe4112
Move periodic tasks to event loop closure
2023-08-11 08:28:01 +04:00
Ivan Molodetskikh
3959d1eaa1
Add draft popup implementation
...
Missing grabs and positioning but gets the job sufficiently done for now.
2023-08-11 08:22:34 +04:00
Ivan Molodetskikh
91c7763aab
Add hardcoded us,ru layout and Super+Space switch
2023-08-10 18:14:11 +04:00