Omahub
← All plugins
J

Another Boring Piece

by John Schmidt

Hand-picked fine art from anotherboring.day as your Omarchy background, with optional rotation on a schedule.

Security review

Review recommended · 1 finding

Deterministic scan — not a security guarantee

Low
Risk level
Low
Analyzed commit
f7de3bd
Scanned
1 month ago

Flagged patterns appear only in documentation files (README / docs) — descriptive examples, not executable code.

  • Docs external_hosts README.md:25

    Downloads or connects to an external HTTP(S) host.

    git clone https://github.com/jopesh/omarchy-boringday.git \

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
f7de3bd
Reviewed
1 month ago

This is a straightforward wallpaper plugin that fetches artwork from anotherboring.day via curl, caches it locally, and sets the desktop background; no install scripts, obfuscation, credential access, or destructive operations were found. The deterministic scan's only finding is the README's git clone example, which is documentation rather than executable plugin code.

  • The plugin downloads third-party images and JSON from external hosts by design, so users should expect network activity to anotherboring.day.
  • The sampled code applies URL, size, and content bounds and shows no signs of malicious behavior.
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/jopesh/omarchy-boringday --enable
Appearance #bar

Another Boring Piece — for Omarchy

Preview Image

Hand-picked fine art from anotherboring.day as your Omarchy background. A pill in the bar opens today's piece plus two more, one click sets any of them, and an optional schedule keeps the wall moving.

The Omarchy port of the Raycast extension of the same name: same public endpoints, no account, no API key.

Requires Omarchy 4 (the Quickshell-based omarchy-shell).

Install

omarchy plugin add https://github.com/jopesh/omarchy-boringday.git --enable

Or from a checkout — the directory must be named for the plugin id, since that is where the shell looks:

git clone https://github.com/jopesh/omarchy-boringday.git \
  ~/.config/omarchy/plugins/boringday.wallpapers
omarchy-shell shell rescanPlugins
omarchy plugin enable boringday.wallpapers right

Using it

Click the 󰋩 pill to open the panel; right-click shuffles a random piece without opening anything, middle-click refetches today's set. The pill takes the accent color while rotation is on.

The three rows are a selector: browsing previews a piece, and the wall only changes when you set it.

Key Action
↑ / ↓ Move the cursor — browsing a piece previews it
Enter Set the previewed piece as the background
s Shuffle — set a random piece
t Add the previewed piece to the current theme
d Save a copy to your pictures folder
e Expand or collapse a truncated description
o Open the piece's page on anotherboring.day
r Fetch today's set again
a Toggle automatic rotation
← / → Pick the rotation period when the cursor is on it
i Cycle the rotation period
Esc Close

Keeping a piece

Setting a piece moves Omarchy's current-background symlink, and that symlink belongs to the theme — switch themes, or cycle with omarchy theme bg next, and the piece is gone.

t makes it permanent: the image is copied into ~/.config/omarchy/backgrounds/<theme>/, the folder that rotation reads from, so the piece becomes one of the theme's own backgrounds. Adding the same piece twice does nothing, and if it is the piece on screen the symlink moves onto the permanent copy.

From the command line

The service registers a boringday IPC target, so everything works with no bar widget on screen — from a keybinding, a script, or over ssh into the session.

omarchy-shell boringday random          # set a random piece now
omarchy-shell boringday today           # set today's piece
omarchy-shell boringday install         # add the piece on the wall to this theme
omarchy-shell boringday auto toggle     # on | off | toggle
omarchy-shell boringday interval 1800   # seconds
omarchy-shell boringday current         # what's on the wall
omarchy-shell boringday status          # JSON: interval, next change, errors
omarchy-shell boringday refresh         # refetch today's set

A Hyprland binding, in ~/.config/hypr/bindings.conf:

bindd = SUPER SHIFT, W, Another boring piece, exec, omarchy-shell boringday random

Settings

Settings live inline on the plugin's entry in ~/.config/omarchy/shell.json, the same place every other bar widget keeps its settings — so the panel's toggle and the boringday auto call are the same switch.

{ "id": "boringday.wallpapers",
  "autoRotate": true,        // rotate on a schedule
  "intervalSeconds": 3600,   // 1h / 3h / 12h / 24h from the panel
  "notify": true }           // notification naming each piece as it changes

The interval is wall-clock, not uptime: the last change is persisted, so restarting the shell resumes the schedule rather than granting a fresh hour. Rotation only advances while omarchy-shell is running.

Where things land

Path What
~/.cache/omarchy/boringday/wallpapers/ Full-size images, newest 20 kept
~/.cache/omarchy/boringday/thumbs/ Panel previews, newest 60 kept
~/.local/state/omarchy/boringday/state.json Last change, current piece, recently-seen ids
~/.config/omarchy/backgrounds/<theme>/ Pieces added with t, kept until you delete them
$(xdg-user-dir PICTURES) Copies saved with d, never overwritten

The list of pieces is not persisted — it is rebuilt on every start. The piece on your wall is, whole record and all, so the panel opens describing what is on screen without asking the server for anything.

How it fits together

Service.qml is headless and loaded once per session: it owns every fetch, the caches, the rotation schedule, and the boringday IPC target. Panel.qml is the bar pill and its popup, and pure view — a bar surface exists per monitor, so it owns no state. Model.js holds the parts worth reading alone: the CDN thumbnail transforms, response parsing, and state serialization.

Images are fetched to disk with curl and rendered from local files, so a dropped network degrades to a stale preview rather than a broken one. Nothing off the network is taken on trust: responses have a size curl refuses to exceed mid-download, records are cut to a bounded shape, and every image is checked against its own header — type and decoded dimensions — before it is previewed or set. The ceilings are the MAX_ constants at the top of Model.js.

License

MIT. The artwork belongs to anotherboring.day and the respective museums and estates; this plugin only points your desktop at it.