System 59
Introduction
System 59 is a basic window system together with a basic terminal emulator.
It can be a comfortable programming environment if Vim and Bash are all you
need to be productive.
System 59 is written in C, runs on Linux, and has few runtime dependencies
(systemd-logind, libsystemd, libudev, libdrm).
Here are the user-commands implemented by System 59:
META+ESC Exit.
META+TAB Move focus to the next window.
META+1 Move focus to workspace 1.
META+2 Move focus to workspace 2.
META+3 Move focus to workspace 3.
META+4 Move focus to workspace 4.
META+F1 Switch to VT 1.
META+F2 Switch to VT 2.
META+F3 Switch to VT 3.
META+F4 Switch to VT 4.
META+T Start a terminal emulator in the focused window.
META+G Start an application launcher in the focused window.
Here are the message types in the System 59 client-server protocol:
WELCOME
SHOW
BUFFER_UNLOCKED
KEYBOARD_EVENT
KEYBOARD_ATTACHED
KEYBOARD_DETACHED
RESET
RESET_COMPLETED
Notes
The keymap is configured like so (you can also choose dvorak, or write your own):
$ cp keymap-qwerty.c keymap.c
To use the terminal, you need to install the terminfo entry. The following
will create ~/.terminfo/e/ebt.
$ tic ebt.info
Use GNU Make to build:
$ make
The client programs ("term", "germ", etc) must be in $PATH. An easy
solution is the following:
$ PATH=$PATH:$PWD ./shell
See also
http://norstrulde.org/system59