aboutsummaryrefslogtreecommitdiff
path: root/src/input
AgeCommit message (Collapse)Author
2024-10-18support binding actions to switches (#747)Christian Meissl
* support spawn action on switch events this adds a new config section named `switch-events` that allows to bind `spawn` action to certain switch toggles. * Expand docs --------- Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com>
2024-10-17Add scroll-button property for Touchpad, Mouse, Trackpoint, Trackball (#744)chillinbythetree
2024-10-16Implement input configuration for trackballs (#743)tazjin
* 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
2024-10-15input: apply output transform for tablet input (#737)Christian Meissl
when mapping a tablet input to an output apply the output transform just like we already do for touch input.
2024-10-12Implement ConsumeOrExpelWindow{Left,Right} by idIvan Molodetskikh
2024-10-10layout: Reduce field visibilityIvan Molodetskikh
The outside code isn't supposed to mess with the fields.
2024-10-09added power-on-monitors (#723)Winter
2024-10-06Rework pointer inactivity hide as a timerIvan Molodetskikh
The previous way was prone to triggering late due to compositor idling and therefore never calling the check function.
2024-10-06Implement hide cursor on key press and on timeoutyzy-1
2024-10-06Show hidden pointer on mouse pressIvan Molodetskikh
Feels like this should be the case.
2024-09-30handle role specific buffer offsetChristian Meissl
2024-09-13Update SmithayIvan Molodetskikh
2024-09-12Add SwitchPresetWindowHeight by idIvan Molodetskikh
2024-09-12 Implement preset window heightsChristian Rieger
2024-09-06Implement by-id window addressing in IPC and CLI, fix move-column-to-workspaceIvan Molodetskikh
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.
2024-09-04Fix missing KeyboardLayoutSwitched event on XKB switchIvan Molodetskikh
2024-09-01Implement the event stream IPCIvan Molodetskikh
2024-07-31add mod3 key binding support (#565)Jeff Peeler
* add support for iso_level5_shift modifier * update Cargo.lock bumps smithay to de94e8f59e202b605c35dfe1fef1857bad427e8c
2024-07-13Add middle-emulation libinput flagIvan Molodetskikh
2024-07-10Add move-column-{left/right}-or-to-monitor-{left/right} (#528)Winter
* 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>
2024-07-08screenshot-ui: Animate openingIvan Molodetskikh
2024-07-07Clear pointer grab upon opening the screenshot UIIvan Molodetskikh
Gets rid of DND surfaces.
2024-07-07Implement toggling pointer for the screenshot UIIvan Molodetskikh
2024-07-06Implement on-demand layer-shell keyboard focusIvan Molodetskikh
2024-07-06Fix screenshot UI selection pointer clampingIvan Molodetskikh
2024-07-05Implement key repeat for compositor bindsSalman Farooq
2024-07-05Added Commnads to focus windows or Monitors above/below the active window (#497)TheAngusMcFire
* 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>
2024-06-28feat: add `focus-column-or-monitor-left`, `focus-column-or-monitor-right` (#456)Filipe Paniguel
* 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>
2024-06-19Make tablet without specific output map to union of outputsIvan Molodetskikh
2024-06-19Implement vertical middle mouse gestureIvan Molodetskikh
2024-06-18Refactor layout to fractional-logicalIvan Molodetskikh
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.
2024-06-10ui/screenshot_ui: Correct fractional scaled behaviorIvan Molodetskikh
2024-06-09Add `focus-column-right-or-first`, `focus-column-left-or-last` (#391)James Sully
* add focus-column-right-or-first * add focus-column-left-or-last
2024-06-07PointerMotionAbsolute: use union rect of all outputsgalister
2024-05-29Add "off" and "disabled-on-external-mouse" properties to input devicesYuya Nishihara
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.
2024-05-26Add scroll-method property to pointer devicesYuya Nishihara
My use case is to enable middle-button scroll on my keyboard with pointing stick. The device is recognized as USB mouse.
2024-05-24Added actions to allow focusing up or down as normal but to wrap to the ↵Micah N Gorrell
column to the left or right if there is no window above or below
2024-05-21Add left-handed input propertyIvan Molodetskikh
Closes https://github.com/YaLTeR/niri/issues/366
2024-05-16Implement named workspacesGergely Nagy
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-11Implement Mod+MMB view offset gestureIvan Molodetskikh
2024-05-11Group input-related things in a subfolderIvan Molodetskikh