Commit Graph

45 Commits

Author SHA1 Message Date
Ivan Molodetskikh 956bf7c0a8 Add missing mouse warp to commit unmap 2024-04-09 23:42:01 +04:00
Ivan Molodetskikh f3f02aca20 Lift output clones from queue_redraw() 2024-03-23 15:45:44 +04:00
Ivan Molodetskikh db49deb7fd Implement draw-border-with-background window rule 2024-03-19 18:29:13 +04:00
Ivan Molodetskikh 3963f537a4 Wrap mapped windows in a Mapped 2024-03-19 18:29:13 +04:00
Ivan Molodetskikh a011b385d8 Warp mouse to focus on new window appearing 2024-03-18 19:31:11 +04:00
Ivan Molodetskikh 5628bf7d77 Update Smithay 2024-02-28 13:23:15 +04:00
Christian Meissl 5ac350d51c chore: update smithay 2024-02-28 13:19:41 +04:00
Ivan Molodetskikh 6a587245eb Add open-maximized window rule 2024-02-23 14:24:39 +04:00
Ivan Molodetskikh 2317021a7c Implement explicit unmapped window state tracking 2024-02-23 14:01:32 +04:00
Ivan Molodetskikh befdebfa03 Add the beginnings of window rules 2024-02-14 08:32:14 +04:00
Ivan Molodetskikh 749ee5d627 Do initial configuration right before sending initial configure
Let the toplevel fill in some details about itself.
2024-02-13 17:47:11 +04:00
Ivan Molodetskikh b9116c579a Implement idle-notify and idle-inhibit 2024-02-09 15:50:40 +04:00
Ivan Molodetskikh f9085db564 Implement window open animations 2024-02-07 13:16:54 +04:00
Ivan Molodetskikh 9896fd67a0 Open dialogs to the right of their parent, don't steal focus 2024-02-07 10:49:01 +04:00
Ivan Molodetskikh 5cd31e5730 Implement multi-GPU support
Rendering always happens on the primary GPU.
2024-01-03 18:16:20 +04:00
Ivan Molodetskikh be2e551a89 Move clones up from find_window_and_output 2023-12-24 17:38:13 +04:00
Ivan Molodetskikh e259061cbc Implement popup unconstraining
Using my new Smithay implementation.
2023-12-19 20:56:00 +04:00
Ivan Molodetskikh c29a049245 Fix some cases of incomplete search for surface output
Most visibly, fixes screen not immediately redrawing upon layer-shell
popup commits.

There's still a number of places with questionable handling left, mostly
to do with subsurfaces (like, find_popup_root_surface() doesn't go up to
subsurfaces), and session-lock. I don't have good clients to test these.
2023-12-19 13:32:13 +04:00
Ivan Molodetskikh 9b3478a3d7 Prevent stealing focus from fullscreen clients
Got hit by that Syncthing disconnect dialog a few times while playing
games.
2023-12-05 15:28:31 +04:00
Ivan Molodetskikh e397f773bd Preserve column width when toggling off full width 2023-11-13 15:04:38 +04:00
Ivan Molodetskikh e1bfd981b3 Add default-column-width setting 2023-11-03 20:11:11 +04:00
Ivan Molodetskikh ee8404b9a9 Preserve column width on window actions
Fixes https://github.com/YaLTeR/niri/issues/53
2023-11-01 17:41:02 +04:00
Ivan Molodetskikh 088877889d Add cursor-shape protocol 2023-10-30 14:00:27 +04:00
Kirill Chibisov 0a2052945e Add support for wl_compositor@v6 2023-10-29 13:58:48 +04:00
Ivan Molodetskikh b20d8e7062 Implement ext-session-lock 2023-10-24 15:06:07 +04:00
Ivan Molodetskikh 6fcdb41922 Refactor layout for configurability, add preset-column-widths option
layout.rs finally gets a struct actually named Layout.
2023-10-05 09:25:07 +04:00
Ivan Molodetskikh 5cdd188d4b Change send_initial_configure_if_needed to accept ToplevelSurface 2023-09-29 13:48:14 +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 513763eaec layout: Replace add_window_to_output with add_window 2023-09-12 19:46:12 +04:00
Ivan Molodetskikh 180d07aab9 Redraw on cursor or DnD surface commits 2023-09-06 11:56:50 +04:00
Ivan Molodetskikh cc1c9d9325 Add initial dmabuf feedback implementation 2023-09-03 14:22:04 +04:00
Ivan Molodetskikh 03a9fd8af3 Move all traits one layer up 2023-09-03 14:10:02 +04:00
Ivan Molodetskikh 78090e1140 Remove some commented out code 2023-08-16 20:29:57 +04:00
Ivan Molodetskikh 30879ed30b Convert commit mark into a span 2023-08-15 18:17:12 +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 8cdd37b993 Update focus in one place 2023-08-15 12:03:10 +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 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 0ed5bad452 Add tracy profiling under a feature 2023-08-10 14:50:51 +04:00
Ivan Molodetskikh 9b073b2350 Redraw on demand rather than continuously 2023-08-10 14:50:51 +04:00
Ivan Molodetskikh 396ab93585 Restructure things and add tty backend 2023-08-10 14:50:51 +04:00
Ivan Molodetskikh c6838b08e2 Add rustfmt.toml and reformat 2023-08-10 14:49:38 +04:00
Ivan Molodetskikh ad3c3f8cef Init from smallvil 2023-08-10 14:49:38 +04:00