| Age | Commit message (Collapse) | Author |
|
Lets borders, gaps, and everything else stay pixel-perfect even with
fractional scale. Allows setting fractional border widths, gaps,
struts.
See the new wiki .md for more details.
|
|
|
|
|
|
Supports fractional texture scale + has some getters.
|
|
Doesn't do anything yet because we don't bind the fractional scale
manager and don't allow fractional scales.
|
|
* add focus-column-right-or-first
* add focus-column-left-or-last
|
|
Fixes crash when a window in a column requests to be unfullscreened.
|
|
Not sure how we missed this.
|
|
column to the left or right if there is no window above or below
|
|
|
|
|
|
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>
|
|
|
|
|
|
|
|
|
|
|
|
Add missing ```
Fix tests
|
|
|
|
|
|
|
|
advance_animations() is called from places like input, whereas
update_render_elements() is strictly for rendering.
|
|
|
|
|
|
|
|
|
|
|
|
Visible when consuming left/right when always-centered and differing
horizontal view anim.
|
|
|
|
|
|
|
|
|
|
|
|
- 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
|
|
|
|
This removes the quite unobvious visual size, and fixes jerking when
opening multiple windows in quick succession.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* 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>
|
|
|
|
|
|
Values and implementation are heavily inspired by AdwSwipeTracker.
|
|
* 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
|
|
|