Commit Graph

1940 Commits

Author SHA1 Message Date
Ivan Molodetskikh b0af1129c9 Include filename in screenshot-path 2023-10-31 14:23:54 +04:00
Ivan Molodetskikh 02f6b418fe [cfg-breaking] Change colors to 0-255 instead of 0.-1. 2023-10-31 09:07:11 +04:00
Ivan Molodetskikh 8fa5bf9a36 Make screenshot path configurable 2023-10-31 08:57:44 +04:00
Ivan Molodetskikh d854c2d699 Change cursor to crosshairs when taking a screenshot 2023-10-31 07:16:36 +04:00
Ivan Molodetskikh 25e701d9ce screenshot: Don't ignore mouse releases on missing output 2023-10-31 07:08:35 +04:00
Ivan Molodetskikh 60f8bbbed4 Add area screenshots to README 2023-10-30 20:55:46 +04:00
Ivan Molodetskikh 073b52c3e6 Implement area selection screenshots 2023-10-30 20:29:03 +04:00
Ivan Molodetskikh 31f6b32fa3 Extract render_to_texture() 2023-10-30 20:28:13 +04:00
Ivan Molodetskikh 76db55c38c Don't block pointer focus refresh on transitions during lock 2023-10-30 20:19:51 +04:00
Ivan Molodetskikh 2ca9f3ff80 Split if into two for readability 2023-10-30 14:28:04 +04:00
Ivan Molodetskikh c39b8a4981 Fix Clippy warning 2023-10-30 14:21:25 +04:00
Ivan Molodetskikh bc64452bab Replace test imports with super::* 2023-10-30 14:21:07 +04:00
Ivan Molodetskikh 155a239fcc Rename Screenshot to ScreenshotScreen 2023-10-30 14:02:42 +04:00
Ivan Molodetskikh 088877889d Add cursor-shape protocol 2023-10-30 14:00:27 +04:00
Kirill Chibisov 5c24754435 Don't send key on release from niri actions
Some clients run logic on `Release`, thus don't send the key originally
used for running `niri` actions.

Fixes #28.
2023-10-29 13:59:34 +04:00
Kirill Chibisov 0a2052945e Add support for wl_compositor@v6 2023-10-29 13:58:48 +04:00
Ivan Molodetskikh 49a8f156f3 Add FUNDING.yml 2023-10-29 11:24:39 +04:00
Ivan Molodetskikh e73f33d6a3 Draw background with a solid color buffer 2023-10-29 10:45:24 +04:00
Ivan Molodetskikh 27e2648bd4 Remove some now-unnecessary &muts 2023-10-29 10:45:24 +04:00
Ivan Molodetskikh 5e543b8dc6 Move cursor surface alive check to refresh() 2023-10-29 10:45:24 +04:00
Ivan Molodetskikh 0e0764ef37 cursor: Make cache.get() accept &self 2023-10-29 10:45:24 +04:00
Kirill Chibisov 345428bce7 Drop GbmDevice in the end
The `GbmDevice` must be destroyed after destroying all the objects
associated with it.
2023-10-27 16:48:49 +04:00
Ivan Molodetskikh 64ac31668d Remove time crate in favor of manual impl
Cuts down a few more dependencies.
2023-10-24 19:22:02 +04:00
Ivan Molodetskikh 909a45db6f Use png crate directly instead of image
Reduce dependencies a bit.
2023-10-24 17:49:08 +04:00
Kirill Chibisov c6ec36f422 Update smithay to the latest git
This fixes IME handling.
2023-10-24 17:26:01 +04:00
Ivan Molodetskikh 8a06bf1558 Update README 2023-10-24 15:06:09 +04:00
Ivan Molodetskikh b20d8e7062 Implement ext-session-lock 2023-10-24 15:06:07 +04:00
Ivan Molodetskikh 3fd421f13f Update Smithay 2023-10-24 15:05:14 +04:00
Ivan Molodetskikh d254731885 Use correct workspace vertical position for rendering 2023-10-21 20:58:30 +04:00
Ivan Molodetskikh 5156ab1dcb Update pointer focus before input
During an animation, our pointer might have updated.
2023-10-21 20:58:30 +04:00
Ivan Molodetskikh fb866c63e5 Extract update_pointer_focus() 2023-10-21 20:58:30 +04:00
Ivan Molodetskikh bae9575cc1 Rename refresh_cursor_focus() into pointer 2023-10-21 20:58:30 +04:00
Ivan Molodetskikh 8bde252ba4 Stop updating focus during transitions
This also includes touchpad swipes.
2023-10-21 20:58:30 +04:00
Ivan Molodetskikh 29ddd7006b Remove assert on activating window on inactive workspace 2023-10-21 20:58:30 +04:00
Ivan Molodetskikh a09a073d2d Rename variables to be less confusing 2023-10-21 20:58:30 +04:00
Ivan Molodetskikh ccce8d3141 Crop workspaces during transition tightly 2023-10-21 20:58:30 +04:00
Kirill Chibisov f3e04981d8 Try to pick user login shell instead of assuming bash
The trick is inspired by `gnome-session`.
2023-10-17 19:05:58 +04:00
Ivan Molodetskikh 58f6b30325 Send tiled state when prefer-no-csd is set 2023-10-16 15:21:43 +04:00
Ivan Molodetskikh 052ecdbe2a Check for ongoing animations earlier
Removes the inconsistency that when animating towards an empty
pointer position, the focus change would not wait until the end of the
animation.
2023-10-15 18:58:48 +04:00
Ivan Molodetskikh da59dfc5b4 Refresh pointer focus continuously
Fixes pointer focus not updating after:
- switching workspaces
- switching between windows so they move around
- client appearing below cursor
- client resizing to appear below cursor

And all other similar cases. Hopefully this doesn't slow things down
too much. Preliminary tracy analysis seems to indicate that it doesn't.
2023-10-15 16:33:24 +04:00
Ivan Molodetskikh 67ea378ff7 Add new workspace binds to README 2023-10-14 20:48:53 +04:00
Ivan Molodetskikh 6f909beabb Update dependencies 2023-10-14 20:44:43 +04:00
Ivan Molodetskikh f7669a55ad Add binds to move workspaces up and down 2023-10-14 20:42:44 +04:00
Ivan Molodetskikh 736191e826 Add check for no empty workspaces invariant 2023-10-14 20:42:44 +04:00
Ivan Molodetskikh d1f431fd7e Fix moving empty workspaces to original output 2023-10-14 20:42:44 +04:00
Ivan Molodetskikh c29fdcaccb Fix by-idx workspace actions not cleaning up 2023-10-14 20:42:44 +04:00
Ivan Molodetskikh 8a08e01a2d Fix removing output not keeping empty focus on primary 2023-10-14 20:42:44 +04:00
Ivan Molodetskikh 1831d68915 Fix assertion message 2023-10-14 20:42:44 +04:00
Ivan Molodetskikh d59fe34243 Make clear color a const
The damage tracker doesn't understand clear color changes.
2023-10-13 13:30:36 +04:00
Ivan Molodetskikh 29053a807b Return RenderResult from render() 2023-10-13 13:30:36 +04:00