1
0
mirror of https://github.com/irssi/irssi.git synced 2024-12-04 14:46:39 -05:00
Commit Graph

67 Commits

Author SHA1 Message Date
dequis
367d8efc5f Fix blinking/bold text in terminals with no color support
Before this, doing "TERM=vt100 irssi" showed all text as bold and
blinking because of a failed check of window->term->TI_colors that
was doing (value & 8) and not expecting a value of 0.

The changed lines themselves look a bit weird, but they make more sense
in the context of the original commit, 96a292d4.
2014-12-14 18:21:40 -03:00
Ailin Nemui
836d386823 Add bounds check to array access in terminfo driver.
this fixes a crash due to illegal memory access that can occur if
something is printed to the screen on the "terminal resized"
handler. It is not clear to me whether this race condition can be
triggered by external incoming messages, but it might be better safe
than sorry.
2014-08-09 11:40:37 +02:00
Ailin Nemui
1cf7017ac9 fix colour 0 again
the previous commit was broken, as it conflicted with the colour
\#000000. Now both the "real colour black" and the "terminal colour 0"
are working.
2014-07-24 00:11:42 +02:00
Ailin Nemui
41fab0707f restore the colour 0 ("black") that got broken by extended colours
the colour 0 was broken by the extended colours patch because it needs
an explicit bit check (lower bits will be false since it is 0)

Thanks to lhynes for the report
2014-07-23 23:42:05 +02:00
Lukas Mai
0e294d5c2e add italics support; don't use standout for reverse 2014-07-07 00:32:07 +02:00
Alexander Færøy
b03b65e029 Merge pull request #85 from dgl/werror
Make configure checks able to build with -Werror
2014-07-06 23:05:34 +02:00
David Leadbeater
beec29c305 Make configure checks able to build with -Werror
Also fix a few compiler warnings, this combined with pull #82 allows me to build
with CFLAGS="-Werror -Wall".
2014-07-06 18:56:17 +01:00
Ailin Nemui
c104627462 fix compiler warnings in extended colour code 2014-07-04 12:46:51 +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
Alexander Færøy
3eea03ccb8 Irssi now detects a paste if it reads at least three bytes in a single read;
subsequent reads are associated to the same paste if they happen before
'paste_detect_time' time since the last read. If no read occurs after
'paste_detect_time' time the paste buffer is flushed; if there is at least one
complete line its content is sent as a paste, otherwise it is processed
normally.

Thanks to Emanuele Giaquinta.



git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@5121 dbcabf3a-b0e7-0310-adc4-f8d773084564
2010-02-27 14:57:16 +00:00
Jilles Tjoelker
d979a991c8 Check for SIGCONT using a custom GSource instead of every 0.5 second.
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@5022 dbcabf3a-b0e7-0310-adc4-f8d773084564
2009-02-27 14:20:35 +00:00
Emanuele Giaquinta
14b9462ae4 Factor computation of fg/bg.
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@4943 dbcabf3a-b0e7-0310-adc4-f8d773084564
2008-12-05 13:55:23 +00:00
Emanuele Giaquinta
621761cff3 Handle bold/blink attributes like other attributes rather than mapping them to
the eighth bit of the color. The formats KBGCRMYW and the mirc colors are now
mapped to colors 8-15. fe-text translates colors 8-15 to bold/blink+0-7 if the
terminal supports only 8 colors.


git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@4909 dbcabf3a-b0e7-0310-adc4-f8d773084564
2008-11-15 21:51:07 +00:00
Emanuele Giaquinta
7b529aa530 Remove get_utf8_char/utf16_char_to_utf8 in favour of glib
g_utf8_get_char_validated/g_unichar_to_utf8.


