filterm - filter terminal input and/or output
filterm INPUT OUTPUT [COMMAND [ARGS]]
Execute the specified COMMAND (default is the shell), filtering
terminal input and/or output.
It can help e.g. when our terminal is unable to display non-ASCII
characters or to enter them from the keyboard. It also makes writing
various terminal filters easier.
INPUT and OUTPUT are names of konwert’s filters - they are passed as
the first argument to the konwert(1) program. filterm - OUTPUT filters
only output, and filterm INPUT - only input.
The command - executes the shell as a login shell.
It differs from konwert INPUT | COMMAND | konwert OUTPUT in that the
command is executed on a pseudo-terminal, so full-screen programs work
The filters have to output the characters as soon as they receive all
necessary input, without buffering. trs(1) scripts are OK, but sed(1)
or awk(1) or tr(1) scripts are not. In C you may use read(), getchar(),
fread(), and write(), but putchar() and fwrite() only together with
fflush(stdout). In C++: cin.get(), cout.put(), and cout <<. In perl:
sysread, getc, read, and syswrite, but print only with $| = 1.
The input filter will have set the environment variable FILTERM=in, and
the output one - FILTERM=out. This way some filters can slightly alter
their behaviour when working for filterm.
--help display help and exit
--version output version information and exit
FILTERS FOR FILTERM
See konwert(1). Additionally the following konwert’s filters are
designed only for filterm:
ASCII with Polish letters shown as bold.
Replaces the characters 128..159 shown by the Pine (or another
program) as ^..^ back to the real 128..159.
Changes the mapping of colors in 512-character mode, which
restricts the number of colors to eight. The palette is
dynamically changed to contain the eight most recently used
colors. When more colors are used at once, some of them display
Changes the mapping of colors in 512-character mode. Instead of
ignoring the intensity, the following colors are available:
black, red, green, white, blue, light magenta, light cyan, light
gray; others are substitutied with approximations. This gives
better effect, allowing to show the intensity, with the side-
effect of belying the hue of some colors.
Keyboard macros. A sequence of keys can be recorded with Esc
Ctrl-A SEQUENCE Esc Ctrl-E SHORTCUT - after which, if you press
the SHORTCUT, the SEQUENCE will be generated instead. Later such
assignment can be deleted with Esc Ctrl-A Esc Ctrl-E SHORTCUT
Esc Ctrl-E. Instead of Esc Ctrl- you often may press Ctrl-Alt-.
The defined shortcuts, together with the above redefinable key
combinations used to define them, are stored in the ~/.kbdmacros
file. Note: when you redefine a sequence, all its prefixes will
not be passed through immediately, but wait until it can be
unambiguously told which sequence was actually input. This
includes escape sequences representing some extended keys.
512bold filter is not perfect. Some escape sequences may be emulated
incorrectly. Additionally, colors changed in multiple steps or not used
unnecessarily allocate some of the eight colors.
filterm filters terminal input and/or output. It forms part of the
Copyright (c) 1998 Marcin ’Qrczak’ Kowalczyk
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
option) any later version.
This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
__("< Marcin Kowalczyk * firstname.lastname@example.org http://qrczak.home.ml.org/
\__/ GCS/M d- s+:-- a21 C+++>+++$ UL++>++++$ P+++ L++>++++$ E->++
^^ W++ N+++ o? K? w(---) O? M- V? PS-- PE++ Y? PGP->+ t
QRCZAK 5? X- R tv-- b+>++ DI D- G+ e>++++ h! r--%>++ y-