summaryrefslogtreecommitdiffstats
path: root/sys/teken/teken.c
Commit message (Collapse)AuthorAgeFilesLines
* Fix various whitespace inconsistencies in sys/teken.ed2011-06-261-1/+1
|
* Add proper build infrastructure for teken.ed2011-05-091-13/+3
| | | | | | | | | | | I'm not sure whether we should install teken as a library on any stock FreeBSD installation, but I can imagine people want to tinker around with it now and then. Create a /sys/teken/libteken, which holds a Makefile to install a shared library version of the terminal emulator, complete with a manpage. Also add Makefiles for the demo/stress applications, to build it against the shared library.
* Just use <stdint.h> instead of <inttypes.h>. We don't need it here.ed2010-04-031-1/+1
|
* Place home and end before insert and delete.ed2009-11-111-2/+2
| | | | | | These keys have different sequences when using cursorkeys, while insert and delete stay the same. If they are placed like this, libteken will return NULL instead of a proper sequence for these characters.
* Allow Syscons terminal emulators to provide function key strings.ed2009-11-111-8/+69
| | | | | | | | | xterm and cons25 have some incompatibilities when it comes to escape sequences for special keys, such as F1 to F12, home, end, etc. Add a new te_fkeystr() that can be used to override the strings. scterm-sck won't do anything with this, but scterm-teken will use teken_get_sequences() to obtain the proper sequence.
* Discard Device Control Strings and Operating System Commands.ed2009-10-081-0/+19
| | | | | | | | | | | | | | These strings often contain things like: - Window titles. - Extended key map functionality. - Color palette switching. We could look at these features in the future (if people consider them to be important enough), but we'd better discard them now. This fixes some artifacts people reported when using TERM=xterm. Reported by: des@, Paul B. Mahol
* Add 256 color support.ed2009-09-261-0/+51
| | | | | | | | | | | | | | It is quite inconvenient that if an application for xterm uses 256 color mode, text suddenly starts to blink (because of ;5; in the middle). We'd better just implement 256 color mode and add a conversion routine from 256 to 8 color mode, which doesn't seem to be too bad in practice. Remapping colors is done quite simple. If one of the channels is most actively represented, primary colors are used. If two channels are most actively represented, secondary colors are used. If all three channels are equal (gray), it picks between black and white. Reported by: Paul B. Mahol <onemda gmail com>
* Get rid of now deprecated SCS wrappers.ed2009-09-261-2/+2
| | | | | We always build SCS, even when processing 8-bit data. There is no reason why we should be able to disable it now.
* Make SCS work in 8-bit mode.ed2009-09-241-4/+4
| | | | | | | | | | | | | | | | | | | | | | | This means we can finally do things like VT100 box drawing when using Syscons (8-bit characters). As far as I know, the only remaining issue is the absense of proper escape sequences for special keyboard characters (cursor, F1 to F12, etc) and xterm emulation should be ready for general use. Enabling xterm would have the following advantages: - Easier possible migration to Unicode. cons25 termcap entries are very 8-bit centric. They use things like CP437 characters for box drawing, etc. - Better support for SSH'ing to other operating systems/devices. Most switches use VT100-style admin interfaces. - Reduced bandwidth, because applications can now use things like scrolling regions. - You can finally use applications like dtach(1) on both the console and inside an xterm.
* Commit all local modifications I have to libteken:ed2009-09-121-24/+35
| | | | | | | | - Make xterm/cons25 support runtime configurable. This allows me to share libteken between syscons and my new vt driver. - Add a fix to print blanks after printing a double width character to prevent rendering artifacts. - Add some more utility functions that I use in the vt driver.
* Small style(9) bug introduced in the previous commit.ed2009-09-121-2/+2
|
* Make 8-bit support run-time configurable.ed2009-09-121-21/+16
| | | | | Now to do the same for xterm support. This means people can eventually toy around with xterm+UTF-8 without recompiling their kernel.
* Make resizing of teken terminals a bit more safe.ed2009-09-121-4/+1
| | | | | | Just perform a full reset when resizing the terminal. This means the cursor, scrolling region, etc. are never positioned outside the terminal.
* Expose the TF_REVERSE flag to the console driver.ed2009-09-031-21/+0
| | | | | | | | | | | | | | | Right now libteken processes TF_REVERSE internally and returns the toggled colors to the console driver. This isn't entirely correct. This means that the bold flag is always processed by the foreground color, while reversing should be done after the foreground color has been set to a brighter version by the bold flag. This is no problem with the syscons driver, because with VGA it only supports 16 foreground and 8 background colors. My WIP console driver reconfigures the graphics hardware to disable the blink functionality and uses 16 foreground and 16 background colors. This means that this driver will handle the TF_REVERSE flag a little different from what syscons does right now.
* Move libteken out of the syscons directory.ed2009-09-031-0/+430
I initially committed libteken to sys/dev/syscons/teken, but now that I'm working on a console driver myself, I noticed this was not a good decision. Move it to sys/teken to make it easier for other drivers to use a terminal emulator. Also list teken.c in sys/conf/files, instead of listing it in all the files.arch files separately.
OpenPOWER on IntegriCloud