Version 0.16 Forth Wave

Lecture: Termpaint

Eine moderne Low-Level-Terminal-Abstraktionsschicht

Terminals sind immer noch das Mittel der Wahl für viele.
Aber wie in einem Programm robust Tastatureingaben interpretieren?
Und wie erkennen welche Funktionen das verwendete Terminal unterstützt?

Termpaint ist eine Low-Level-Terminal-Abstraktions-Library, um Entwicklern genau diese Fragen abzunehmen und eine moderne Abstraktion für Terminals anzubieten.

Terminals sind immer noch das Mittel der Wahl für viele.
Aber wie in einem Programm robust Tastatureingaben interpretieren?
Und wie erkennen welche Funktionen das verwendete Terminal unterstützt?

Termpaint ist eine Low-Level-Terminal-Abstraktions-Library, um Entwicklern genau diese Fragen abzunehmen und eine moderne Abstraktion für Terminals anzubieten.
Termpaint geht dabei einen Weg ohne ncurses und terminfo um Eigenschaften von modernen Terminals legacy frei abzubilden und zu umgehen, dass fast alle Terminals dreist TERM=xterm behaupten, obwohl sie weit von voller xterm-Kompatibilät entfernt sind.
Termpaint ist im Kern eine "no-I/O" Library, die sich sowohl in event-driven als auch in klassischen Code integrieren lässt.

Man könnte meinen über 40 Jahre nach der ikonischen VT100 Terminal Serie wäre alles zum Thema Terminals gesagt und getan, aber das Terminalecosystem ist immer noch in Entwicklung und es wird von Implementationen an Details und neuen Features gearbeitet.

Die einfache Idee das Look-and-Feel von GUI-Anwendungen auf dem Terminal nachzuempfinden hat den Vortragenden auf eine lange Reise durch Terminal-Implementationen geführt, um deren wirkliches Verhalten zu erlernen und zu dokumentieren.

Termpaint bietet hier eine Basis für darauf aufsetzende Projekte konkrete UI-Ideen umzusetzen und als Platform für moderne event-driven Terminal-Anwendungen benutzt zu werden.

Info

Day: 2021-08-22
Start time: 16:00
Duration: 01:00
Room: HS3
Track: Development
Language: de

Links:

Files

Feedback

Click here to let us know how you liked this event.

Concurrent Events