git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@4893 dbcabf3a-b0e7-0310-adc4-f8d773084564
2008-11-10 11:59:31 +00:00
Emanuele Giaquinta
83ad9855e7 Reindent.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4811 dbcabf3a-b0e7-0310-adc4-f8d773084564
2008-04-21 20:23:17 +00:00
Emanuele Giaquinta
a6090c7f8f Remove no longer needed kludge to inhibit writing in the last cell.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4810 dbcabf3a-b0e7-0310-adc4-f8d773084564
2008-04-21 17:32:55 +00:00
Emanuele Giaquinta
eb6ee3136f Simplify.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4808 dbcabf3a-b0e7-0310-adc4-f8d773084564
2008-04-20 10:27:32 +00:00
Emanuele Giaquinta
7bd938542e Remove non-working detach/attach code.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4806 dbcabf3a-b0e7-0310-adc4-f8d773084564
2008-04-19 15:01:16 +00:00
Emanuele Giaquinta
e361d2f498 Remove the need to buffer input by moving the 'gui key pressed' events
generation into term_gets.


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4805 dbcabf3a-b0e7-0310-adc4-f8d773084564
2008-04-16 21:14:05 +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
fee983d9fc Replace usage of get_utf8_char with g_utf8_get_char_validated.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4742 dbcabf3a-b0e7-0310-adc4-f8d773084564
2008-03-09 16:41:20 +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
3e5ad97676 Do not assume that bit 0x80 enables blink, rather call set_blink when
blink is requested.


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4686 dbcabf3a-b0e7-0310-adc4-f8d773084564
2008-01-24 13:39:17 +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
Emanuele Giaquinta
5bcafebbd4 Assume width 1 for control characters in places where a non-negative width is
expected.


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4535 dbcabf3a-b0e7-0310-adc4-f8d773084564
2007-05-31 13:56:35 +00:00
Emanuele Giaquinta
a8741bd799 Replace utf8_width with Markus Kuhn's wcwidth.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4518 dbcabf3a-b0e7-0310-adc4-f8d773084564
2007-05-25 21:56:30 +00:00
Wouter Coekaerts
9c2d621cc6 Oops. Update address correctly now.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4490 dbcabf3a-b0e7-0310-adc4-f8d773084564
2007-05-08 18:41:10 +00:00
Wouter Coekaerts
023026e12b Update FSF address
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4489 dbcabf3a-b0e7-0310-adc4-f8d773084564
2007-05-08 18:16:58 +00:00
Emanuele Giaquinta
da9582e5aa Modify term_move to accept only non negative coordinates.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4380 dbcabf3a-b0e7-0310-adc4-f8d773084564
2006-09-24 21:06:46 +00:00
Emanuele Giaquinta
406c70c530 Fix bold on monochrome terminals.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4373 dbcabf3a-b0e7-0310-adc4-f8d773084564
2006-09-20 23:56:59 +00:00
Valentin Batz
fb6bdac677 replace guint by gsize for the glib2 version of irssi_ssl_read
like it's defined in GIOFuncs for glib2
moved src/fe-text/utf8.* to src/fe-common/core
changed get_utf8_char so it returns a status code and the unichar argument pointer
to the value that it returned before if there were no errors,
so you can check for a negative value an handle the error


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4091 dbcabf3a-b0e7-0310-adc4-f8d773084564
2005-11-23 18:30:22 +00:00
Wouter Coekaerts
181f00c15e Handle ^Z better (debian/patches/03sigtstp.dpatch by David Pashley, http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177108)
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@3864 dbcabf3a-b0e7-0310-adc4-f8d773084564
2005-07-17 16:41:23 +00:00
Timo Sirainen
5df03ca730 Pasting multibyte chars was buggy, patch by Kuang-che Wu
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@3251 dbcabf3a-b0e7-0310-adc4-f8d773084564
2004-05-14 12:25:49 +00:00
Timo Sirainen
db705a8396 Fixes for Chinese multibyte characters handling and cursor movement, patch
by Wang WenRui


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@3244 dbcabf3a-b0e7-0310-adc4-f8d773084564
2004-03-24 17:28:55 +00:00
Timo Sirainen
7eb2fc70e3 BIG5 fixes by vanilla@FreeBSD.org(?)
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@3134 dbcabf3a-b0e7-0310-adc4-f8d773084564
2003-10-19 19:09:51 +00:00
Timo Sirainen
3ac451c608 some optimizations to not uselessly hide/show/move cursor - hope i didn't
break anything :)


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2781 dbcabf3a-b0e7-0310-adc4-f8d773084564
2002-05-12 14:48:11 +00:00
Timo Sirainen
903ca7b757 more fixes
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2765 dbcabf3a-b0e7-0310-adc4-f8d773084564
2002-05-10 13:13:06 +00:00
Timo Sirainen
d8fdfd225c another terminfo fix
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2764 dbcabf3a-b0e7-0310-adc4-f8d773084564
2002-05-10 12:35:05 +00:00
Timo Sirainen
9405dc2ce8 fixed buffer overflow - happened at least when hitting ^A after writing
enough text to input line. usually didn't crash..


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2755 dbcabf3a-b0e7-0310-adc4-f8d773084564
2002-05-06 04:58:47 +00:00
Timo Sirainen
88654c4468 term_deinit() should set SIGCONT back to default, so if it's sent after that
it won't crash (gnome-terminal does that for some reason)


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2623 dbcabf3a-b0e7-0310-adc4-f8d773084564
2002-03-16 23:17:33 +00:00
Timo Sirainen
6a89217d6a Get the terminal size at startup with ioctl() and use it. Fixes at least
NetBSD.


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2616 dbcabf3a-b0e7-0310-adc4-f8d773084564
2002-03-14 23:46:48 +00:00
Timo Sirainen
1997b58c3a whops, stupid utf-8 bug :)
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2567 dbcabf3a-b0e7-0310-adc4-f8d773084564
2002-03-10 19:43:35 +00:00
Timo Sirainen
b18af319cf term_addch() : utf-8 fixes for cursor positioning.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2563 dbcabf3a-b0e7-0310-adc4-f8d773084564
2002-03-10 19:03:27 +00:00
Timo Sirainen
95d8b617ae Irssi didn't work properly if read() returned only partial utf8 character
string.


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2544 dbcabf3a-b0e7-0310-adc4-f8d773084564
2002-03-09 17:54:38 +00:00
Timo Sirainen
a543f63307 compiler warning fix
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2509 dbcabf3a-b0e7-0310-adc4-f8d773084564
2002-02-17 18:05:25 +00:00
Timo Sirainen
a6d61a0b2b --disable-terminfo didn't work
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2502 dbcabf3a-b0e7-0310-adc4-f8d773084564
2002-02-17 15:42:07 +00:00
Timo Sirainen
afeb6fcb7d /SET term_type 8bit|utf8|big5 - Removed --with-big5 configure option, it's
now included the same way as utf8, though i'm not sure if it really works
but at least it should partially :) Input line is now internally using 32bit
chars but it's converted to 8bit chars for external use. Text buffer
supports only 8bit + utf8 for now.


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2448 dbcabf3a-b0e7-0310-adc4-f8d773084564
2002-02-15 13:38:24 +00:00
Timo Sirainen
0c209a6899 atexit(term_deinit)
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2424 dbcabf3a-b0e7-0310-adc4-f8d773084564
2002-02-10 15:01:00 +00:00
Timo Sirainen
c1d61ddeaf term_clear() should set the background color to RESET, not to 0 (black).
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2417 dbcabf3a-b0e7-0310-adc4-f8d773084564
2002-02-10 14:10:09 +00:00