Skip to content

gigili/vectoria

Repository files navigation

Vectoria

Vectoria is a Linux screenshot and annotation tool built with Tauri (Rust) and Vanilla JavaScript + Konva.

It supports quick captures (UI, tray, or CLI), automatically saves screenshots to disk, copies them to the clipboard, and opens an editor for fast markup.

Important

This project was 100% vibe coded and is provided as is, with no guaranties or warranty. Use at your own discretion. It might work for most Linux distros but I've only tested it on my setup (kUbuntu with i3wm).

Preview

Main screen Editor preview Editor preview 2

Current Features

  • Home screen with:
    • New Screenshot dropdown (Area, Fullscreen)
    • Settings page
  • Editor with tools:
    • Select, Pen, Arrow, Line, Numbered Stamp
    • Undo, Delete selected
    • Color picker
    • Zoom in/out
    • Copy, Save, Save As, Done
  • Keyboard shortcuts:
    • Tools: V, P, A, L, S
    • Actions: Ctrl+Z, Delete/Backspace, Ctrl+C, Ctrl+S, Ctrl+Shift+S, Esc
  • CLI capture flags:
    • --area / -a
    • --full / -f
    • --display / -d with a display/output name value (also supports --display= syntax)
  • System tray menu:
    • Open Vectoria
    • New Area Screenshot
    • New Fullscreen Screenshot
    • Quit
  • Settings persistence:
    • Save directory
    • Filename format (supports {timestamp} and {type})
    • Language preference (system, en-US)
  • Window class is vectoria (useful for i3 floating rules).

Screenshot & Clipboard Behavior

  1. A capture is taken via UI, tray, or CLI.
  2. The image is saved immediately to the configured directory.
  3. The original image is copied to the clipboard.
  4. The editor opens with the captured image.

Defaults:

  • Save directory: ~/Pictures/vectoria
  • Filename format: {timestamp}-{type}-screenshot.png

Editor exit behavior:

  • Esc: saves edited image to current capture path and copies edited image to clipboard, then exits editor.
  • Done: returns to home screen.

Runtime Dependencies (Linux)

Vectoria relies on external screenshot utilities depending on your session type:

  • X11: maim (preferred) or scrot
  • Wayland: grim (required), slurp (required for area/window selection)

The settings page also checks for: xclip, wl-copy.

On Debian/Ubuntu, a convenient install command is:

sudo apt install maim slurp grim scrot xclip wl-copy

Development

Prerequisites

  • Node.js + npm
  • Rust toolchain (project targets Rust 1.77.2)
  • Tauri Linux prerequisites (WebKitGTK and related system packages)

Install

npm install

Run in Development

npm run tauri dev

Build

npm run tauri build

CLI Usage

vectoria --area
vectoria --full

--display (or -d) requires a display/output name value.

Behavior when started with capture flags:

  • Starts capture immediately
  • Saves + copies capture
  • Opens editor
  • On Esc from editor, minimizes back to tray

About

A linux screenshot utility / app

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors