omajot

Using omajot

Write, find, sync

This page shows the plugin in the Omarchy bar, the web app on your phone and the terminal UI. All show the same notes and work the same way.

Dropdown and main window

Click the note icon in the bar to open the dropdown. Middle-click it to open the main window. The main window is a normal window, so you can tile it next to your work.

Both show three columns:

The dropdown under the note icon in the Omarchy bar
The dropdown, under the note icon in the bar
The main window with folders, tags, the note list and a note with a picture, a table and a checklist
The main window, split layout

The phone button next to the omajot name shows your hub URL as a QR code. In the dropdown, press o to open the selected note in the main window.

The phone QR code over the main window
Scan the code with your phone's camera

App launcher and keyboard shortcut

You can start the main window like an app. This is optional. The plugin does not need it.

Add omajot to the app launcher (SUPER+SPACE). The script is in the plugin folder that omarchy plugin add made:

$ ~/.config/omarchy/plugins/io.github.renerocksai.omajot/tools/install-app.sh

The launcher entry opens the main window. Run the same command with --remove to remove the entry.

To open and close the main window with a key, add this line to ~/.config/hypr/bindings.lua:

o.bind("SUPER + SHIFT + N", "omajot", "omarchy-shell shell toggle io.github.renerocksai.omajot")

The main window is a normal window, so Hyprland tiles it. To open it as a floating window of a fixed size, add a window rule, for example in ~/.config/hypr/looknfeel.lua:

o.window({ class = "^org.quickshell$", title = "^omajot$" }, { float = true, center = true, size = { 1280, 800 } })

Keys

Plugin, outside the editor

KeyAction
j k or ↓ ↑Move in the active column
h l or ← →Go to the sources column or the notes column
Enter or l in the notes columnEdit the selected note
n or Ctrl+NNew note in the selected folder
/ or Ctrl+FSearch titles and text
e or Ctrl+EChange the layout: split, source, preview
p or Ctrl+PPin or unpin the note
mMove the note to a folder
x or DeleteMove the note to the Trash, or restore it
oOpen the note in the main window (dropdown only)
Esc or qClose

Plugin, in the editor

KeyAction
Ctrl+Z / Ctrl+YUndo / redo your own changes. Changes from other devices stay.
Ctrl+B / Ctrl+IBold / italic
Enter in a listContinue the list or checklist. Enter on an empty item ends the list.
Tab after #taComplete a tag that you already use
Ctrl+VPaste text, images, files or HTML
EscLeave the editor

Web app

KeyAction
/Search
Ctrl+Alt+N (⌘+⌥+N)New note
Ctrl+B / Ctrl+IBold / italic
Ctrl+Shift+LMake the line a checklist item
Tab / Shift+TabIndent / outdent
EscGo back to the list (phone)

Editor and preview

You write markdown. The preview shows the result: headings, bold and italic text, lists, tables, code blocks, quotes, links and images. Web addresses become links automatically.

The main window shows the source and the preview side by side. Press e to show only one of them. The setting Editor layout in the main window sets the default.

Source and preview side by side

Titles, checklists and tags

Click a tag in the sources column to show all notes with that tag.

Folders, pins and the Trash

Paste and attachments

In the plugin, Ctrl+V looks at all formats on the clipboard and takes the best one:

  1. An image, for example a screenshot, becomes an attachment.
  2. Files copied in a file manager become attachments.
  3. Markdown, for example from LibreOffice, stays as it is.
  4. HTML, for example from a web page, becomes markdown. Checkboxes become checklist items.
  5. Plain text stays as it is.

Images inside pasted text also become attachments. The plugin downloads remote images too, so your notes do not break when a web page changes. The web app keeps remote images as links, because the browser does not allow the download.

Attachments are named by their SHA-256 hash, for example attachments/3f2a….png. The same image is stored once. The hub stores it once for all devices. In the web app, paste an image, drop it, or use the camera button.

Sync and offline

Every device keeps a full copy of your notes. You can read, write and search without a network. omajot sends your changes when the hub is reachable again.

If you change the same note on two devices, omajot merges both changes. There are no conflict copies.

The plugin shows the sync state next to the omajot name, for example Synced or Offline · 3 unsent. The web app shows it at the bottom of the folders column, for example Up to date.

The web app

Open your hub URL on a phone, a tablet or another computer. On a wide screen the web app shows three columns. On a phone it shows one view at a time: folders, notes, or the note.

Folders and tags on an iPhone
Folders and tags
The note list on an iPhone
The note list
A note in preview on an iPhone
A note in preview

Install the web app on the desktop too: in Chrome or Edge, use Install app. We test the web app in Chrome and Chromium on the desktop and in Safari on iOS 26. Other modern browsers should work.

Add the web app to the home screen: on an iPhone or iPad, tap Share → Add to Home Screen. The web app then starts offline too. Open it in one tab only: a second tab asks which tab keeps the notes.

The terminal UI

Run omajot tui in a terminal. It shows the folders and tags, the notes and the note, like the main window. Move with j k h l or the arrow keys, search with /, and press e to edit the note in $EDITOR (for example Neovim). Each save goes into the note at once, and changes from your other devices show up while you read. Press ? for all keys. The CLI reference has the details.

omajot tui in Ghostty: folders and tags, the note list, and a note with a picture, a table and a checklist
omajot tui in Ghostty. The picture uses the Kitty graphics protocol; the colours come from the Omarchy theme.

Plugin settings

Change the settings in the Omarchy bar settings, or with omarchy bar set io.github.renerocksai.omajot <key> <value>.

KeyDefaultMeaning
hubUrlemptyThe hub URL. Empty: use hub from ~/.config/omajot/config.json.
dataDiremptyWhere the notes are stored on this computer. Empty: ~/.local/share/omajot.
previewModesplitThe editor layout in the main window: split, source or preview.
fontSize0The editor font size. 0 uses the theme size.
daemonPathemptyA different omajot binary. Empty: zig-out/bin/omajot in the plugin folder (a local build) if it exists, else bin/omajot (the release binary).