| Age | Commit message (Collapse) | Author |
|
Let's see if anyone complains.
|
|
|
|
|
|
|
|
Rounding before checking min height could artificially increase the
window height that we check, leading to an incorrectly satisfied min
constraint.
|
|
When the window is alone in its column this logic intentionally isn't
triggered. Until we have a floating layer, there's no other way to get a
window larger than the screen, which I need.
|
|
Mainly visible with disabled animations.
|
|
|
|
|
|
|
|
The intention is to make columns add up to the working area height most
of the time, while still preserving the ability to have one fixed-height
window.
Automatic heights are now distributed according to their weight, rather
than evenly. This is similar to flex-grow in CSS or fraction in Typst.
Resizing one window in a column still makes that window fixed, however
it changes all other windows to automatic height, computing their
weights in such a way as to preserve their apparent heights.
|
|
Same result, but code a bit clearer.
|
|
|
|
It was getting tripped by tiny differences.
|
|
|
|
* Split new offset computation from starting the animation.
* Simplify new column on empty workspace logic.
|
|
This got a bit broken with fractional layout. The current logic seems to
give exact results for integer scales again, but for fractional scales
sometimes the resulting height goes beyond the maximum, even clearly by
more than one logical pixel. Not entirely sure why that is.
|
|
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.
|
|
|
|
|
|
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
|
|
* 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>
|
|
Fixes crash when a window in a column requests to be unfullscreened.
|
|
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>
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Add missing ```
Fix tests
|
|
|
|
This really needs a refactor...
|
|
|
|
|
|
|
|
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.
|
|
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.
|