Commit Graph

72 Commits

Author SHA1 Message Date
Ivan Molodetskikh 93369e1958 Implement primary selecton
Firefox clipboard doesn't always work without it.
2023-09-26 22:22:11 +04:00
Ivan Molodetskikh 953d1064c2 Add layer shell exclusive zone support 2023-09-26 20:12:04 +04:00
Ivan Molodetskikh 4a585a3293 Add initial config hot reloading 2023-09-26 19:24:50 +04:00
Ivan Molodetskikh 80928632ba Add prefer-no-csd option 2023-09-26 13:45:03 +04:00
Ivan Molodetskikh a62e1cbef6 Make focus ring configurable 2023-09-26 13:45:03 +04:00
Ivan Molodetskikh 906ee36a93 Skip rendering when backend is inactive 2023-09-26 13:45:03 +04:00
Ivan Molodetskikh ac16717f4e Avoid unwraps in more places 2023-09-26 13:45:03 +04:00
Ivan Molodetskikh fb43dcd61e Remove obsolete comment 2023-09-26 13:45:03 +04:00
Ivan Molodetskikh cd4f7c0378 Remove LoopData
The calloop Smithay update finally lets me do this.
2023-09-26 13:45:03 +04:00
Ivan Molodetskikh c422fdab0f Update Smithay 2023-09-26 13:45:03 +04:00
Ivan Molodetskikh f58e56d65a Add focus rings 2023-09-24 18:11:20 +04:00
Ivan Molodetskikh 109668fa30 Add output configuration & integer scaling support 2023-09-21 13:48:50 +04:00
Ivan Molodetskikh dbcd667877 niri: Fix Output global creation and removal 2023-09-21 13:48:50 +04:00
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