Ivan Molodetskikh
5ad5f29a92
Extract check_ops
2023-09-26 20:41:55 +04:00
Ivan Molodetskikh
756997ca83
Fix panic when adding previously-removed output sometimes
2023-09-26 20:36:48 +04:00
Ivan Molodetskikh
b7be8fcb75
Fix verify_invariants() asserts
2023-09-26 20:35:08 +04:00
Ivan Molodetskikh
953d1064c2
Add layer shell exclusive zone support
2023-09-26 20:12:04 +04:00
Ivan Molodetskikh
a62e1cbef6
Make focus ring configurable
2023-09-26 13:45:03 +04:00
Ivan Molodetskikh
f58e56d65a
Add focus rings
2023-09-24 18:11:20 +04:00
Ivan Molodetskikh
51df1aba01
layout: Focus prev column when removing just created column
...
This works similar to tabs in Firefox: when you create a tab and then
close it without focusing any other tabs, the focus returns to the
previously-focused tab, rather than the usual next tab. The logic is
that in this case, the new tab was likely transient, and the user wants
to get right back to what they were doing.
In niri's case, this also serves as a workaround for wl-clipboard
spawning and destroying a window, messing up the focus.
2023-09-24 10:08:43 +04:00
Ivan Molodetskikh
b3b1e082ac
layout: Preserve active column when column to the left is removed
2023-09-24 09:42:49 +04:00
Ivan Molodetskikh
109668fa30
Add output configuration & integer scaling support
2023-09-21 13:48:50 +04:00
Ivan Molodetskikh
cfa73c153c
layout: Fix workspace output updating
2023-09-21 13:48:50 +04:00
Ivan Molodetskikh
37ec524264
Add by-index workspace commands and binds
2023-09-16 12:14:02 +04:00
Ivan Molodetskikh
46403bd84a
layout: Correct view offset when swapping columns
2023-09-13 19:37:14 +04:00
Ivan Molodetskikh
219ca08836
Implement minimizing view movement on changes
...
Before this commit, windows were always left-aligned.
Now, when changing focus, if the window is fully visible, the view
doesn't move. If the window is not fully visible, the view is moved the
minimum amount.
2023-09-13 16:57:12 +04:00
Ivan Molodetskikh
84885fe5fb
layout: Add tests for various operations
2023-09-12 19:46:12 +04:00
Ivan Molodetskikh
99b4ea6541
layout: Fix assertion in verify_invariants()
2023-09-12 19:46:12 +04:00
Ivan Molodetskikh
513763eaec
layout: Replace add_window_to_output with add_window
2023-09-12 19:46:12 +04:00
Ivan Molodetskikh
18e29d0028
layout: Fix input to non-active window in column
2023-09-05 18:14:42 +04:00
Ivan Molodetskikh
95cbe2a636
Send scanout feedbacks to surfaces
2023-09-03 15:15:55 +04:00
Ivan Molodetskikh
1575753b69
Extract different parts of rendering into functions
2023-08-27 17:44:22 +04:00
Ivan Molodetskikh
78090e1140
Remove some commented out code
2023-08-16 20:29:57 +04:00
Ivan Molodetskikh
6e36ccb1bd
Implement wp-presentation
2023-08-16 10:59:34 +04:00
Ivan Molodetskikh
d4d2cefe50
Respect max window width
2023-08-16 10:03:24 +04:00
Ivan Molodetskikh
c8a60c4513
Use the correct min_size state
2023-08-16 09:59:27 +04:00
Ivan Molodetskikh
fc8f51da53
Put active window on top
2023-08-16 09:22:46 +04:00
Ivan Molodetskikh
6494df398d
Add basic fullscreen impl
2023-08-16 09:08:10 +04:00
Ivan Molodetskikh
d96daf68a7
Add binds to move between monitors
2023-08-16 08:03:20 +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
c05326d1b6
Add Mod+F to maximize
2023-08-14 18:37:33 +04:00
Ivan Molodetskikh
2a163bb4b5
Add Mod+R to toggle between preset widths
2023-08-14 18:37:33 +04:00
Ivan Molodetskikh
adbd53327c
Advance animations in process_input_event
2023-08-14 18:37:33 +04:00
Ivan Molodetskikh
99ab96d348
layout: Update workspace original output
2023-08-14 18:37:33 +04:00
Ivan Molodetskikh
b5c02253ff
Add workspace switch animations
2023-08-14 18:37:33 +04:00
Ivan Molodetskikh
dd23e0b6ee
Centralize workspace clean-up logic
2023-08-14 18:37:33 +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
430fb47cd6
Centralize sending configure
2023-08-14 14:48: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