aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2024-06-18Animate xdg-activation and foreign-toplevel workspace switchesIvan Molodetskikh
These are a bit jarring without an animation.
2024-06-18Queue redraw after activation in xdg-activationIvan Molodetskikh
2024-06-18Remove unnecessary returnIvan Molodetskikh
2024-06-18Allow scale below 1Ivan Molodetskikh
2024-06-18Add fractional scales to auto scale guessingIvan Molodetskikh
2024-06-18Round scale to closest representableIvan 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-18Enable fractional scalingIvan Molodetskikh
2024-06-17Fix cached data not updating on config changeIvan Molodetskikh
2024-06-17Update SmithayIvan Molodetskikh
2024-06-17layout: Cache scale and transform on the workspaceIvan Molodetskikh
2024-06-17Rename apply_scale to to_physical_precise_roundIvan Molodetskikh
Consistency with Smithay.
2024-06-17ui/config_error_notification: Store TextureBuffersIvan Molodetskikh
Avoids re-importing every frame.
2024-06-10ui/screenshot_ui: Correct fractional scaled behaviorIvan Molodetskikh
2024-06-10Add SolidColor{Buffer,RenderElement}Ivan Molodetskikh
2024-06-10Move apply_scale() to utilsIvan Molodetskikh
2024-06-10ui/config_error_notification: Make fractional-scaling awareIvan Molodetskikh
2024-06-10ui/exit_confirm_dialog: Make fractional-scaling awareIvan Molodetskikh
2024-06-10Add MemoryBufferIvan Molodetskikh
2024-06-10ui/hotkey_overlay: Make fractional-scaling awareIvan Molodetskikh
2024-06-10Implement our own TextureBuffer/RenderElementIvan Molodetskikh
Supports fractional texture scale + has some getters.
2024-06-10Signal fractional scale to clientsIvan Molodetskikh
Doesn't do anything yet because we don't bind the fractional scale manager and don't allow fractional scales.
2024-06-10Implement xdg_activation_v1Peter Collingbourne
Fixes #30.
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-09Fix typos (#429)Ujp8LfXBJ6wCPR
* 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>
2024-06-09Use generic Atomic for rlim_tIvan Molodetskikh
rlim_t is different between platforms.
2024-06-07PointerMotionAbsolute: use union rect of all outputsgalister
2024-06-04Add missing fullscreen checkIvan Molodetskikh
Fixes crash when a window in a column requests to be unfullscreened.
2024-06-02Preserve empty named workspaces upon output removalIvan Molodetskikh
Not sure how we missed this.
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 niri msg focused-outputrustysec
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-23Increase RLIMIT_NOFILE to maximumIvan Molodetskikh
Fixes Xwayland + RustRover crashing. See similar changes: * https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2235 * https://github.com/swaywm/sway/pull/6629
2024-05-21Add left-handed input propertyIvan Molodetskikh
Closes https://github.com/YaLTeR/niri/issues/366
2024-05-20Fix no outputs case handling in a few placesIvan Molodetskikh
2024-05-17Redraw on lock surface children commitsIvan Molodetskikh
2024-05-17Rearrange CLI subcommands a bitIvan Molodetskikh
2024-05-17Implement niri msg workspacesrustysec
2024-05-16Update Smithay and other depsIvan Molodetskikh
2024-05-16Implement at-startup window ruleIvan Molodetskikh
2024-05-16Make workspace names case-insensitiveIvan Molodetskikh
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-15Clarify surface destroyed commentIvan Molodetskikh
2024-05-15Fix render elements looking off on screenshotsIvan Molodetskikh
2024-05-15Change resize shader geo size to logical pixelsIvan Molodetskikh
Consistent with the others.
2024-05-15Implement custom shader for window-openIvan Molodetskikh
2024-05-15Use correct function name in commentIvan Molodetskikh
2024-05-15Clear fd flags before sending selectionIvan Molodetskikh
2024-05-15tty: Relax device checks on removalIvan Molodetskikh