@nuu-maan/coffer-omarchy-plugin
Coffer v0.1.0
Coffer's capture queue in the Omarchy bar. See what is still open, stash a selection or clip a region without leaving what you are doing.
Start with the source
Version 0.1.0Read the code and installation instructions at this exact commit.
Inspect sourced7dee38657af991fac7490c1ab8a1cd4780e9289The standard Omarchy install command follows upstream code and may install a different commit. Check the repository’s instructions before installing.
Release history
1 release| Version | Published | Publisher | Record |
|---|---|---|---|
| v0.1.0 | Sep 9, 2026 | Nuu-maan | Receipt ↗ |
What was checked
Manifest structure, declared files, QML parsing, repository identity and bounded source analysis passed at this commit.
PENDING REVIEW
Waiting for human review. No verification has been granted.
Security capabilities
Last scan: Sep 9, 2026Automated security analysis is not a guarantee that a plugin is safe. “No match” means the scanner did not recognize a pattern; it is not proof of absence.
network · No match
shell · 4 matches
Service.qml:10 ↗property var shell: null
Service.qml:98 ↗Quickshell.execDetached(["bash", "-c", "wl-copy --type image/png < \"$1\"", "wl-copy", path])
bin/omarchy-coffer:1 ↗#!/usr/bin/env bash
dev-install.sh:1 ↗#!/usr/bin/env bash
process · 9 matches
Service.qml:107 ↗Process {
bin/omarchy-coffer:10 ↗line=$(sed -n 's/^Exec=//p' "$file" | head -n1) || true
bin/omarchy-coffer:60 ↗stash) exec "$BIN" --stash ;;
bin/omarchy-coffer:61 ↗clip) exec "$BIN" --clip ;;
bin/omarchy-coffer:64 ↗exec "$BIN" "--done=$1"
tests/manifest.test.js:12 ↗process.exitCode = 1
tests/manifest.test.js:89 ↗if (!process.exitCode) console.log(passed + " manifest tests passed")
tests/model.test.js:8 ↗process.exitCode = 1
tests/model.test.js:184 ↗if (!process.exitCode) console.log(passed + " model tests passed")
filesystemRead · 1 matches
Service.qml:52 ↗FileView {
filesystemWrite · 1 matches
dev-install.sh:8 ↗mkdir -p "$DEST"
environment · 33 matches
Service.qml:9 ↗property string omarchyPath: Quickshell.env("OMARCHY_PATH")
Service.qml:16 ↗readonly property string home: Quickshell.env("HOME")
Service.qml:24 ↗readonly property string configDir: (Quickshell.env("XDG_CONFIG_HOME") || (home + "/.config")) + "/coffer"
bin/omarchy-coffer:6 ↗IFS=: read -ra dirs <<<"${XDG_DATA_HOME:-$HOME/.local/share}:${XDG_DATA_DIRS:-/usr/local/share:/usr/share}"
bin/omarchy-coffer:7 ↗for dir in "${dirs[@]}"; do
bin/omarchy-coffer:8 ↗for file in "$dir/applications/coffer.desktop" "$dir/applications/com.coffer.app.desktop"; do
bin/omarchy-coffer:9 ↗[[ -r "$file" ]] || continue
bin/omarchy-coffer:10 ↗line=$(sed -n 's/^Exec=//p' "$file" | head -n1) || true
bin/omarchy-coffer:11 ↗[[ -n "$line" ]] || continue
bin/omarchy-coffer:12 ↗line=${line%% %*}
bin/omarchy-coffer:13 ↗line=${line#\"}
bin/omarchy-coffer:14 ↗line=${line%\"}
downloads · No match
downloadExecution · No match
obfuscation · No match
credentials · 1 matches
tests/model.test.js:142 ↗var image = { id: "i", kind: "image", file: "../../.ssh/id_rsa" }
Automated validation details
Static pattern analysis and qmllint parsing. Up to 12 evidence samples per capability; all matching lines counted. Absence of a match does not establish absence of a capability.
- Panel.qml: parsed, 645 diagnostics. Static parser only; Omarchy imports may be unavailable.
- Service.qml: parsed, 79 diagnostics. Static parser only; Omarchy imports may be unavailable.
Manifest at this commit
{
"schemaVersion": 1,
"id": "io.github.nuu-maan.coffer",
"name": "Coffer",
"version": "0.1.0",
"author": "nuu-maan",
"license": "MIT",
"description": "Coffer's capture queue in the Omarchy bar. See what is still open, stash a selection or clip a region without leaving what you are doing.",
"kinds": [
"service",
"bar-widget"
],
"keepLoaded": true,
"entryPoints": {
"service": "Service.qml",
"barWidget": "Panel.qml"
},
"barWidget": {
"displayName": "Coffer",
"description": "Open items in the Coffer capture queue",
"category": "Utility",
"allowMultiple": false,
"defaultSection": "right",
"defaults": {
"hideWhenEmpty": false,
"maxItems": 20
},
"schema": [
{
"key": "hideWhenEmpty",
"type": "boolean",
"label": "Hide the icon when the queue is empty",
"description": "Keep the bar icon out of the way until something is stashed. Left off, the icon stays put and dims instead.",
"defaultValue": false
},
{
"key": "maxItems",
"type": "integer",
"label": "Items shown in the panel",
"description": "How many open items the panel lists before it stops and says how many more there are. The bar count is always the full number.",
"min": 5,
"max": 100,
"step": 5,
"defaultValue": 20
}
]
}
}Review history
No human review recorded.
Report this plugin
For authorized reviewers
Review this plugin
Inspect the source and scan above, choose a decision, then submit the prepared issue on GitHub. Only configured reviewer accounts can record a decision.
- Service.qml: process execution, privilege escalation, or network access; inspect source
These checks do not include runtime testing or a full dependency audit. Plugins run with your user permissions. Read the verification policy.
Manifest SHA-256 digest
981bb870284796aa8dc2b9f341f3907a5d66f9fc771ce0dab05eac7e01a0d6a5