| Age | Commit message (Collapse) | Author |
|
|
|
* niri-config: add trackball configuration struct
The available options are mostly the same as for mice. I've verified that each
option is applicable to trackballs in the libinput CLI.
* input: apply trackball config settings
|
|
when mapping a tablet input to an output apply
the output transform just like we already do for
touch input.
|
|
|
|
The outside code isn't supposed to mess with the fields.
|
|
|
|
The previous way was prone to triggering late due to compositor idling
and therefore never calling the check function.
|
|
|
|
Feels like this should be the case.
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
* add support for iso_level5_shift modifier
* update Cargo.lock
bumps smithay to de94e8f59e202b605c35dfe1fef1857bad427e8c
|
|
|
|
* 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>
|
|
|
|
Gets rid of DND surfaces.
|
|
|
|
|
|
|
|
|
|
* 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>
|
|
|
|
|
|
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.
|
|
|
|
* add focus-column-right-or-first
* add focus-column-left-or-last
|
|
|
|
This is called "events <mode>" in Sway, but we decided to use more abstracted
form for consistency with the other config items. "disabled-on-external-mouse"
is added only to touchpads, but there might be other devices that support this
option.
I think "off" also applies to keyboards, but I'm not going to add the one
because we don't have libinput machinery for the keyboard config, and it's
unlikely that user wants to disable _all_ keyboards. OTOH, pointer devices can
be disabled per type. Perhaps, this should be revisited after implementing #371.
|
|
My use case is to enable middle-button scroll on my keyboard with pointing
stick. The device is recognized as USB mouse.
|
|
column to the left or right if there is no window above or below
|
|
Closes https://github.com/YaLTeR/niri/issues/366
|
|
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>
|
|
|
|
|