Ujp8LfXBJ6wCPR
af6d84a7f8
Fix typos ( #429 )
...
* Fix typos reported by "typos" crate
https://github.com/crate-ci/typos
* Ignore typo datas -> data
See https://github.com/crate-ci/typos?tab=readme-ov-file#false-positives
for more configureability.
---------
Co-authored-by: Carl Hjerpe <git@hjerpe.xyz >
Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com >
2024-06-09 10:50:22 +00:00
Ivan Molodetskikh
c6c17cccac
Add missing fullscreen check
...
Fixes crash when a window in a column requests to be unfullscreened.
2024-06-04 19:46:19 +03:00
Gergely Nagy
eb9bbe3352
Implement named workspaces
...
This is an implementation of named, pre-declared workspaces. With this
implementation, workspaces can be declared in the configuration file by
name:
```
workspace "name" {
open-on-output "winit"
}
```
The `open-on-output` property is optional, and can be skipped, in which
case the workspace will open on the primary output.
All actions that were able to target a workspace by index can now target
them by either an index, or a name. In case of the command line, where
we do not have types available, this means that workspace names that
also pass as `u8` cannot be switched to by name, only by index.
Unlike dynamic workspaces, named workspaces do not close when they are
empty, they remain static. Like dynamic workspaces, named workspaces are
bound to a particular output. Switching to a named workspace, or moving
a window or column to one will also switch to, or move the thing in
question to the output of the workspace.
When reloading the configuration, newly added named workspaces will be
created, and removed ones will lose their name. If any such orphaned
workspace was empty, they will be removed. If they weren't, they'll
remain as a dynamic workspace, without a name. Re-declaring a workspace
with the same name later will create a new one.
Additionally, this also implements a `open-on-workspace "<name>"` window
rule. Matching windows will open on the given workspace (or the current
one, if the named workspace does not exist).
Signed-off-by: Gergely Nagy <niri@gergo.csillger.hu >
2024-05-16 01:24:34 -07:00
Ivan Molodetskikh
5999ba6a5e
Avoid changing the view offset if size didn't change
2024-05-14 23:39:19 +04:00
Ivan Molodetskikh
94a9b48a0f
Improve interactive resize end edge cases and animations
2024-05-14 20:41:10 +04:00
Ivan Molodetskikh
d776ab7763
Fix interactive resize cancelling
...
The interactive resize may have ended, but we're still waiting for the
last commit of the respective window. When cancelling, we should cancel
those ones too.
2024-05-14 16:29:03 +04:00
Ivan Molodetskikh
5f40221051
Refactor column and tile offsets, fix a few issues
2024-05-14 15:35:43 +04:00
Ivan Molodetskikh
b14405904a
Draw closing windows in the right order
2024-05-14 14:52:13 +04:00
Ivan Molodetskikh
9004c83954
Implement custom shader for window-close anim
2024-05-12 09:52:36 +04:00
Ivan Molodetskikh
d2ed42a157
closing_window: Pass geo size and view rect
2024-05-12 08:46:02 +04:00
Ivan Molodetskikh
4073f9f522
closing_window: Remove starting_alpha/scale
2024-05-12 08:42:43 +04:00
Ivan Molodetskikh
464441f9eb
closing_window: Store textures directly
2024-05-11 17:54:27 +04:00
Ivan Molodetskikh
bc29256b9d
Implement Mod+MMB view offset gesture
2024-05-11 14:02:37 +04:00
Ivan Molodetskikh
beba87354a
Group input-related things in a subfolder
2024-05-11 13:21:05 +04:00
Ivan Molodetskikh
719270854a
Update resize commit unconditionally
2024-05-11 10:59:46 +04:00
TheZoq2
47a8e75fd5
Add is_active_in_column
...
Add missing ```
Fix tests
2024-05-11 10:42:49 +04:00
Ivan Molodetskikh
1c14a0a2a9
Add a reset-window-height action
2024-05-11 09:33:23 +04:00
Ivan Molodetskikh
b101f9b5f8
Render tiles flush to the right when left-resizing
...
This really needs a refactor...
2024-05-11 09:00:03 +04:00
Ivan Molodetskikh
34bcc6ea93
Split get resize data from update
2024-05-11 08:26:49 +04:00
Ivan Molodetskikh
9dfa121b8e
Implement interactive mouse resizing
2024-05-10 20:23:08 +04:00
Ivan Molodetskikh
7093385b4d
Update tile before taking unmap snapshot
2024-05-04 11:37:58 +04:00
Ivan Molodetskikh
73cc0079d6
Split update_render_elements() from advance_animations()
...
advance_animations() is called from places like input, whereas
update_render_elements() is strictly for rendering.
2024-05-04 11:10:02 +04:00
Ivan Molodetskikh
8ab50f9d1c
shader_element: Store program type instead of shader
2024-05-03 21:23:32 +04:00
Ivan Molodetskikh
365dbacae7
Move unmap snapshot from Mapped to Tile
2024-05-01 19:00:19 +04:00
Ivan Molodetskikh
3e598c565e
Implement border window rule
2024-04-24 22:01:26 +04:00
Ivan Molodetskikh
49f5402669
Implement window-resize custom-shader
2024-04-21 20:16:54 +04:00
Ivan Molodetskikh
568c35ff87
Synchronize column removal anim on consume left/right
...
Visible when consuming left/right when always-centered and differing
horizontal view anim.
2024-04-19 13:48:39 +04:00
Ivan Molodetskikh
2c8d1030ab
Separate tile X and Y movement animations
...
Helps with the jank caused by lack of transactions when consuming to the
left/right. Resize triggers a few frames later and restarts the
movement. Now it only restarts the vertical and not the horizontal
movement.
2024-04-19 12:44:24 +04:00
Ivan Molodetskikh
3b37f1a557
Sync expel animations
2024-04-17 18:03:17 +04:00
Ivan Molodetskikh
bbb4a64126
Use correct animation config for tile removal
2024-04-17 14:38:34 +04:00
Ivan Molodetskikh
dfe49aa705
Use movement anim for view anim during movement
2024-04-17 14:29:22 +04:00
Ivan Molodetskikh
7ca39baf9e
Add view anim functions with config argument
2024-04-17 14:23:47 +04:00
Ivan Molodetskikh
73e9ef5fe2
Resolve animation defaults during parsing
2024-04-17 14:06:32 +04:00
Ivan Molodetskikh
c40d4f3268
Include resized window in left move
2024-04-17 10:35:46 +04:00
Ivan Molodetskikh
21ef5aded8
Remove jumps on consume/expel animation start
2024-04-16 10:48:54 +04:00
Ivan Molodetskikh
b288102866
Implement consume/expel animations
2024-04-16 09:58:39 +04:00
Ivan Molodetskikh
ff42f9b9d3
Start move animations from add/remove window/column
2024-04-16 08:59:15 +04:00
Ivan Molodetskikh
c163e58167
Animate movement and resize on window closing in a column
2024-04-16 08:16:34 +04:00
Ivan Molodetskikh
69f723d68a
Implement vertical window move animations
2024-04-15 21:19:09 +04:00
Ivan Molodetskikh
568fbe26fe
Avoid continuous redrawing during horizontal gesture
2024-04-14 14:29:41 +04:00
Ivan Molodetskikh
2c873044e8
Restore view offset upon unfullscreening
2024-04-13 20:07:37 +04:00
Ivan Molodetskikh
8b0dc1902c
Set window-resize animation config for view-offset anim caused by resize
2024-04-13 14:57:55 +04:00
Ivan Molodetskikh
9d5f1c7ef7
Unify Animation- and RenderSnapshot
2024-04-13 14:16:07 +04:00
Ivan Molodetskikh
71be19b234
Implement window resize animations
2024-04-13 11:07:23 +04:00
Ivan Molodetskikh
5383a0591f
Use clamped animations where it makes sense
2024-04-10 11:28:49 +04:00
Ivan Molodetskikh
dd011f1012
Implement window closing animations
2024-04-09 23:42:01 +04:00
Ivan Molodetskikh
301a2c0661
layout: Fix view jumps when removing a window on the left
2024-04-09 23:42:01 +04:00
Ivan Molodetskikh
e448cfb0ef
Adjust view offset anim together with offset
...
Not doing this caused quickly moving a column right and left to base the
final view position on an incorrect view offset.
2024-04-08 22:16:35 +04:00
Ivan Molodetskikh
6aceb3a798
Render active column in front
...
Rather than just the active window. This is visible on the new window
movement animations.
2024-04-08 19:48:52 +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