26 Commits

Author SHA1 Message Date
LemonBoy
061fb34750 Modify the terminal initialization sequence
We disable the ICRNL flag to make Enter independent from ^J from the
keybinding point of view since the former will now send ^M, leaving the
user free to remap ^J without trapping itself into the irssi session
because of a broken Enter key.
Also disable the software flow control because we don't expect anyone to
run irssi over a serial console; we gain some more freedom by having ^Q
and ^S freely mappable by the user.
2015-09-19 12:22:58 +02:00
LemonBoy
b5b73cb471 Send smkx/rmkx sequence at terminal init
Enter the "application" mode when setting up the terminal, this improves the
compatiblity with the standards; as a side effect now DEL key works ootb when
irssi is run in the suckless's st terminal.
2015-09-06 15:47:08 +02:00
dequis
f14199d9c1 Change all strcmp() to g_strcmp0() to handle nulls gracefully
Just a string replacement (but i did check every one of them)

    sed -i 's/strcmp(/g_strcmp0(/g' **/*.c
2015-04-07 22:41:05 -03:00
Lukas Mai
0e294d5c2e add italics support; don't use standout for reverse 2014-07-07 00:32:07 +02:00
Ailin Nemui
96a292d40e Finish 256 colour support for Irssi
256 colour patch is cleaned up and the remaining cases are made work,
this includes especially Theme support, which was not implemented
before. Changes not related to colours were reverted again, making a
review of the two patches against master easier to follow.

As a byproduct of the Hex-colour code parser, the 24bit colours are
also implemented. Actually using them in the terminal is guarded by a
compile time switch (as well as a run time switch), as it breaks the
existing colour protocol and requires additional storage.

To make a seamless usage, down-conversion is provided for 8 and 16
colours.

Diverging from Tom's approach, the colour protocol is reverted back to
the original one. Unfortunately, the changes required in the Theme
engine will break the API.

For more details, please refer to the patch documentation at either
http://irssi-docs.wikispaces.com/Notes-256-Colour or
https://github.com/shabble/irssi-docs/wiki/Notes-256-Colour
2014-06-30 02:41:34 +02:00
Tom Feist
2d4edc5187 Initial implementation of 256 colour support for Irssi
This patch implements some 256 colour support for Irssi up from the
previous 16 colours. Initial parsing of the %x/%X format codes is
implemented and the parser accounts in advances the char* for
that.

The colour attributes are widened from 4 to 8 bit. The colour protocol
is changed to a new format. Some pointers to remaining work are
written in the comment in textbuffer.h.

Note that Irssi already does support requesting 256 colours from the
terminal in the original source code, so this part did not have to be
touched.
2014-06-30 00:54:16 +02:00
Emanuele Giaquinta
0957ac5dfe Simplify computation of TERM_REC fields offsets using G_STRUCT_OFFSET/G_STRUCT_MEMBER_P.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4807 dbcabf3a-b0e7-0310-adc4-f8d773084564
2008-04-20 09:24:12 +00:00
Emanuele Giaquinta
2f13aacf43 Change type of 'chr' argument in terminfo_repeat/term_addch to 'char'.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4795 dbcabf3a-b0e7-0310-adc4-f8d773084564
2008-04-04 08:41:44 +00:00
Emanuele Giaquinta
d39d949b79 Print warning messages to stderr rather than to stdout.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4793 dbcabf3a-b0e7-0310-adc4-f8d773084564
2008-03-31 21:55:12 +00:00
Emanuele Giaquinta
e13216adf7 Update the terminfo backend to query the 'colors' capability and support more
than 16 colors (sync from icecap).


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4687 dbcabf3a-b0e7-0310-adc4-f8d773084564
2008-01-25 11:20:40 +00:00
Emanuele Giaquinta
fab544bdbe Add function to set blink to the terminfo backend.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4685 dbcabf3a-b0e7-0310-adc4-f8d773084564
2008-01-24 09:47:08 +00:00
Emanuele Giaquinta
ac006c3442 Remove empty function.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4684 dbcabf3a-b0e7-0310-adc4-f8d773084564
2008-01-24 09:40:10 +00:00
Valentin Batz
5da4a4fe89 Fix colors with TERM=xterm-{88,256}color, patch by Emanuele Giaquinta
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4231 dbcabf3a-b0e7-0310-adc4-f8d773084564
2006-01-31 19:06:20 +00:00
Jochen Eisinger
f9345a7d3c Fixed return code of term_init (resulted in segfault with invalid TERM and
termcap)



git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4076 dbcabf3a-b0e7-0310-adc4-f8d773084564
2005-11-15 23:38:01 +00:00
Timo Sirainen
85a1b122cd Scrolling was buggy with "ri" method, it tried to used "rin" as well
which crashed irssi.. Happened at least with NetBSD/sparc.


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2615 dbcabf3a-b0e7-0310-adc4-f8d773084564
2002-03-14 23:33:33 +00:00
Timo Sirainen
c2e2d606e6 Removed /SET term_scroll_fast - looks like il/dl commands work fine with
scrolling region at least in xterm and linux console, so it looks nice and
is fast.


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2028 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-11-16 10:05:21 +00:00
Timo Sirainen
4d771c54d9 /SET force_colors -> /SET term_force_colors. Added /SET term_scroll_fast
option to specify if we want to scroll with fastest method, or the cleanest
method. The default is cleanest and it looks best with xterm, with some
other terminals where line-by-line scroll is slow, you might want to use the
fast scrolling.


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2015 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-11-15 00:52:35 +00:00
Timo Sirainen
5014a941cb Prefer scrolling with n lines insert/remove to 1 line at a time scrolling
region.


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1991 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-11-12 09:32:11 +00:00
Timo Sirainen
25b04419d4 Reset the color before clearing screen. Set the cursor invisible when moving
around in screen and set it visible again when it's in wanted position.


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1964 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-11-03 14:42:28 +00:00
Timo Sirainen
7b7b235ce8 forgot to define TI_rep for repeat() command.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1944 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-10-29 20:44:45 +00:00
Timo Sirainen
3cdedf5b4b terminfo's term_clrtoeol() uses the clrtoeol() command only when using the default colors. otherwise it just goes and fills the line with spaces.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1941 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-10-29 19:13:52 +00:00
Timo Sirainen
801e593718 term_getch() -> term_gets() which can be used to read multiple keypresses at
once. Also fixes keyboard not working with netbsd.


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1935 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-10-28 23:47:47 +00:00
Timo Sirainen
20e1de5ae1 terminfo_resize() updated - new terminal width can't be taken by reading it
from capabilities. Have to figure out something else (setupterm()?)


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1930 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-10-28 21:49:35 +00:00
Timo Sirainen
3826079dba Use TCSADRAIN option when changing terminfo settings.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1928 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-10-28 19:20:59 +00:00
Timo Sirainen
fb439b5c2a Redrawing fixes - irssi should now rarely redraw stuff uselessly in screen.
Most of the code now just marks the window/statusbar/etc. as dirty, and lets
the dirty-checker handle it later.


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1926 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-10-28 18:40:12 +00:00
Timo Sirainen
2ba339a26b Added support for using terminfo/termcap instead of curses. By default,
configure chooses to use ncurses if found, of terminfo if only curses was
found. --with-terminfo parameter can be used to specify if you want it or
not.


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1924 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-10-28 11:30:26 +00:00