Omahub
← All plugins
V

Screenshot Tooling

by varo6

Take screenshots from the Omarchy bar and optionally organize them by month.

Security review

No obvious issues detected

Deterministic scan — not a security guarantee

None
Risk level
None
Analyzed commit
7a04b24
Scanned
1 month ago

No potentially dangerous behavior detected in the analyzed commit.

Automated analysis only — not a security guarantee.

AI advisory review

No obvious issues detected

Language-model assessment · ~deepseek/deepseek-v4-flash-latest — advisory only

Low
AI risk level
Low
Recommendation
install
Model
~deepseek/deepseek-v4-flash-latest
Analyzed commit
7a04b24
Reviewed
1 month ago

This is a transparent screenshot utility: it captures screenshots, organizes them under Pictures/Screenshots by date, and includes an optional, user-initiated helper to rebind the PRINT key by editing ~/.config/hypr/bindings.lua with a backup. The code is readable, validates output paths against traversal, and uses defensive file handling for state and config writes. No hidden, destructive, or credential-harvesting behavior was found.

  • The optional PRINT integration edits the user's Hyprland bindings file and reloads Hyprland; this is documented, creates a backup, and only runs when explicitly invoked, but it does change shell behavior.
  • pictures_dir() sources ~/.config/user-dirs.dirs as a shell fragment; this is standard and user-owned, but is worth keeping in mind in a potentially untrusted home-directory context.
How this check works

This review combines the deterministic scan (the rule-based results above) with an independent look at the plugin's code by a language model. The model reads a trimmed sample of the repository's files, the manifest, and the README, then gives a plain-language risk level and a recommendation: install (no notable danger), review (look closer first), or avoid (clearly dangerous).

It runs on the same analyzed commit as the deterministic scan and is strictly advisory — it is not a security guarantee and never blocks a plugin by itself. A human moderator still reviews plugins before they are listed.

AI advisory only — automated analysis, not a security guarantee.

Install
$ omarchy plugin add https://github.com/varo6/screenshot-tooling-omarchy --enable
Widgets #Hyprland #bar #media

Screenshot Tooling & Organizer

Screenshot Tooling organizes your new screenshots into monthly folder. Also adds a panel that can capture a selected region, capture the focused screen, or open the current screenshot folder.

Screenshot Tooling panel

The organizer is enabled by default. It changes where captures are saved and creates the destination when needed:

<XDG Pictures>/Screenshots/YYYY-MM/

The default format is YYYY-MM. You can change it under Show settings. See ORGANIZER_FORMAT.md for the supported tokens, examples, and validation rules.

The setting persists across shell restarts. Disabling it sends later captures back to the XDG Pictures directory. "Open screenshots folder" always opens the base Screenshots directory. Existing files are never moved or deleted.

Requirements

  • Omarchy 4.0 or newer with the Quattro shell
  • omarchy-capture-screenshot, supplied by Omarchy
  • Python 3, supplied by Omarchy
  • xdg-open, and optionally uwsm-app, for opening the folder

The plugin does not need root access and does not modify Omarchy's packaged files.

Install

From a published Git repository:

omarchy plugin add https://github.com/varo6/screenshot-tooling-omarchy --enable

For this local checkout:

PLUGIN_ID="io.github.varo6.screenshot-tooling"
PLUGIN_DIR="$HOME/.config/omarchy/plugins/$PLUGIN_ID"
mkdir -p "$PLUGIN_DIR"
install -m 0644 manifest.json BarWidget.qml Panel.qml README.md ORGANIZER_FORMAT.md LICENSE "$PLUGIN_DIR/"
install -m 0755 screenshot-tooling secure-files.py "$PLUGIN_DIR/"
omarchy-shell shell rescanPlugins
omarchy plugin enable "$PLUGIN_ID" --section right

Optional Print Key integration

Screenshots taken from the plugin panel always follow the organizer toggle. By default, the PRINT key runs Omarchy's screenshot command directly, so it does not read the plugin's organizer setting.

Run this command if you want PRINT captures to follow the same toggle:

~/.config/omarchy/plugins/io.github.varo6.screenshot-tooling/screenshot-tooling enable-print-integration

The command creates a one-time backup of ~/.config/hypr/bindings.lua, adds the replacement PRINT binding, and reloads Hyprland. Running it again does not add duplicate bindings.

The read-only "Print Key follows organizer" indicator under Show settings reports whether these lines are active. Click the indicator to reopen these instructions. The organizer toggle then controls both panel and PRINT captures.

Use

Click the camera icon and choose an action. The panel also supports the keyboard:

  • Up and Down select an action.
  • Enter or Space runs it.
  • R captures a region, F captures the focused screen, and O opens the folder.
  • Escape closes the panel.

Omarchy's fullscreen capture means the focused monitor. Region capture uses Omarchy's standard frozen-screen picker and copies the result to the clipboard.

Validate

omarchy plugin validate .
qmllint -I "$OMARCHY_PATH/shell" BarWidget.qml Panel.qml
tests/run

Remove

If you added the optional PRINT override, first remove these lines from ~/.config/hypr/bindings.lua:

hl.unbind("PRINT")
o.bind("PRINT", "Screenshot", os.getenv("HOME") .. "/.config/omarchy/plugins/io.github.varo6.screenshot-tooling/screenshot-tooling capture smart")

Reload Hyprland after saving the file so Omarchy's default PRINT binding is restored, then remove the plugin:

hyprctl reload
omarchy plugin remove io.github.varo6.screenshot-tooling

The organizer preferences are harmless and may be kept for a later reinstall. To remove both the organize and format state files after uninstalling:

rm -r -- "${XDG_STATE_HOME:-$HOME/.local/state}/screenshot-tooling"