aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2024-03-18Take workspace switch gesture into account for visual rectIvan Molodetskikh
2024-03-18Don't warp if currently using tabletIvan Molodetskikh
The tablet will override the position anyway.
2024-03-18Warp mouse to focus on window closingIvan Molodetskikh
2024-03-18Warp mouse to focus on new window appearingIvan Molodetskikh
2024-03-18Warp mouse only if layout is focusedIvan Molodetskikh
2024-03-18Track keyboard focus componentIvan Molodetskikh
2024-03-18Implement warp-mouse-to-focusFluxTape
2024-03-15Restore gamma on TTY switch backIvan Molodetskikh
2024-03-15Store gamma changes to apply on session resumeIvan Molodetskikh
2024-03-15Implement gamma adjustment via GAMMA_LUT propertyIvan Molodetskikh
2024-03-15gamma-control: Misc. clean ups and fixesIvan Molodetskikh
2024-03-15Adds support for wlr_gamma_control_unstable_v1 protocolphuhl
2024-03-14tty: Make binding EGL wl-display optionalIvan Molodetskikh
2024-03-13Add `clickfinger` in touchpad config (#256)la .uetcis
* Add clickfinger in touchpad config * Change `clickfinger` to `click-method` * Change `bottom_areas` to `button_areas` * Change button_areas to button-areas For consistency. * Reorder click methods in error message The most usual one comes first. * default-config: Move click-method down --------- Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com>
2024-03-13tty: Set max bpc to 8Ivan Molodetskikh
2024-03-12Reapply "Add wp-viewporter"Ivan Molodetskikh
This reverts commit 40cec34aa4a7f99ab12b30cba1a0ee83a706a413. The Chromium issues are now fixed.
2024-03-12Add a 1 Hz fallback frame callback timerIvan Molodetskikh
gamescope + Minecraft with NeoForge throws an error upon starting if there are no frame callbacks, thus making it the first client that has a problem. Also, apparently, Veloren disconnects from server with VSync and no frame callbacks.
2024-03-12Fix new clone_from Clippy lintsIvan Molodetskikh
2024-03-12Fix spelling mistakeIvan Molodetskikh
2024-03-10Preserve view offset for activate_prev_column_on_removalIvan Molodetskikh
2024-03-10Revert "Add wp-viewporter"Ivan Molodetskikh
This reverts commit 348690afb637514a38ad53fd61bf5e0102e419d6. Apparently this breaks input in Chromium: the input region won't resize together with the window.
2024-03-09utils/spawning: Pass grandchild PID only on systemdIvan Molodetskikh
libc::close_range() is not available on musl, so do this workaround for now.
2024-03-09Fix warning on --no-default-featuresIvan Molodetskikh
2024-03-09Reposition outputs after potentially changing modeIvan Molodetskikh
Currently outputs aren't repositioned again after a mode change, which can cause overlaps.
2024-03-08Add xdg-foreignIvan Molodetskikh
2024-03-08Pass through subpixel layoutIvan Molodetskikh
2024-03-08Add wp-viewporterIvan Molodetskikh
Doesn't hurt I guess.
2024-03-08Implement wlr-screencopy v1 (#243)sodiboo
* Implement wlr-screencopy * Finish the implementation Lots of changes, mainly to fix transform handling. Turns out, grim expects transformed buffers and untransforms them by itself using info from wl_output. This means that render helpers needed to learn how to actually render transformed buffers. Also, it meant that y_invert is no longer needed. Next, moved the rendering to the Screencopy frame handler. Turns out, copy() is more or less expected to return immediately, whereas copy_with_damage() is expected to wait until the next VBlank. At least that's the intent I parse reading the protocol. Finally, brought the version from 3 down to 1, because copy_with_damage() will need bigger changes. Grim still works, others not really, mainly because they bind v3 unnecessarily, even if they don't use the damage request. --------- Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com>
2024-03-06Remove NOTIFY_FD after reading itIvan Molodetskikh
2024-03-06Adjust commentsIvan Molodetskikh
2024-03-06Add dinit support (#246)metent
* Add dinit support - Add --notify-fd cli flag for ready notifications - Set dinit activation environment when "dinit" feature flag is enabled * Make systemd and dinit environment activation additive * Use NOTIFY_FD env variable instead of --notify-fd cli flag for sending ready notifications * Format with rustfmt
2024-03-05Implement rubber banding for the vertical gestureIvan Molodetskikh
2024-03-05Implement spring animationsIvan Molodetskikh
2024-03-05animation: Apply slowdown in realtimeIvan Molodetskikh
2024-03-05tile: Prepare for oscillating animationsIvan Molodetskikh
2024-03-05monitor: Handle switch idx < 0 and >= lenIvan Molodetskikh
2024-03-04Move animation to subfolderIvan Molodetskikh
2024-03-03Catch panics from edid-rsIvan Molodetskikh
Work around an integer overflow. See: https://github.com/YaLTeR/niri/issues/239
2024-03-03Add proper support for center = always in the horizontal gestureIvan Molodetskikh
2024-03-03Remake horizontal gesture to snap with inertiaIvan Molodetskikh
2024-03-03Extract WORKSPACE_GESTURE_MOVEMENT constantIvan Molodetskikh
2024-03-03swipe-tracker: Rename retain_recent to trim_historyIvan Molodetskikh
2024-03-02Fix vertical gesture constantIvan Molodetskikh
400 is for width not height.
2024-03-02Change horizontal gesture to focus furthest windowIvan Molodetskikh
2024-03-02Use unaccelerated delta for vertical gestureIvan Molodetskikh
With inertia in place it's ready for this.
2024-03-02Make vertical touchpad swipe inertialIvan Molodetskikh
Values and implementation are heavily inspired by AdwSwipeTracker.
2024-03-02Disentangle frame callback sequence from real DRM sequenceIvan Molodetskikh
It can currently happen that the estimated VBlank timer fires right before a real VBlank, which can cause some sequence collisions, which might cause frame callbacks to never be sent. To prevent this, just track the frame callback sequence fully separately. There isn't really any harm in this, and if we accidentally increment it more frequently than necessary then nothing terrible will happen.
2024-03-01Correctly handle parsing of Binds and DefaultColumnWidth (#234)sodiboo
* add dev dependencies to flake * parse only one default-column-width * require exactly one action per bind, and unique keys for binds * use proper filename for config errors if possible * fix duplicate keybinds after invalid action, lose some sanity
2024-03-01tty: Bump sequence on successful queue_frame()Ivan Molodetskikh
Before this commit: - niri queues frame - successful VBlank happens, sequence is bumped, frame callbacks are sent - niri receives commit, redraws, queues next frame, tries to send frame callbacks, but there wasn't a new VBlank yet, so the sequence is old, and frame callbacks aren't sent - frame callbacks are sent only next VBlank
2024-03-01tty: Avoid zero estimated vblank timerIvan Molodetskikh