Add two functions to enter/leave our VT object. This allows to implement to expected behavior of automatically switching to the kmscon when it is running on a new tty, and switching back to the tty we came from when the program finishes. Presumably this behavior will be controlled by a config variable or command line argument later on (like Xorg's -novtswitch). There's a bit of a subtlety in this because of VT_PROCESS. We need permission from ourselves to switch in/out of out VT; this is done when processing SIGUSR[12] in the eloop. We therefore must dispatch the loop at least once after switching out. The usual case is demonstrated in test_vt.c. Signed-off-by: Ran Benita <ran234@gmail.com> Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
= KMSCON = Kmscon is a simple terminal emulator based on linux kernel mode setting (KMS). It is an attempt to replace the in-kernel VT implementation with a userspace console. == Requirements == Kmscon requires the following software: - mesa with: - EGL library - gbm library - GL library - pango with: - glib - cairo - pango == Install == To compile the kmscon binary, run the standard autotools commands: $ ./configure [--enable-debug] $ make $ make install To compile the test applications, run: $ make check == License == This software is licensed under the terms of the MIT license. Please see ./COPYING for further information. == FAQ == === Why didn't you use libvte or similar terminal emulators? === All existing terminal emulators I found highly depend on X. Also, their code base often is a horrible mess. I haven't had the time to convert them to use other drawing functions than Xlib, yet. If you feel like doing this work, please notify me. I would be glad to adjust my code to work with other terminal emulators. == Contact == This software was written by: David Herrmann <dh.herrmann@googlemail.com> If you have any questions, do not hesitate to contact one of the developers. == Code Base == The kmscon code is split into several independent subsystems: - output: This code manages the KMS/DRI output and provides OpenGL framebuffers. - console: This draws the text on the screen and provides an API for any terminal emulator to visualize its contents. - evdev: All linux input events are captured here and converted to Unicode characters for input handling. - vte: The terminal emulator library. - main: This connects all subsystems into a usable console application.
Description
Languages
C
93.4%
M4
2.9%
Makefile
1.6%
GLSL
1.3%
C++
0.7%
Other
0.1%