A host from the web site; the same page kept once; deleting from the Notebooks chooser

From the development repository at 299f73d, 2026-10-11:
hosting from the site documented; a page loaded from a notebook and left
unchanged is not kept again; notebooks and pages are deleted from the
chooser, to the system's Trash (--trash); the Notebooks button.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
ackandClaude Fable 5.1 committed 2026-10-11 16:59:03 +02:00
1 parent 4e3a281d65
commit 0d01e23d7c
15 files changed
+711 -63

No files matched your search

+45 -12
View File
@@ -4,17 +4,32 @@ The host starts a session, invites the guests and drives the session:
puts images on the page, starts new pages, loads pages from a notebook,
and decides which guests may do the same. In a lesson, the teacher is
the host. Everything in [A guest's Kokkoja](guest.md) applies to the host
too; this part describes what is added, and how to install the Kokkoja
program, which a host needs.
too; this part describes what is added.
## Hosting from the web site, or with the Kokkoja program
A host, like a guest, can use Kokkoja with nothing installed: open
`https://kokkoja.andykopra.com/` in a browser, enter a name, press
**Start a session**, and the invitation is ready in the Session window.
Your notebooks are then kept inside that browser, as a guest's are (see
"Your notebook" in the guest's part): they belong to that browser on
that computer, and a page leaves it by **Keep** or **Export**, which
download it. "Image" asks for the file with the browser's own chooser.
If you would rather have your notebooks as ordinary directories of
files, where you can open, copy, back up and send them, run the Kokkoja
program on your own computer. It is a small Python program with two
jobs: it shows Kokkoja in your web browser, and it reads and writes
your notebooks as directories and files. It listens only to your own
computer and talks to nothing else but the relay you name. Your
identity, too, then belongs to your computer rather than to one
browser, so your writing from an earlier lesson is yours from any
browser there. A teacher who keeps notebooks of exercises and a
notebook per student will want the program; for a first session the
web site is enough.
## Installing the Kokkoja program
A guest can join from a web site with nothing installed. A host runs the
Kokkoja program on their own computer. It is a small Python program with
two jobs: it shows Kokkoja in your web browser, and it reads and writes
your notebooks as ordinary directories and files. It listens only to
your own computer and talks to nothing else but the relay you name.
You need:
* **Linux or macOS.** Windows has not been tried yet.
@@ -97,6 +112,8 @@ Other options, all optional:
yourself.
* `--site ADDRESS` names the web site that invitations link to. You
need it only if your server's web site is not at the relay's host.
* `--trash DIRECTORY` is where deleted notebooks and pages are moved,
instead of your system's Trash; `--trash none` deletes them outright.
## Starting a session
@@ -217,7 +234,7 @@ just large enough for everything on it, images and writing, with the
margin of 5 mm around, which trims a page down to its exercise before you keep
or export it. A blank page cannot shrink.
**Notebook** starts a new page for everyone from a page kept in one of
**Notebooks** starts a new page for everyone from a page kept in one of
your notebooks, with everything that was written on it. A chooser shows
your notebooks on the left and small pictures of the chosen notebook's
kept pages on the right. The loaded page is a copy: the kept page is
@@ -226,9 +243,23 @@ belongs to the participant who wrote it, so a student's answers from an
earlier lesson are still theirs, and your corrections still yours.
This is also how you return to an earlier page of the session: the page
was kept when you left it, and **Notebook** brings it back as a new page.
was kept when you left it, and **Notebooks** brings it back as a new page.
A lesson might go: **New**, **Image** for the exercise, work, **New**
for a point of grammar, work, **Notebook** to return to the exercise.
for a point of grammar, work, **Notebooks** to return to the exercise.
The same chooser deletes. Every page card and every notebook in the
list carries a small × mark; a tap marks it, a second tap unmarks it,
and a marked notebook goes with every page in it. As soon as something
is marked, a **Delete** button in the chooser's header says how much:
"Delete 3 pages?", "Delete 1 notebook and 3 pages?". The first press
says what will happen, "Press again to move 3 pages to the Trash";
the second does it. With the Kokkoja program, deleted notebooks and
pages are moved to your system's Trash, where the
file manager can put them back; the program's `--trash` option
names another directory, or `none` to delete outright. In the browser
there is no Trash, and the button says "for good". The notebook
you are writing in cannot be deleted while you are: choose another
notebook in the toolbar first.
## Co-hosts
@@ -257,7 +288,9 @@ The page you are on is written continuously to `Current.svg` in the
current notebook, and copied to a dated file whenever the session moves
on. **Keep** makes such a copy now, named for the day and a serial
number, such as `2026_10_06_02.svg`; pressing it again before anything
has changed makes no second copy. Any mark counts as a change, even a
has changed makes no second copy, and neither does moving on from a
page that is already kept, such as one loaded from the notebook and left
as it was. Any mark counts as a change, even a
dot from a stray touch of the pen. Use it to mark a state worth keeping
on its own, or to add a finished page to a notebook of exercises.