aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
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
2024-03-01Fix center-column regressionIvan Molodetskikh
Mistake introduced along with the horizontal gesture.
2024-03-01Fix presentation feedback panic with zero presentation timeIvan Molodetskikh
2024-03-01Add emulate-zero-presentation-time debug flagIvan Molodetskikh
2024-02-29Move workspace gesture into monitor & fix missing workspace cleanupIvan Molodetskikh
2024-02-29Implement horizontal touchpad swipeIvan Molodetskikh
2024-02-29Pass prev_idx explicitly to animate_view_offset_to_column()Ivan Molodetskikh
2024-02-28Extract animate_view_offset_to_column()Ivan Molodetskikh
2024-02-28Append _fit to animate_view_offset_to_column()Ivan Molodetskikh
2024-02-28Update SmithayIvan Molodetskikh
2024-02-28input: add basic touch supportChristian Meissl
2024-02-28chore: update smithayChristian Meissl
2024-02-24Add environment {} config sectionIvan Molodetskikh
2024-02-24Expand ~ in spawnIvan Molodetskikh
2024-02-24Add open-fullscreen window ruleIvan Molodetskikh
2024-02-23Handle un-/fullscreen after initial configureIvan Molodetskikh
2024-02-23Rename surface -> toplevelIvan Molodetskikh
2024-02-23Fix default width fixed not being honored with bordersIvan Molodetskikh
2024-02-23Fix unset default width causing a window resize right awayIvan Molodetskikh
2024-02-23Add open-maximized window ruleIvan Molodetskikh
2024-02-23Implement explicit unmapped window state trackingIvan Molodetskikh
2024-02-22Fix new warningsIvan Molodetskikh
2024-02-22Improve shader formattingIvan Molodetskikh
2024-02-22Simplify gradient border shaderIvan Molodetskikh