A Shapes button right of Text draws a rectangle, an ellipse, a line of taps or an arrow in the pen's colour and width, with a fill colour of its own; a hold, a secondary press or two quick clicks open its menu. Text and Hide rectangles draw nothing on the page and show blue corners while the pointer hovers over them; free text's red corner mark is gone. Arrange moves and resizes shapes. The colour palette floats below "+" again instead of reflowing the toolbar. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Kokkoja
Kokkoja lets people at different computers write together on a shared page, by hand or by typing, with every page saved automatically to each person's own notebook. It runs in a web browser beside a video call and replaces the call's screen sharing and annotation. It was made first for teaching a foreign language over a video call, and it serves any work that two or more people would otherwise do over one sheet of paper.
Kokkoja is free software under the GNU General Public License, version 3 or later: see LICENSE.md, which also says how the name may be used.
Documentation
The user documentation (an introduction, Kokkoja in five minutes, a guest's Kokkoja, a host's Kokkoja, and how Kokkoja works) is being moved to a new format and is not in this repository at the moment. It will return with a later release.
In short
A guest needs nothing but a web browser: open the invitation link, enter
a name, join. A host can start a session from the same web site,
https://app.kokkoja.com/, with the notebooks kept in the
browser.
A host who wants notebooks as files needs Python 3 and this directory:
python3 kokkoja.py --relay wss://app.kokkoja.com/relay
opens Kokkoja in the browser; Start a session gives an invitation to
send to the guests. Notebooks are directories in Kokkoja in the
Documents directory.
What is here
kokkoja.py: the local program, which serves the client to your browser and keeps your notebooks as files. Python standard library only.client/: the client, plain JavaScript modules run by the browser as written.relay/: the relay server, Python with thewebsocketslibrary.deploy/: how a Kokkoja server is set up (relay plus web site).tests/: the tests (python3 -m unittest discover tests); the end-to-end test needs Firefox and geckodriver, and the QR code's test needs Node.js andpip install -r tests/requirements.txt.LICENSE.md: the license.