From 650fc40fa77cab936ce41445e3236e8f322f3925 Mon Sep 17 00:00:00 2001 From: Nils Pukropp Date: Thu, 22 Oct 2026 16:51:50 +0200 Subject: [PATCH] keys: Ctrl moves between tiles, Ctrl-Q jots from anywhere, the plan gets a screen of its own Alt never reached the app, so the tile keys are Ctrl-h/j/k/l and Ctrl-Shift-h/j/k/l, taken before vim sees them, and h/l walk the tiles while reading. Ctrl-Q lowers the scratchpad from the editor straight into the last note, and raises it back to the document, still writing. The drawer sits in the porthole's opening with a full rim. The board, the agenda, the calendar and a card's back live on a plan screen that S goes to and comes back from, so documents and views never share the screen. The calendar fits its tile instead of scrolling. --- README.md | 40 ++++++---- docs/wiki/Boards-and-Agenda.md | 49 ++++++------- docs/wiki/Commands.md | 26 +++---- docs/wiki/Diary.md | 10 +-- docs/wiki/Getting-Started.md | 6 +- docs/wiki/Guide.md | 21 +++--- docs/wiki/Spaces-and-Documents.md | 7 +- docs/wiki/Writing.md | 6 +- web/src/App.svelte | 9 ++- web/src/lib/Calendar.svelte | 24 ++++-- web/src/lib/Editor.svelte | 11 ++- web/src/lib/Scratch.svelte | 31 ++++---- web/src/lib/Sidebar.svelte | 2 +- web/src/lib/StatusBar.svelte | 8 +- web/src/lib/actions.ts | 38 ++++++---- web/src/lib/commands.ts | 6 +- web/src/lib/keymap.ts | 22 +++--- web/src/lib/modes.ts | 20 ++++- web/src/lib/state/cards.svelte.ts | 2 +- web/src/lib/state/drafts.svelte.ts | 8 +- web/src/lib/state/scratch.svelte.ts | 12 +++ web/src/lib/state/tiles.svelte.ts | 110 ++++++++++++++++++---------- web/src/lib/state/tree.svelte.ts | 84 ++++++++++----------- web/src/lib/state/vault.svelte.ts | 2 +- web/src/lib/store.svelte.ts | 5 +- web/src/lib/writing.svelte.ts | 2 + 26 files changed, 340 insertions(+), 221 deletions(-) diff --git a/README.md b/README.md index b49ca60..5b397f8 100644 --- a/README.md +++ b/README.md @@ -118,11 +118,12 @@ it; in the document pane it is that document. In the browse pane: | `Tab`, `Shift-Tab` | next / previous space | | `w` | overview of every space; `hjkl` then `Enter` | | `f` | fullscreen the focused pane, or the focused tile | -| `Alt-h/j/k/l` | focus the tile in that direction, from the editor too; `Alt-h` past the leftmost tile focuses the list | -| `Alt-Shift-h/j/k/l` | move the focused tile that way | +| `Ctrl-h/j/k/l` | focus the tile in that direction, from the editor too; `Ctrl-h` past the leftmost tile focuses the list | +| `h` / `l` | while reading, the tile to the left / right; `h` past the leftmost goes to the list | +| `Ctrl-Shift-h/j/k/l` | move the focused tile that way | | `L`, `Shift-Enter` | open the highlighted row in a new tile instead of the focused one | | `gt` / `gT` | next / previous tile, in the editor too | -| `Alt-q` | close the focused tile (`:close`); asks first if its draft could not be written | +| `q` | close the document, and its tile when there are several (`:close`); asks first if its draft could not be written | | `j` / `k` | move down / up, or scroll the document when it has focus | | `gg` / `G` | first / last entry, or top / bottom of the document; a first `g`, `d`, `]` or `[` shows in the status line for a second while it waits for the second key | | `Ctrl-D` / `Ctrl-U` | half a page down / up the open document | @@ -143,14 +144,15 @@ it; in the document pane it is that document. In the browse pane: | `m` / `p` | pick nodes up — `m` again puts one back, `M` takes the whole folder — then drop them all into the folder you walk to | | `za` | fold a document's own files open under it in the list, or away again | | `Ctrl`/`Shift`-click | pick a row up / every row from the cursor to it; drag picked-up rows onto a folder, a crumb or a space | -| `S` | the board, the agenda and the calendar tiled ahead of what is open, or every view away again; `Alt-h`/`j`/`k`/`l` move between the tiles, `f` gives one the screen | -| `b` | the board of this space, in a tile; a digit there shows another space's | -| `t` | the agenda: what is late, due this week, or in hand, on every board, in a tile | +| `S` | the plan screen — the board, the agenda and the calendar, in place of the documents and the list — or back to the documents as they were left | +| `b` | the board of this space, on the plan screen; a digit there shows another space's | +| `t` | the agenda: what is late, due this week, or in hand, on every board, on the plan screen | | `T` | today's diary entry, started if there is none | | `C` | the diary by month (`:cal`) — see [The diary](#the-diary) | | `[d` / `]d` | the diary entry before / after the one open, by date | | `c` | capture a card into this space's inbox without leaving where you are — reading a document, a card about it; `Tab` on the line makes it a note, or a line in today's entry | | `Q` | the scratchpad, lowered over whatever is on screen — see [The scratchpad](docs/wiki/Writing.md#the-scratchpad) | +| `Ctrl-Q` | from anywhere, the editor too: the scratchpad down with the last note being written, and again back to where you were, still writing (Firefox quits on it instead) | | `Esc`, `q` | close the document, and its tile when there are several; `Esc` first puts down what `m` picked up | | `h` | up one level in the tree | | `/` | full-text search in this space (`:noh` clears it); `Tab` or `Ctrl-N`/`Ctrl-P` walk the results without leaving the line, `Enter` opens the one lit | @@ -222,13 +224,21 @@ its own scroll position and its own editor, and the keys always act on the focused one. Opening a document that is already in a tile focuses that tile rather than opening it twice. -`Alt-h/j/k/l` moves the focus between tiles and `Alt-Shift-h/j/k/l` moves the -tile itself; `gt` / `gT` and `:bn` / `:bp` cycle through them, `:ls` lists -them, `:b ` focuses one, `:close` (`Alt-q`) closes one and `:only` -every other. `:next` and `:prev` still walk the list. Each space remembers its -tiles, so switching away and back finds them as they were. A card's notes -open in a tile beside what was being read, and `q` there goes back to the -board. Under 768px wide only the focused tile is shown. +`Ctrl-h/j/k/l` moves the focus between tiles, from the editor too, and +`Ctrl-Shift-h/j/k/l` moves the tile itself; while reading, `h` and `l` go to +the tile left and right. `gt` / `gT` and `:bn` / `:bp` cycle through them, +`:ls` lists them, `:b ` focuses one, `:close` (`q` while reading) +closes one and `:only` every other. `:next` and `:prev` still walk the list. +Each space remembers its tiles, so switching away and back finds them as they +were. Under 768px wide only the focused tile is shown. + +The views — the board, the agenda, the calendar and a card's back — have a +screen of their own, the plan, which `S` goes to and comes back from; `b`, `t` +and `C` go there too, to their own view. The documents are put away behind it +as they are, and the plan stays as it is from space to space. Opening a +document from the plan — a card's notes, a day of the calendar — goes back to +the documents and opens it beside them; `q` on a view does the same, and on a +card's back goes back to the board. ## The SFTP mount @@ -257,8 +267,8 @@ start as `sftp_host_key` in the data directory. ## Boards `b`, the board door on the rail, or `:board` shows the board of the space -being browsed in a tile beside what is open, and `q` or `Esc` closes it; `S` -puts it up with the agenda and the calendar. Every space has one except the +being browsed on the plan screen, beside the agenda and the calendar, and `q` +or `Esc` goes back to the documents. Every space has one except the diary — a journal has no backlog — and `:set board` / `:set noboard` changes that for the space you are in (the dimmed board door on the rail does the same). A new board starts with `backlog`, `doing` and `done`, and the columns mean diff --git a/docs/wiki/Boards-and-Agenda.md b/docs/wiki/Boards-and-Agenda.md index bc1e4c4..a9fd670 100644 --- a/docs/wiki/Boards-and-Agenda.md +++ b/docs/wiki/Boards-and-Agenda.md @@ -3,42 +3,39 @@ ## Views The board, the agenda, the [calendar](Diary.md#the-calendar) and the back of -a card are views: tiles like the documents' tiles, opened beside what is on -screen and walked the same way. `S` (or `:plan`) puts the board, the agenda -and the calendar up together, ahead of the documents with the board focused — -the board on the left, the agenda over the calendar on the right when nothing -else is open — and puts every view away again. +a card are views, and they have a screen of their own: the plan. `S` (or +`:plan`) goes there — the board on the left, the agenda over the calendar on +the right, and no list — and back to the documents, which wait behind it as +they were left. The views are tiles like the documents', walked the same way. ![The board, the agenda and the calendar](../images/board.png) | key | what it does | | --- | --- | -| `S` | the board, the agenda and the calendar up together, or every view away | -| `b`, `t`, `C` | to the board, the agenda or the calendar, opening its tile when it is not up | +| `S` | to the plan screen, or back to the documents | +| `b`, `t`, `C` | to the board, the agenda or the calendar, on the plan screen | | `gt` / `gT` | the next / previous tile | -| `Alt-h` / `Alt-j` / `Alt-k` / `Alt-l` | the tile that way; left of the leftmost is the list | +| `Ctrl-h` / `Ctrl-j` / `Ctrl-k` / `Ctrl-l` | the tile that way | | `l` past the last list, `h` in the agenda, `j` past its end | on into the tile beside | | `f` | the focused tile fills the screen; again or `Esc` to leave | -| `1` … `9` | switch space; with a view focused, the views come along | -| `q`, `Esc` | close the view's tile, back to the tile focused before it | +| `1` … `9` | switch space; the plan stays, and the board shows that space's | +| `q`, `Esc` | from a card's back to the board; from the board, the agenda or the calendar back to the documents | The keys go to the tile with focus, which wears the light border and its key -lit in its head; the other views keep their cursors, dimmed. A view is never -replaced by what is opened from it — a card's notes, a day of the calendar, an -entry of the agenda, a row of the list: that opens in a tile beside it, and -`q` on it comes back to the view. Each view is read again whenever it is gone -to. +lit in its head; the other views keep their cursors, dimmed. What is opened +from a view — a card's notes, a day of the calendar, an entry of the agenda — +is a document, so it opens on the documents' screen, beside what is there, and +`S` comes back to the plan. Each view is read again whenever it is gone to. -Each space keeps its own tiles, views among them. Switching space with a view -focused takes the board, the agenda and the calendar along, the way the -special workspace used to stay up: a digit on the board shows that space's -board, with the agenda still beside it. Switching with a document or the list -focused leaves them in the space, and they are there again on coming back. +The plan is the same in every space, the way the desktop's special workspace +stays up: a digit on the board shows that space's board, with the agenda still +beside it. Each space keeps its own documents behind it, and they are there +again on going back. ## The board Every space except the diary has a board. `b`, the board button on the rail, or -`:board` shows it in a tile beside what is open, and `q` or `Esc` closes it. +`:board` shows it on the plan screen, and `q` or `Esc` goes back to the documents. It is the board of the space being browsed, or, in a space without one such as the diary, the last board shown. The head of the board names every space that has one, with the digit that goes there. @@ -119,8 +116,8 @@ outside the browser, see [Capture](Capture.md). ### Notes `gf` on a card, or on its back, opens its notes: a document named after the card, made in the -root of the space the first time, in a tile beside the board. Closing it goes -back to the board, on the same card. +root of the space the first time, among the documents. `S` goes back to the +board, on the same card. The link is loose on purpose: deleting the document leaves the card, because the work is still open when its notes are gone. @@ -186,8 +183,8 @@ does not make a second copy. The board and the agenda show the rule as ## The agenda -`t` (or `:agenda`) gathers what needs you from every board at once, in a tile -of its own. +`t` (or `:agenda`) gathers what needs you from every board at once, on the +plan screen. ![The agenda](../images/agenda.png) @@ -201,7 +198,7 @@ of its own. | --- | --- | | `j` / `k` | down / up, on into the diary entries, then into the tile below | | `h` | to the tile on the left | -| `Enter` | to the card on its own board, in the tile beside, or open the entry | +| `Enter` | to the card on its own board, beside, or open the entry among the documents | | `Space` | finish the card where it stands | | `D` | due date | | `H` / `L` | to the list left / right on its board | diff --git a/docs/wiki/Commands.md b/docs/wiki/Commands.md index ff59215..02af0c1 100644 --- a/docs/wiki/Commands.md +++ b/docs/wiki/Commands.md @@ -19,11 +19,10 @@ arguments and `↑` / `↓` recall earlier lines. | `Tab · Shift-Tab` | next / previous space | | `w` | overview of every space — hjkl, then Enter | | `f` | fullscreen the focused pane or tile; again or Esc to leave | -| `Alt-h/j/k/l` | focus the tile that way, from the editor too — left of the leftmost is the list | -| `Alt-Shift-h/j/k/l` | move the focused tile that way | +| `Ctrl-h/j/k/l` | focus the tile that way, from the editor too — left of the leftmost is the list; h / l do the same while reading | +| `Ctrl-Shift-h/j/k/l` | move the focused tile that way | | `L · Shift-Enter` | open the row in a new tile beside the others | | `gt / gT` | next / previous tile — a view too | -| `Alt-q` | close the focused tile — :close; :only closes the others | | `j / k · ↓ ↑` | move down / up the list — scroll the document when it has focus | | `gg / G` | first / last row, or top / bottom of the document — a first g, d, ] or [ waits a second in the status line | | `Ctrl-D / Ctrl-U` | half a page down / up the open document | @@ -44,13 +43,13 @@ arguments and `↑` / `↓` recall earlier lines. | `za` | a document's own files, folded open under it in the list — again folds them away; p drops marked files in there | | `M` | pick up the whole folder — again puts it all back | | `Ctrl / Shift-click` | pick a row up · every row up to it — drag them onto a folder | -| `S` | the board, the agenda and the calendar, tiled ahead of what is open with the board focused — S again puts every view away | -| `t` | agenda — late, due this week, in hand, on every board — in a tile of its own | +| `S` | the plan screen: the board, the agenda and the calendar, in place of the documents and the list — S again goes back to the documents as they were | +| `t` | agenda — late, due this week, in hand, on every board — on the plan screen | | `T` | today's diary entry, started if there is none — from templates/day when the diary has one | -| `C` | the diary by month, in a tile: h/l a day, j/k a week, H/L a month, . today, Enter opens or starts the day beside it | +| `C` | the diary by month, on the plan screen: h/l a day, j/k a week, H/L a month, . today, Enter opens or starts the day among the documents | | `[d / ]d` | the diary entry before / after the one open, by date | | `Ctrl-P` | find anything, in every space — Enter opens the result lit beside them, n goes on | -| `b` | the board, in a tile: this space's, or the last one shown — 1 … 9 there shows another's | +| `b` | the board, on the plan screen: this space's, or the last one shown — 1 … 9 there shows another's | | `c` | capture a card into this space's inbox, without leaving here — reading a document, a card about it; Tab on the line makes it a note, or a line in today's entry | | `Esc · q` | close the document, and its tile when there are several — Esc first puts down what m picked up | | `/` | full-text search, inside the current space and its text files — Tab or Ctrl-N/P walk the results, Enter opens one | @@ -64,7 +63,7 @@ arguments and `↑` / `↓` recall earlier lines. | `Ctrl-S` | save, from anywhere | | `?` | this screen — the keys to start with, then on a second ? every key and command; h/l a column, / filters it down | | `,` | the settings sheet: vim and the clipboard, the vault, the backup, signed-in browsers, ssh keys, capture tokens | -| `q · Esc` | in a view — the board, the agenda, the calendar, a card's back — close its tile; the focus goes back to the tile before | +| `q · Esc` | on the plan screen: from a card's back to the board, from the board, the agenda or the calendar back to the documents | ### On a board @@ -79,7 +78,7 @@ The first list is the inbox, the last list is done. | `H / L` | move the card to the list left / right | | `Space` | into the done list, or back out to the inbox | | `Enter` | turn the card over, in a tile beside: its labels, description and checklist | -| `gf` | the card's notes — a document, made on first use; q comes back | +| `gf` | the card's notes — a document, made on first use, opened among the documents; S comes back | | `o · c` | new card on this list | | `D` | due date: fri, tm, +3d, 10-31 … | | `R` | rename the card, or the list when it is empty | @@ -103,7 +102,7 @@ The first list is the inbox, the last list is done. | `a` | put on a label, or take it off — :label on the line, Tab offers the board's | | `R · D` | rename the card, its due date | | `H / L` | send the card to the list left / right | -| `gf` | the card's notes — a document, made on first use; q comes back | +| `gf` | the card's notes — a document, made on first use, opened among the documents; S comes back | ### In the agenda @@ -123,6 +122,7 @@ The first list is the inbox, the last list is done. | key | what it does | | --- | --- | | `Q` | lower the scratchpad over whatever is on screen, or raise it again — :scratch takes a note without it | +| `Ctrl-Q` | from anywhere, the editor too: the scratchpad down with the last note being written, and again back to where you were, still writing — Firefox quits on it instead | | `j / k` | down / up the notes, the one touched last on top | | `o` | a new note, written straight away — it saves itself | | `Enter · e · i` | write the note — Esc in normal mode, or :q, comes back to the notes | @@ -154,8 +154,8 @@ whole workspace. A command that does a second thing takes a word for it: | command | what it does | | --- | --- | -| `:board` | this space's board, in a tile — the last one shown when this space has none | -| `:plan, :special` | the board, the agenda and the calendar, tiled ahead of what is open — S puts them up, and every view away again; 1 … 9 on the board picks the board | +| `:board` | this space's board, on the plan screen — the last one shown when this space has none | +| `:plan, :special` | the plan screen: the board, the agenda and the calendar, in place of the documents — S goes there and back again; 1 … 9 on the board picks the board | | `:card, :c [title]` | add a card — reading a document, one about it, titled after it unless named, and gf on it comes back; on the board to the list under the cursor, elsewhere to this space's inbox | | `:due ` | due date of the card in focus — on the board, its back, in the agenda, or the open document's: today, tm, fri, +3d, +2w, 10-31, 2026-10-31 — - clears | | `:repeat ` | once the card is done, a copy comes back in the inbox: daily, weekly, monthly, yearly, +3d, +2w, +6m — - stops it | @@ -196,7 +196,7 @@ whole workspace. A command that does a second thing takes a word for it: | command | what it does | | --- | --- | -| `:close, :clo` | close the focused tile — Alt-q; asks when its draft could not be written | +| `:close, :clo` | close the focused tile — q while reading; on the plan screen, back to the documents; asks when its draft could not be written | | `:only, :on` | close every tile but the focused one | | `:ls, :buffers, :files` | list the open tiles, % on the focused one | | `:buffer, :b ` | focus a tile by its number in :ls, or by the start of its name | diff --git a/docs/wiki/Diary.md b/docs/wiki/Diary.md index c17766a..76e61cc 100644 --- a/docs/wiki/Diary.md +++ b/docs/wiki/Diary.md @@ -13,9 +13,9 @@ an entry written after midnight on a trip still lands on the right day. ## The calendar -`C` (or `:cal`) shows the diary a month at a time, in a -[tile of its own](Boards-and-Agenda.md#views) — under the agenda when `S` puts -them up together. +`C` (or `:cal`) shows the diary a month at a time, on the +[plan screen](Boards-and-Agenda.md#views), under the agenda. The month is +fitted into its tile rather than scrolled. ![The diary by month](../images/calendar.png) @@ -25,8 +25,8 @@ them up together. | `j` / `k` | a week forward / back | | `H` / `L` | a month back / forward | | `.` | today | -| `Enter` | open the day's entry beside the calendar, or start one dated that day | -| `q`, `Esc` | close the calendar's tile; `q` on an entry opened from it comes back here | +| `Enter` | open the day's entry among the documents, or start one dated that day; `S` comes back | +| `q`, `Esc` | back to the documents | A dot marks a day with an entry. A number says how many when there are more than one. diff --git a/docs/wiki/Getting-Started.md b/docs/wiki/Getting-Started.md index f7ce69c..d40ec4a 100644 --- a/docs/wiki/Getting-Started.md +++ b/docs/wiki/Getting-Started.md @@ -71,9 +71,9 @@ The rail of buttons on the right does the same as the keys, for a mouse. add a name and press `Enter`. `l` or `Enter` on the folder goes into it, and `h` comes back up. 6. Press `c`, type `try the board`, and press `Enter`. That is a card in the - inbox of this space's board. Press `b` to see the board in a tile, and - `Esc` to close it. `S` puts it up with the agenda and the calendar, and puts - them away again; `Alt-h`/`j`/`k`/`l` walk between the tiles. + inbox of this space's board. Press `b` to see the board on the plan screen, + beside the agenda and the calendar, and `Esc` to go back to the documents. + `S` goes to the plan and back; `Ctrl-h`/`j`/`k`/`l` walk between the tiles. 7. Press `T`. That is today's diary entry, started for you. 8. Press `?` for the list of every key and command. `h` / `l` walk its columns, `/` narrows it down, and `Esc` closes it. diff --git a/docs/wiki/Guide.md b/docs/wiki/Guide.md index 90ed347..3963784 100644 --- a/docs/wiki/Guide.md +++ b/docs/wiki/Guide.md @@ -11,9 +11,9 @@ The keys are the desktop's. On a phone, every one of these has a button; see ## Morning: what needs you The first time you open the workspace each day, the **agenda** opens by itself -when anything is late or due. Any other time, press `t`. It opens in a tile -beside what is open; `S` puts it up with the board and the calendar, and puts -them away again, and `Alt-h`/`j`/`k`/`l` walk the tiles. +when anything is late or due. Any other time, press `t`. It is on the plan +screen, with the board and the calendar, in place of the documents; `S` goes +there and back again, and `Ctrl-h`/`j`/`k`/`l` walk the tiles. ![The agenda](../images/agenda.png) @@ -56,8 +56,9 @@ to it and press `L` instead: it opens in a **tile** of its own. ![Two documents in tiles](../images/tiles.png) -`Alt-h` and `Alt-l` move between the tiles and back to the list, `Alt-q` -closes one, and `f` makes the focused one fill the screen. Each space remembers +`h` and `l` move between the tiles and back to the list, `Ctrl-h` and +`Ctrl-l` from the editor too, `q` closes one, and `f` makes the focused one +fill the screen. Each space remembers its tiles, so switching away and back finds them as they were. More in [Spaces and documents](Spaces-and-Documents.md). @@ -89,8 +90,8 @@ on the same line makes it a note on the scratchpad, and `Tab` again a timed line in today's diary entry. A note waits there until `K`, `C` or `A` turns it into a document, a card, or more of a document. -Press `b` to see the **board**, in a tile beside the document. A digit there -shows the board of another space. +Press `b` to see the **board**, on the plan screen. A digit there shows the +board of another space. ![The board](../images/board.png) @@ -99,9 +100,9 @@ hand. `h`/`l` move between lists and `j`/`k` between cards. `H`/`L` move a card across, `Space` finishes it, and `D` sets its due date. `Enter` turns a card over to its labels, description and checklist, in a tile beside, and `gf` opens its notes: a document made for the card the first time you ask, -also beside, and `q` on it comes back to the board. `:repeat weekly` makes a -card come back in the inbox each time it is finished. `q` on the board closes -its tile. +opened among the documents, and `S` comes back to the board. `:repeat weekly` makes a +card come back in the inbox each time it is finished. `q` on the board goes +back to the documents. ### Finding things diff --git a/docs/wiki/Spaces-and-Documents.md b/docs/wiki/Spaces-and-Documents.md index e967f87..68b6841 100644 --- a/docs/wiki/Spaces-and-Documents.md +++ b/docs/wiki/Spaces-and-Documents.md @@ -103,11 +103,12 @@ Several documents can be open at once, each in a tile of its own. it in the focused one. - Tiles share the space the way a tiling window manager does: two side by side, a third splits the newer one, and so on. -- `Alt-h/j/k/l` moves the focus between tiles, and `Alt-h` past the leftmost - goes back to the list. `Alt-Shift-h/j/k/l` moves the tile itself. +- `Ctrl-h/j/k/l` moves the focus between tiles, from the editor too, and + `Ctrl-h` past the leftmost goes back to the list. While reading, `h` and `l` + do the same. `Ctrl-Shift-h/j/k/l` moves the tile itself. - `gt` / `gT` (or `:bn` / `:bp`) cycle through them, `:ls` lists them, and `:b ` focuses one. -- `Alt-q` (or `:close`) closes the focused tile, `:only` every other one, and +- `q` (or `:close`) closes the focused tile, `:only` every other one, and `f` makes the focused tile fill the screen. Opening a document that is already in a tile focuses that tile rather than diff --git a/docs/wiki/Writing.md b/docs/wiki/Writing.md index 51dc9dc..88d86f9 100644 --- a/docs/wiki/Writing.md +++ b/docs/wiki/Writing.md @@ -60,7 +60,10 @@ Each save keeps the text it replaces, so nothing written is lost. See Not every note knows yet where it belongs. `Q` (or `:scratch`) lowers the scratchpad from under the bar, over whatever is on screen, the way the desktop lowers its own; `Q`, `q` or `Esc` raises it again, and what was on -screen is as it was. Its notes have no name, no space and no folder: a note is +screen is as it was. `Ctrl-Q` works from anywhere, the editor included: the +scratchpad comes down with the last note being written, at its end, and +`Ctrl-Q` again puts it away and goes back to the document, still writing where +it was left. Firefox quits on `Ctrl-Q`, so there it is `Q` only. Its notes have no name, no space and no folder: a note is a body and the time it was last touched, newest on top. | key | what it does | @@ -73,6 +76,7 @@ a body and the time it was last touched, newest on top. | `A` | put it at the end of a document (`:append [document]`) | | `dd` | drop the note (asks y/N) | | `Q`, `q`, `Esc` | raise the scratchpad | +| `Ctrl-Q` | from anywhere, while writing too: down with the last note being written, and back again | A note is written in the same editor as a document, and saves itself the same way. `Esc` in normal mode, or `:q`, goes back to the notes; a note left empty is diff --git a/web/src/App.svelte b/web/src/App.svelte index 1eabd5e..e9641fe 100644 --- a/web/src/App.svelte +++ b/web/src/App.svelte @@ -246,8 +246,8 @@ [[...keysOf('tree', 'down'), ...keysOf('tree', 'up')], 'browse, l opens, L opens beside'], [keysOf('global', 'space'), 'switch space, Tab cycles'], [keysOf('global', 'overview'), 'overview of every space'], - [keysOf('global', 'plan'), 'board, agenda and calendar'], - [[...keysOf('global', 'board'), ...keysOf('global', 'agenda'), ...keysOf('global', 'calendar')], 'one of them, in a tile'], + [keysOf('global', 'plan'), 'the plan: board, agenda, calendar'], + [[...keysOf('global', 'board'), ...keysOf('global', 'agenda'), ...keysOf('global', 'calendar')], 'one of them, on the plan'], [keysOf('tree', 'capture'), 'capture a card to the inbox'], [keysOf('global', 'find'), 'find in every space'], [keysOf('tree', 'search'), 'search this space'], @@ -293,6 +293,7 @@ class="panes switch" class:reading={workspace.tiles.all.some((tile) => !tile.empty)} class:full={workspace.fullscreen} + class:plan={workspace.tiles.planning} class:focus-doc={workspace.focus !== 'list'} style="--dir: {workspace.switchDirection}" > @@ -433,6 +434,10 @@ height: calc(var(--h) * 100% - var(--gap)); } + /* The plan screen: the views alone, with no list beside them. */ + .panes.plan { grid-template-columns: 1fr; } + .panes.plan .window.list { display: none; } + /* `f`: the focused pane fills the porthole — the list, or one tile. */ .panes.full { grid-template-columns: 1fr; } .panes.full.focus-doc .window.list, diff --git a/web/src/lib/Calendar.svelte b/web/src/lib/Calendar.svelte index a1d7a71..df8ba80 100644 --- a/web/src/lib/Calendar.svelte +++ b/web/src/lib/Calendar.svelte @@ -83,14 +83,18 @@