Skip to content

Releases: iciclejj/scran

v0.7.1

18 Apr 19:02

Choose a tag to compare

Sanitize build for packaging

Summary of changes

  • Remove unused libswscale dependency
  • Respect LDFLAGS
  • Add PKGBUILD

v0.7.0

18 Apr 12:55

Choose a tag to compare

Hyprland is now supported!

Summary of changes

BREAKING:

  • The old output_directory argument is now subject to change:
    • Passing - to write to stdout will remain stable.
    • For other uses of this argument, please switch to -d for stable commands/keybindings.
    • See the README or scran -h for more details.

Feature changes:

  • New arguments:
    • -d: set an existing directory as output directory
  • x264 default settings changed from 6mpbs CBR to 20 CRF
    • In short, video capture now targets consistent quality rather than consistent bitrate/size.
  • Update filename month format (%m) from 0-11 to 1-12
    • Was already documented as 1-12

Bug fixes and improvements:

  • Fixed incorrect video capture colors for some pixel formats
    • Fixes default Hyprland pixel format
  • Added some extra selection/capture-area sync points
    • Hyprland sync should be fully stable now
      • (Relies upon compositor implementation details; see #5)
  • Memory usage improvements
    • Force freeing of memory that gets allocated upon video capture before background keepalive stage
    • Other minor memory leak etc. fixes.
  • Fixed bug in scranrot sometimes causing image capture artifacts on the far-right edge of the output, e.g. a pixel of the frame being visible.
  • Scran is now allowed to fully idle when nothing is happening
    • Previously Scran was waking up every frame to check whether a redraw was needed, causing ~1-2% CPU usage, even when nothing was happening. Redraw checks are now triggered by actual actions like mouse movement, video start/stop etc.
  • Fixed deadlock on Wayland server/protocol errors.
  • Fixed delayed ending of video capture unless selection was moved
  • Fixed selection size staying frozen if video capture failed
  • Cursor now always instantly updates both on focus grab and focus release
    • Focus release previously needed movement to update, and both grab and release were bugged if no selection was initialized yet
  • Other minor bug fixes and improvements.

Meta/internal

  • Lots of other internal cleanup
  • Layer surface namespace updated "scran-capture" -> "scran-selection"

v0.6.2

08 Apr 18:19
a9997e9

Choose a tag to compare

Fix crash with debug builds of Blend2D, update dependencies.

Summary of changes

  • Fixed crash after capture when linking against debug builds of Blend2D
  • sd-bus (basu/libsystemd) dependencies fixed for non-nix builds
    • Added missing build dependency check for basu
    • Allow linking against libsystemd in place of basu
    • ("Install dependencies" section also updated in the readme)

v0.6.1

07 Apr 12:53

Choose a tag to compare

Notification bug fixes and new clipboard feature.

Summary of changes

  • Fixed notification actions not getting handled after UI exit
    • Note: notification actions still get disabled with -B
  • Added text/plain to list of advertised clipboard mime types
    • Apps/text fields that don't support pasting images can now receive a plain filepath, instead of nothing. (For example terminal emulators or plain text fields in a browser.)

v0.6.0

06 Apr 20:08

Choose a tag to compare

Notifications!

Summary of changes

  • Scran will now show notifications on saved files (xdg-desktop-portal)
    • Clicking on a notification opens the file.
    • -N disables notifications.
  • Selection size is now frozen during video capture
    • Being able to change it before was a bug, and did not affect the actual captured area.
    • Tightened-up selection resizing in general and fixed some old related bugs.
  • Keyboard interactivity when focused changed from "on demand" to "exclusive"
    • Does not affect ability to release focus entirely (Tab).
  • Fixed broken -s and -g on scaled displays
  • Fixed -p only registering the first button press
  • Fixed pointer button state sometimes inverting
    • I.e. pressed interpreted as released, and vice-versa.

v0.5.0

04 Apr 01:24

Choose a tag to compare

Fractional scaling!

Summary of changes

  • Added support for fractional scaling
  • Added arrow keys
    • Move selection by 1 pixel
  • Improved rendering performance
  • Fixed Sway capture-area/selection synchronization
    • (Fixes regression introduced in v0.4.1)

v0.4.1

28 Mar 02:18
a077e9e

Choose a tag to compare

COSMIC is now officially supported.

Summary of changes

  • Fixed rendered selection area vs capture area synchronization issues
    • Scran on COSMIC is now in a usable state.
    • Sway did not have any issues in practice, but should also be more robust now, with these changes.

v0.4.0

26 Mar 15:55

Choose a tag to compare

The majority of the initial scope that Scran set out to cover has been finished with this release. A (not necessarily complete) list of remaining TODOs can be found in this readme section.

Summary of changes

More details in the readme and scran -h

  • New arguments:
    • BREAKING:
      • output_directory: replaces output_file
    • -f: Specify formatted filename
    • -s: Output slurp-style geometry string to stdout
    • -g: Initialize selection on launch with slurp-style geometry string
  • Fix missing mkdir for default output directory
  • Video is now also sent to clipboard (as a text/uri-list)
  • Images on clipboard now additionally support text/uri-list mime type (previously only images/png).

Meta/internal:

  • Added flake.nix and flake.lock
  • Refactored simd.c into standalone scranrot/ library
    • Still very much WIP.
  • Misc. bug fixes and stability improvements :)

v0.3.1

12 Mar 15:07

Choose a tag to compare

  • Fix video rotation for 180-rotated displays by setting file format metadata
    • Other rotations still have proper per-frame image transformation.
  • Support building against some older libavutil versions < 59.36.100
    • Should fix most Ubuntu builds.
  • Add Ubuntu build instructions
  • Fix crash caused by incorrect asserts for 270-transformed images
    • Only affects debug builds.

v0.3.0

11 Mar 20:49

Choose a tag to compare

Tested and working on Arch (through distrobox) and NixOS.

Summary:

  • Updated build instructions
  • Fixed video capture memory leak
  • Updated video capture parameters
    • Mainly: Dynamic quantizer, with 6mbps target framerate
  • Other minor video capture performance and correctness improvements