Omahub
← All plugins
G

Quattrolitaire

by Gavin Nugent

Klondike solitaire for omarchy-shell. Drag-and-drop card table drawn entirely in QML, coloured from the active theme, with undo, autocomplete, scoring and a game that survives a shell restart. Summon with: omarchy-shell shell toggle nosignal.quattrolitaire

Security review

No obvious issues detected

Deterministic scan — not a security guarantee

None
Risk level
None
Analyzed commit
e17d21a
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

None
AI risk level
None
Recommendation
install
Model
~deepseek/deepseek-v4-flash-latest
Analyzed commit
e17d21a
Reviewed
1 month ago

Quattrolitaire is a self-contained QML solitaire plugin with no network access, credential handling, obfuscation, or destructive commands. The installer only delegates to the standard omarchy CLI, and the only notable runtime behavior—an idempotent, documented append to shell.json to preserve the keybinding—is safely implemented. The deterministic scan's 'none' finding matches the manual review of the sampled code.

  • Panel.qml edits ~/.config/omarchy/shell.json on first open using an sh -c/jq one-liner, but the script is well-guarded: it refuses symlinks, uses no shell interpolation for the plugin ID, writes via a temp file, preserves permissions, and only appends if the plugin ID is absent.
  • install.sh runs omarchy plugin add/enable/bar move as expected; no hidden download, curl pipe, or destructive cleanup was found.
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/28allday/Quattrolitaire --enable
Widgets #bar #quickshell #games

Quattrolitaire

Klondike solitaire as a native Omarchy shell plugin. A drag-and-drop card table with an illustrated art-deco deck, on felt coloured from the active Omarchy theme. The deck ships in the repo, so there is nothing to fetch and nothing to build.

The table mid-game

  • Draw 1 or draw 3, switchable mid-game
  • Drag a card or a run; double-click sends a card straight to a foundation
  • Unlimited undo, standard Klondike scoring with a time bonus
  • Auto finishes the game once every card is face up
  • The game in progress is saved, so it survives closing the panel and restarting the shell

Install

omarchy plugin add https://github.com/28allday/Quattrolitaire --enable

Or with the installer, which does the same thing and places the bar icon:

./install.sh

Then click the ♠ in the bar, or bind a key to:

omarchy-shell shell toggle nosignal.quattrolitaire

install.sh takes two optional overrides: QUATTROLITAIRE_SECTION picks the bar section (left, center or right, default right), and QUATTROLITAIRE_REPO registers the plugin from a fork instead.

Removal

omarchy plugin remove nosignal.quattrolitaire

That unregisters the plugin and drops its bar icon. The saved game is left behind; delete it too with:

rm -rf ~/.local/state/omarchy-quattrolitaire

Dependencies

Omarchy 4 and its shell — no other runtime dependency for play itself. One piece of plumbing needs jq, which Omarchy already installs: see below.

What it writes, and what it does not

  • ~/.local/state/omarchy-quattrolitaire/state.json — the game in progress, the draw mode and the win record. Written after each move.
  • ~/.config/omarchy/shell.json — on first open, the plugin appends its own {"id": "nosignal.quattrolitaire"} entry to plugins[] if one is not already there, using jq. This is a workaround: omarchy plugin enable writes only the bar-layout entry for a plugin that is both a panel and a bar widget, so without that entry the keybinding stops working the moment the bar icon is removed. The edit is idempotent, appends only, changes no other setting, and goes away once upstream PR #6510 lands. The code is at the top of Panel.qml if you would rather read it than take my word.

Nothing else on the system is touched. The plugin makes no network requests, needs no credentials, runs nothing privileged, and starts no process beyond the jq edit above and a mkdir -p for its own state directory.

Scoring

Standard Klondike: +10 onto a foundation, +5 for waste-to-tableau, +5 for turning a tableau card face up, −15 for taking a card back off a foundation, and a recycle penalty of −100 in draw-1 (−20 in draw-3). Finishing in over 30 seconds adds a time bonus; finishing faster is worth more.

Where things live

Path What
manifest.json Plugin manifest — panel + bar-widget, keepLoaded
Panel.qml The whole game: model, layout, cards, drag, cascade
cards/ The deck: 52 faces, a shared back, and the table tile
BarWidget.qml Bar icon; toggles the panel over shell IPC
~/.local/state/omarchy-quattrolitaire/state.json Saved game, draw mode, win record

Card art

The 52 faces are an original art-deco series, one famous car per card, bundled in cards/. The back is reframed from vulturetone's 1-quattro.jpg, the rally-car wallpaper in Omarchy's stock tokyo-night theme — with thanks, and the reason this thing is called Quattrolitaire. See cards/CREDITS.md, which also covers swapping in a deck of your own. The table around the cards is drawn from the active theme, so the felt, the pile outlines and the panel chrome recolour with the desktop while the deck stays as painted.

Licence

MIT, artwork included. The card back comes from vulturetone's tokyo-night wallpaper, credited in cards/CREDITS.md. Klondike itself is a public-domain card game.