Skip to content

feat: VScrot - multi-platform screenshot extension for Vicinae#273

Open
JaINTP wants to merge 2 commits into
vicinaehq:mainfrom
JaINTP:main
Open

feat: VScrot - multi-platform screenshot extension for Vicinae#273
JaINTP wants to merge 2 commits into
vicinaehq:mainfrom
JaINTP:main

Conversation

@JaINTP

@JaINTP JaINTP commented May 17, 2026

Copy link
Copy Markdown

feat: VScrot - multi-platform screenshot extension for Vicinae

VScrot is a new Vicinae extension for capturing, annotating, and managing screenshots across Linux (Wayland & X11), macOS, and Windows.


Overview

VScrot provides a Raycast-style extension interface with full tool auto-detection, per-session tool overrides, and a rich manage-tools command for discovering and installing missing dependencies.


Commands

Command Description
scrot Take a screenshot with mode selection (area, window, monitor, all monitors). Preview with save/copy/annotate/discard actions.
area Shortcut to capture area mode
window Shortcut to capture window mode
monitor Shortcut to capture single monitor
all Shortcut to capture all monitors
manage-tools Browse all supported tools by category with install status and inline install commands

Capture Backends

Auto-detected in priority order, overridable via preferences or inline tool picker:

  • Wayland: grimblast, grim+slurp, spectacle, gnome-screenshot, flameshot
  • X11: maim+slop+xdotool, scrot
  • macOS: screencapture (built-in), screenshot-desktop
  • Windows: screenshot-desktop, flameshot

Annotation Tools

Post-capture annotation with two modes:

  • Auto-reload (satty, swappy): blocks until the tool closes, then refreshes the preview automatically
  • Manual save (GIMP, Pinta, mspaint): opens in background; user saves, then taps Refresh Preview

Clipboard Support

Platform-native clipboard with automatic fallback: wl-copyxclippbcopy → PowerShell


Files Added

  • src/scrot.tsx: main command (capture mode list + preview)
  • src/area|window|monitor|all.tsx: shortcut entry points
  • src/manage-tools.tsx: tool discovery and install helper
  • src/backends/: 10 capture backend implementations
  • src/annotators/: 6 annotation tool implementations
  • src/lib/: capture, annotate, clipboard, filesystem, preferences, and tool-selection utilities
  • src/components/: CaptureList, PreviewDetail, ToolPicker UI components
  • src/lib/tools-database.ts: full tool registry with install commands for pacman, apt, dnf, brew, winget
  • README.md: full user-facing documentation

Stats

43 files changed, 6416 insertions(+)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant