Ivan Molodetskikh
71be19b234
Implement window resize animations
2024-04-13 11:07:23 +04:00
Ivan Molodetskikh
1888696567
Reimplement window closing anim in an efficient way
...
- Keep a root surface cache to be accessible in surface destroyed()
- Only snapshot during / right before closing, rather than every frame
- Store textures rather than elements to handle scale and alpha properly
2024-04-10 09:14:04 +04:00
Ivan Molodetskikh
dd011f1012
Implement window closing animations
2024-04-09 23:42:01 +04:00
Ivan Molodetskikh
4856522a7a
Implement window open shift in terms of window-movement
...
This removes the quite unobvious visual size, and fixes jerking when
opening multiple windows in quick succession.
2024-04-08 19:25:45 +04:00
Ivan Molodetskikh
493c8dc890
Implement block-out-from window rule, fix alpha on window screenshots
2024-03-24 10:22:56 +04:00
Ivan Molodetskikh
8b4a9d68e0
Implement opacity window rule
2024-03-24 08:30:26 +04:00
Ivan Molodetskikh
b7ed2fb82a
Add is-active window rule matcher
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
c61361de3c
Implement window rule reloading and min/max size rules
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
bbb4caeb8c
Remove remaining Window-specific functions
2024-03-19 18:29:13 +04:00
Ivan Molodetskikh
d421e1fbf8
Move PartialEq from LayoutElement to an associated type
2024-03-19 18:29:13 +04:00
FluxTape
23ac3d7323
Workspace back and forth ( #253 )
...
* implement workspace back and forth
* Make our own ID counter instead of SerialCounter, use a newtype
* Rename FocusWorkspaceBackAndForth to FocusWorkspacePrevious
* Add focus-workspace-previous to tests
* Don't special case in switch_workspace_previous
* Minor clean up
* Add switch_workspace_auto_back_and_forth to tests
* Skip animation on switch_workspace_previous
* Preserve previous_workspace_id on workspace movement
* Make Workspace::id private with a getter
Reduce the chance it gets overwritten.
* Add test for workspace ID uniqueness
* Update previous workspace ID upon moving workspace across monitors
---------
Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com >
2024-03-19 07:27:52 -07:00
Ivan Molodetskikh
5c0a1f4d6f
Fix spelling mistake
2024-03-12 10:42:09 +04:00
Ivan Molodetskikh
5f416abcf9
Change horizontal gesture to focus furthest window
2024-03-02 15:48:54 +04:00
Ivan Molodetskikh
e0ec6e5b11
Make vertical touchpad swipe inertial
...
Values and implementation are heavily inspired by AdwSwipeTracker.
2024-03-02 14:33:22 +04:00
sodiboo
24537ec2ba
Correctly handle parsing of Binds and DefaultColumnWidth ( #234 )
...
* add dev dependencies to flake
* parse only one default-column-width
* require exactly one action per bind, and unique keys for binds
* use proper filename for config errors if possible
* fix duplicate keybinds after invalid action, lose some sanity
2024-03-01 03:50:49 -08:00
Ivan Molodetskikh
28977d1d3f
Move workspace gesture into monitor & fix missing workspace cleanup
2024-02-29 09:51:49 +04:00
Ivan Molodetskikh
ba10bab010
Implement horizontal touchpad swipe
2024-02-29 09:51:49 +04:00
Christian Meissl
5ac350d51c
chore: update smithay
2024-02-28 13:19:41 +04:00
Ivan Molodetskikh
eb2dce1b53
Fix default width fixed not being honored with borders
2024-02-23 14:40:56 +04:00
Ivan Molodetskikh
f5b776a947
Fix unset default width causing a window resize right away
2024-02-23 14:31:35 +04:00
Ivan Molodetskikh
2317021a7c
Implement explicit unmapped window state tracking
2024-02-23 14:01:32 +04:00
Ivan Molodetskikh
af6485cd8c
Fix new warnings
2024-02-22 14:04:18 +04:00
Ivan Molodetskikh
73d2807b4b
Fix move_window_to_output losing window instead
2024-02-21 09:39:32 +04:00
Ivan Molodetskikh
9ce19ad7de
Use niri_render_elements! for the screenshot UI
2024-02-21 09:12:40 +04:00
Ivan Molodetskikh
befdebfa03
Add the beginnings of window rules
2024-02-14 08:32:14 +04:00
Ivan Molodetskikh
18f06a7acd
Fix border getting default values for focus ring
2024-02-12 09:34:54 +04:00
Ivan Molodetskikh
6e23073019
Move default_border() into FocusRing
2024-02-12 09:22:22 +04:00
Ivan Molodetskikh
93e16a6582
Implement niri msg action
2024-02-10 09:40:32 +04:00
Ivan Molodetskikh
6424a2738d
Make all animations configurable
2024-02-07 17:14:24 +04:00
Ivan Molodetskikh
753a90430a
animation: Accept ms as u32
...
Less boilerplate elsewhere.
2024-02-07 16:32:38 +04:00
Ivan Molodetskikh
f9085db564
Implement window open animations
2024-02-07 13:16:54 +04:00
Ivan Molodetskikh
4b8e04da04
Activate the new right_of window on its workspace
...
This way when a dialog opens on a different workspace, the user will see
it right away when they switch to that workspace.
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
e2b91c0c1c
layout: Fix refresh in tests
...
Didn't affect anything but still.
2024-02-06 19:09:27 +04:00
Ivan Molodetskikh
322b5cbac7
Add Layout::with_options()
2024-02-06 19:09:15 +04:00
Ivan Molodetskikh
b2298db5c5
Split render_helpers.rs
2024-02-06 11:25:25 +04:00
Ivan Molodetskikh
1706a46b2b
layout: Mark some things as pub
2024-02-05 17:40:16 +04:00
Dennis Ranke
3a23417e98
Add consume-or-expel-window-left/right commands
2024-02-05 14:09:47 +04:00
Ivan Molodetskikh
6bb83757ee
Convert everything to niri_render_elements! {}
2024-02-05 14:05:08 +04:00
Ivan Molodetskikh
da826e42aa
layout: Add LayoutElementRenderElement
...
Allows for testing layout rendering without Wayland windows.
2024-02-04 22:31:44 +04:00
Ivan Molodetskikh
05613eed1e
Verify that pending fullscreen matches column
2024-02-03 09:44:34 +04:00
Ivan Molodetskikh
b23dd4b800
Respect natural-scroll for workspace switch gesture
2024-02-03 09:00:08 +04:00
Ivan Molodetskikh
1f72089a46
Place new workspace after current when moving
...
This feels more natural, also makes moving back and forth idempotent in
most cases.
2024-02-03 08:42:56 +04:00
Andreas Stührk
e51268a39e
Add actions to move the active workspace to another monitor
2024-02-01 12:29:46 +04:00
Ivan Molodetskikh
59ff331597
Implement wlr-foreign-toplevel-management
...
The parent event isn't sent but whatever.
2024-01-30 12:30:57 +04:00
Ivan Molodetskikh
55ad36addc
layout: Fix crash due to workspace transfer during switch
2024-01-19 20:24:59 +04:00
Ivan Molodetskikh
26c8cbb961
layout: Fix crash due to workspace cleanup during switch
2024-01-19 20:24:18 +04:00
Ivan Molodetskikh
69907f123d
Add live-reload of output scales
2024-01-16 11:34:34 +04:00