OmNote is a lightweight, theme-aware plain-text editor built with GTK4 and libadwaita.
It integrates seamlessly with the Omarchy desktop environment and provides a clean, efficient workspace with minimal dependencies and “NASA(ish)-style” code hygiene.
- Automatic theme synchronization with Omarchy (supports live updates)
- Multi-tab editing with full session persistence
- Find/Replace interface with smooth animations
- Efficient state management (cursor position, geometry, unsaved tabs)
- Minimal dependency footprint (Python + GTK4/libadwaita)
- Reliable error handling and robust file I/O
OmNote is installed using pipx, which isolates the app from system Python while still providing a normal omnote command.
Because GTK bindings are provided by your OS, OmNote must be installed with access to system site-packages.
pipx install --system-site-packages \
"git+https://github.com/litescript/OmNote.git"After installation:
omnoteOr launch OmNote from your desktop environment’s application menu.
Requirements:
- Python 3.11+
- pipx
- GTK 4
- libadwaita
- PyGObject (GI bindings)
Arch Linux:
sudo pacman -S --needed \
python python-pipx python-gobject \
gobject-introspection gtk4 libadwaitaUbuntu / Debian:
sudo apt install -y \
python3 python3-pip pipx \
python3-gi gir1.2-gtk-4.0 gir1.2-adw-1If pipx is missing:
python3 -m pip install --user pipx
pipx ensurepathDesktop Launcher (Optional):
cat > ~/.local/share/applications/omnote.desktop << 'EOF'
[Desktop Entry]
Type=Application
Name=OmNote
Comment=Lightweight GTK note editor
Exec=omnote
Icon=omnote
Terminal=false
Categories=Utility;Office;
StartupNotify=true
EOF
update-desktop-database ~/.local/share/applications 2>/dev/null || trueInstall from Source (Development):
git clone https://github.com/litescript/OmNote.git
cd OmNote
./install.sh- From Omarchy launcher: search for “OmNote”
- From terminal:
omnote
omnote file.txt
omnote --help| Action | Shortcut |
|---|---|
| New tab | Ctrl+N / Ctrl+T |
| Open file | Ctrl+O |
| Save | Ctrl+S |
| Close tab | Ctrl+W |
| Next/Prev tab | Ctrl+Tab / Ctrl+Shift+Tab |
| Find | Ctrl+F |
| Find & Replace | Ctrl+H |
| Toggle line numbers | Ctrl+L |
| Quit | Ctrl+Q |
| Next/Prev match | F3 / Shift+F3 |
- State:
~/.config/omnote/state.json - Debug log:
~/.cache/omnote/debug.log
- Omarchy theme (
~/.config/omarchy/current/theme/) - Alacritty configuration
- Kitty configuration
- Foot configuration
OMNOTE_*environment variables- System GTK4 theme (fallback)
Force system theme:
omnote --system-theme
# or
export OMNOTE_THEME_MODE=systemDisable live theme watching:
omnote --no-watch
# or
export OMNOTE_NO_WATCH=1Legacy MICROPAD_* variables remain supported.
make runmake lint
make type
make testpython -m venv .venv && source .venv/bin/activate
pip install ruff mypy pytestpipx uninstall omnoterm ~/.local/share/applications/dev.omarchy.OmNote.desktop
rm ~/.local/share/icons/hicolor/scalable/apps/dev.omarchy.OmNote.svgMIT License. See https://github.com/litescript/OmNote/blob/main/LICENSE.md for details.


