Omahub
← All plugins
A

OMEENOTES

by Asfar Sadewa

A pocket pad of sticky notes on your desk. Jot it, stack it, peel it off when it's done.

Security review

No obvious issues detected

Deterministic scan — not a security guarantee

None
Risk level
None
Analyzed commit
f3d7e04
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
f3d7e04
Reviewed
1 month ago

The plugin is a local sticky-notes app that stores notes in a JSON file under ~/.local/state/omeenotes, plays sounds via pw-play, and exposes an IPC interface. The code is straightforward, includes input validation and size limits, and performs no network or system-modifying operations beyond its own state file and optional sound playback.

  • Uses Quickshell.execDetached to invoke pw-play with a path derived from the plugin directory; while the path is fixed and trusted, any future change to allow user-controlled sound file paths could introduce command injection.
  • The state file is user-replaceable; the plugin validates schema and enforces size limits, but a maliciously crafted file could potentially cause resource usage or unexpected behavior, though the limits mitigate this.
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/asfarsadewa/omarchy-omeenotes --enable
Productivity #bar #quickshell

OMEENOTES

OMEENOTES is a plugin for the Omarchy shell. It is a pocket pad of sticky notes: one pile of paper on a felt desk. Jot a note, stack it, peel it off when it is done. There are no statuses, no folders and no accounts — a note exists until you peel it off, and the top of the pile is whatever you put there.

OMEENOTES is a port of the meenotes web app. It keeps the paper: the five colors, the handwriting, the doodle pen, the glue strip, and the way old notes yellow and dog-ear on the pile.

OMEENOTES does not use the network. Notes stay in one local file.

The pad

Terminology

Term Definition
The pile The stack of notes. The top of the pile is the note you see.
The pad The floating panel that shows the pile.
The bar widget The small pile icon in the Omarchy bar, with the note count.
Tuck Move the top note under the pile, so the next note surfaces.
Peel Remove a note for good — with six seconds of regret to undo it.
The fan A grid of every note. Click one to fly it to the top.

Requirements

Item Function
Omarchy 4 (Quattro), with omarchy-shell Hosts the plugin.
pw-play (PipeWire) Plays the paper sounds. Optional — without it the desk is silent.

Omarchy supplies PipeWire. The plugin has no other dependencies; the handwriting font (Caveat, OFL) ships in the plugin directory.

Installation

  1. Add the plugin and enable it:

    omarchy plugin add https://github.com/asfarsadewa/omarchy-omeenotes.git --enable
    

    To read the code before the plugin runs, omit --enable. The plugin then stays disabled. Enable it later with:

    omarchy plugin enable asfarsadewa.omeenotes right
    
  2. Open the pad:

    omarchy-shell omeenotes pad
    

The bar widget shows at the right end of the bar. On the first run the pad holds three notes that explain themselves.

Removal

  1. Disable the plugin:

    omarchy plugin disable asfarsadewa.omeenotes
    
  2. Remove the plugin files:

    omarchy plugin remove asfarsadewa.omeenotes
    
  3. To delete your notes as well, remove the state directory:

    rm -rf ~/.local/state/omeenotes
    

OMEENOTES writes files only in that directory. It does not change the Omarchy configuration.

Operation

The pad

The pad is a floating panel, not a modal overlay. A click outside the pad goes to the window below it, and the pad stays where it is. Drag the pad by its header to move it. The pad takes the keyboard only after a click on it.

You do It does
Click the top note Opens the editor in place — rewrite it, or re-paper it in one of five colors
Click the pen while editing Doodle on the note with the mouse; the ↶ button takes back the last stroke. A doodle with no words is still a note
Drag it sideways Tucks it under the pile so the next note surfaces
Drag it upward Peels it off for good — an undo chip gives you six seconds of regret
Click the + below Slaps a fresh blank note on top, ready to write
Click fan (top right) Spreads the whole pile out; click a note to fly it to the top
Click sound / quiet (top right) Turns the paper desk sounds off or on; the choice sticks

Notes that sit on the pile too long start to show it: after a week the paper yellows a little and a corner dog-ears; after three weeks it fades properly. No badges, no nagging — the pile just looks like what it is.

Controls with the keyboard

Click the pad to use these keys.

Key Result
enter or space Opens the editor on the top note.
◂ ▸ Tucks the top note under the pile.
delete Peels the top note off.
n or + Jots a fresh note.
f Opens or closes the fan.
u Puts the last peeled note back.
m Turns the paper sounds off or on.
q or esc Hides the pad. The pile keeps its order.

While the editor is open, esc or ctrl+enter sticks the note. Sticking a note with no words and no doodle discards it; clearing a note that had content gets the same six-second undo as a peel.

Controls of the bar widget

Action Result
Click with the left button Shows or hides the pad.
Click with the middle button Jots a fresh note and opens the pad on it.
Click with the right button Tucks the top note under the pile.
Turn the scroll wheel Riffles through the pile — read each note off the tooltip without opening the pad.

The widget shows the pile icon and the note count. The icon dims when the pad is all clear. The tooltip shows the top note.

Keyboard shortcuts in Hyprland

The plugin supplies an IPC target with the name omeenotes. Add shortcuts to ~/.config/hypr/bindings.conf:

bindd = SUPER, N, Sticky notes, exec, omarchy-shell omeenotes pad
bindd = SUPER SHIFT, N, Jot a note, exec, omarchy-shell omeenotes add

The IPC target accepts these methods: pad, show, hide, add, tuck, peel, undo, count and state. peel respects the same six-second undo as the pad.

The state file

Notes live in ~/.local/state/omeenotes/notes.json:

{
  "version": 1,
  "quiet": false,
  "notes": [
    { "id": "…", "text": "…", "color": "butter", "createdAt": 1787741067518 }
  ]
}

Array order is pile order: index 0 is the note on top. color is one of butter, blush, mint, sky, tangerine. A note with a doodle carries an ink field: a list of strokes, each a flat [x0,y0,x1,y1,…] list normalized to a 100×106 paper — the same format the meenotes web app stores, so strokes render identically in both.

The file is written atomically on every change. A file that does not parse is set aside as notes.json.corrupt rather than overwritten.

Differences from the web app

The port keeps the pile, the editor, the pen, the fan, the undo chip, the aging paper and the paper sounds. It leaves behind what belongs to a phone: touch flicks become mouse drags, and the photograph feature (render the pile to a PNG for the share sheet) is not ported — on a desktop, hyprshot already photographs anything. The fan's drag-to-restack modes are not ported either; the fan brings a note to the top, which is what the pile actually needs.

Development

To make changes, make a symbolic link to the local copy:

ln -sfn "$PWD" ~/.config/omarchy/plugins/asfarsadewa.omeenotes
omarchy-shell shell rescanPlugins

Edits through the symlink may not trigger the shell's file watcher; run omarchy-restart-shell to pick them up. To see errors:

journalctl --user -f | grep -i omeenotes

The plugin is three QML files. qml/Service.qml owns the pile, the state file, the sounds and the IPC target; qml/Pad.qml draws the desk and turns drags, clicks and keys into service calls; qml/BarWidget.qml is the pile at a glance.

Credits

The design, the interaction grammar and the paper sounds come from meenotes, the mobile web app this plugin ports. The handwriting is Caveat by Impallari Type, bundled under the SIL Open Font License (see fonts/OFL.txt).

License

MIT. Refer to the LICENSE file.