| Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The outside code isn't supposed to mess with the fields.
|
|
|
|
|
|
|
|
|
|
|
|
This is a JSON-breaking change for the IPC actions that changed from
unit variants to struct variants. Unfortunately, I couldn't find a way
with serde to both preserve a single variant, and make it serialize to
the old value when the new field is None. I don't think anyone is using
these actions from JSON at the moment, so this breaking change is fine.
|
|
|
|
|
|
It's not added to clap because there's no convenient mutually-exclusive
argument enum derive yet (to have either the current <REFERENCE> or an
--id <ID>). It's not added to config parsing because I don't see how it
could be useful there. As such, it's only accessible through raw IPC.
|
|
|
|
Deleting the test because it only made sense when no-animation was
special cased.
|
|
|
|
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.
|
|
|
|
* feature added, move-column-left-or-monitor-left and move-column-right-or-monitor-right
* fixed stupid mistake
* yalter's fixes
* fixed names
* fixed a stupid mistake
---------
Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com>
|
|
|
|
|
|
* Implement focus-window-up/down-or-monitor calls
* Fixed wrong naming of focus-window-or-monitor commands
* fix copy pase errors for focusing direction
* Fixed wrong behaviour when the current workspace is empty
* Cleanup navigation code to reduce complexity
* Fix wrong comments and add testcases for FocusWindowOrMonitorUp/Down
---------
Co-authored-by: Christian Rieger <christian.rieger@student.tugraz.at>
|
|
* feat: add support for focus-window-or-monitor
* addresses output without window case
* refactor: reduce verbosity
* update this..
* refactor: rename `maybe_focus_window` functions
* refactor: flip focus_window_or_output return logic
* Update src/layout/mod.rs
Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com>
* refactor: rename to Column
* move blocks next to other Column variables
---------
Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com>
|
|
|
|
These are a bit jarring without an animation.
|
|
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>
|
|
|
|
|
|
|