2026-09-02 – 07:30
work 3 open · 1 doneWorkplans/2026-09-02.md
exp < now — off by one on the boundary second.
if exp <= now {
return ErrExpired
}
A note app for KDE Plasma built around a single idea: one dated workplan per day. When tomorrow starts, the things you didn't finish come with you and the things you did stay behind. Everything is a plain markdown file in a directory you own.
KDE Plasma · Qt 6 and KDE Frameworks 6 · your Breeze theme, your fonts · MIT licensed
Nota is being rewritten. It used to draw its interface in an embedded WebKitGTK view; it is becoming a native Kirigami application, so it follows your colour scheme, your fonts and your shortcuts instead of bringing its own.
The note format has not changed and will not — an existing vault opens unchanged, and the files the new build writes are byte-for-byte what the old one wrote. The parser, the vault, the settings and the rollover rules are ported and tested; the interface is being built now. The latest release is still the previous build, and it keeps working.
The daily workplan
Press Enter and the next checkbox is already there, focused. Arrow keys move between items.
Tab nests. Type #label inline. Paste a whole list and every line becomes an item.
Workplans/2026-09-02.md
exp < now — off by one on the boundary second.
if exp <= now {
return ErrExpired
}
Small on purpose. These are the things a working day actually needs.
Unfinished items move to the new day keeping their id, original creation time, labels, logged time, notes and nesting. Finished ones stay on the day you finished them.
Monday carries from Friday. The rule is "the most recent workplan", never "yesterday", so weekends, leave and holidays don't lose your list.
Every workplan shows the time worked — 2026-09-02 - 09:00 — sitting at 00:00 on a weekend, leave day or holiday. One figure per day, set by you.
Every item records the moment you typed it, and keeps it across every rollover. An item nagging you since the 1st still says so on the 5th.
Type #label anywhere in an item. Search by it later, or ignore the feature entirely — nothing requires one.
Fenced blocks with real syntax highlighting, under an item or anywhere on the page. Paste a stack trace and it still reads like one.
Check the calendar, log the bill. Daily, weekdays or a given weekday, from one hand-editable file. Delete one for today and it stays gone for today.
One zip of the whole vault, and back again. Complete by construction, because the markdown is the data.
A workplan starts with what repeats: check the calendar, bill the day. Add one in the section at the top and it comes back every morning unticked, whether or not you finished it yesterday. Stop it and your past workplans keep their copy.
When a page shows both items and notes, a control in the header puts them next to each other or one under the other. It is on the page, not in a settings dialog, and it applies to workplans as well.
Paste a screenshot into a page's notes or an item's notes. It lands in attachments/ in your vault and is linked as ordinary markdown, so it opens in any editor and travels in your backups.
No accounts, no telemetry, no sync service, no update check. Nota makes no network requests at all — your package manager already knows how to update software.
The sidebar tree is the directory tree: folders hold pages, and a page holds items, notes or both. Make, rename and delete them there. Nothing is hidden in a database you can't read.
Type ## Must on an empty row and everything after it is grouped. A heading rolls over with its open items and disappears once the group is done.
Hover any item for done, delete and move-to-today. Ctrl+Enter, Ctrl+Backspace and Ctrl+Shift+M do the same from the keyboard — and every one of them is rebindable, because they are ordinary KDE actions.
The interface, notes and code fonts are the ones Plasma is set to. Override any of the three if you want to — the choice travels with the vault — but nothing is bundled to overrule a setting you already made.
Breeze colours, your icon theme, your window decorations. Light and dark follow Plasma because they are Plasma — there is no separate theme to keep in sync.
The markdown files are the source of truth. Anything the app keeps beside them is a cache — delete it and it rebuilds. If Nota disappeared tomorrow, your notes would still open in any editor.
On disk
~/Notes/
Workplans/ # one note per day
2026-09-01.md
2026-09-02.md
Projects/
rv-license/
api-notes.md
.nota/ # settings, templates, trash
grep -r "auth bug" ~/Notes works. So does git init, so does
opening a page in Kate, and so does syncing the folder with anything you already use.
Inside a workplan
---
type: workplan
date: 2026-09-02
hours: "01:20"
daytype: work
---
- [ ] Check calendar #daily <!--n id:01K6M2R0 t:08:55-->
- [x] Fix auth expiry #rv-api
Off by one on the boundary second.
- [ ] Review PR 412 <!--n from:2026-09-01 carried:1-->
Labels stay visible where you'd write them. Only ids and timestamps hide in a comment markdown doesn't render. The filename stays the date — the hours live in the frontmatter, so setting them never renames a file.
You asked for no clicking. There is no clicking.
| Key | Does |
|---|---|
| Enter | New item below; at the start of an item, one above; mid-text, splits it in two |
| Backspace | At the start of an item, folds it into the one above |
| ↑ / ↓ | Move between items |
| Backspace on an empty item | Delete it and move up |
| Tab / Shift+Tab | Indent or outdent to nest |
| Ctrl+Enter | Tick it done, stamping the time |
| Ctrl+Backspace | Delete the item |
| ## on an empty row | Turn it into a heading that groups what follows |
| Ctrl+Shift+N | Open the item's notes for prose or code |
| Ctrl+E | Swap the whole page to raw markdown and back |
| Paste several lines | One item per line — - [x] lines arrive already ticked |
One line, no root. Everything lands under ~/.local.
Any distribution
curl -fsSL https://raw.githubusercontent.com/\
vishnu-kyatannawar/nota/main/install.sh | sh
Checks for Qt 6 and every framework first and prints your distribution's install line if any are missing, then builds and installs with a desktop entry and an icon.
Arch and CachyOS
curl -fsSLO https://raw.githubusercontent.com/\
vishnu-kyatannawar/nota/main/PKGBUILD &&
makepkg -si
The packaged route, so pacman owns the files and pacman -R nota-git
removes them again.
It builds rather than downloading a binary, and that is deliberate: a KDE Frameworks application links the libraries its own distribution ships, so a prebuilt tarball would fail to start on a good share of the machines that ran it. Building against the frameworks you already have is the honest version of a one-line install for this kind of program. Needs Qt 6.9+ and KDE Frameworks 6.10+.
Windows ends at v4.6.1. A Kirigami application there would mean shipping Qt and every framework for a window with no Breeze and no Plasma integration, which is the opposite of the point.