summaryrefslogtreecommitdiff
path: root/src/fe-text/term-terminfo.c
AgeCommit message (Collapse)Author
2018-01-08Merge pull request #697 from ailin-nemui/rsplitailin-nemui
sideways split support for Irssi
2018-01-07Fix space in messageailin-nemui
2018-01-07Reword warning messageailin-nemui
Include multiplexer name in TERM recommendation
2018-01-06Add a startup warning if the TERM var is wrong inside tmux/screendequis
One of the most common and confusing issues we get in #irssi, this should help identifying and mitigating it.
2018-01-06fix some moreailin-nemui
2018-01-06sideways split support for Irssiailin-nemui
warning: * may be buggy This commit adds support for sideways splits into Irssi. To that regard, there are a number of new commands available the "R" commands: /window new rsplit - make a new sideways split /window rshow - show an existing window to the right /window rgrow/rshrink/rsize/rbalance - manipulate the size of your sideways split windows the "D" commands: /window dup/ddown/dleft/dright - navigate the windows directionally, as an alternative to /window up/down that you can bind to some key /window move dleft/dright - the same for moving Enjoy!
2017-08-07Revert "Merge pull request #452 from LemonBoy/terminfo-cup"ailin-nemui
Fixes #733. The fix outlined in #452 had adverse effects for the following reason. The code removed the restoration path that would go on the code path from kill SIGTSTP. The problem is this: When Irssi is not running in a controlling parent (like a shell), the TSTP will in fact be ignored. In that case, there is no process sending a CONT either and thus the screen state never gets restored. Luckily, the patch in #457 is sufficient to prevent the problem in #450 (which lead to the development of #452). To that end, we do end up with potentially calling terminfo_cont twice but that is better than not calling it at all. This reverts commit b1ffd5f6472584aa3966746da9728c5afefcc4ce, reversing changes made to 9cb0419435d1ad331c1f55361a003d9682fae9a8.
2017-06-17term-terminfo: Avoid switching out of alt screen on unexpected exitsdequis
Perl sucks and kills the whole process when there's a version mismatch in Perl_xs_handshake(). Our atexit handler catches the exit and deinitializes the terminal, removing the error. This commit uses the 'quitting' global variable which is set when irssi is voluntarily quitting, and avoids sending TI_rmcup, which restores the original screen and makes the error invisible.
2016-12-19Fix oob read on invalid utf8 in term_addstrJoseph Bisch
2016-03-22Merge pull request #452 from LemonBoy/terminfo-cupailin-nemui
Don't call terminfo_cont() twice on resume
2016-03-22Don't call terminfo_cont() twice on resumeLemonBoy
Fixes some weirdness when using ^Z with zsh.
2016-03-22Properly toggle bracketed paste mode on stop/contailin-nemui
Fixes #449
2015-11-08Merge remote-tracking branch 'origin/master' into bracketed-pastedequis
2015-10-04Fix the indentation.LemonBoy
2015-10-02Even simpler logicLemonBoy
2015-10-02Rework the logic to avoid allocating memoryLemonBoy
2015-10-02Fix the display of utf8 sequences in the guiLemonBoy
term_addstr() had a long-standing fixme that suggested it didn't take into account the string encoding when calculating the string length. The BIG5 code path is untested.
2015-09-27Enable the bracketed paste mode on demandLemonBoy
2014-12-14Fix blinking/bold text in terminals with no color supportdequis
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-08-09Add bounds check to array access in terminfo driver.Ailin Nemui
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-07-24fix colour 0 againAilin Nemui
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-23restore the colour 0 ("black") that got broken by extended coloursAilin Nemui
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-07add italics support; don't use standout for reverseLukas Mai
2014-07-06Merge pull request #85 from dgl/werrorAlexander Færøy
Make configure checks able to build with -Werror
2014-07-06Make configure checks able to build with -WerrorDavid Leadbeater
Also fix a few compiler warnings, this combined with pull #82 allows me to build with CFLAGS="-Werror -Wall".
2014-07-04fix compiler warnings in extended colour codeAilin Nemui
2014-06-30Finish 256 colour support for IrssiAilin Nemui
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-30Initial implementation of 256 colour support for IrssiTom Feist
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.
2010-02-27Irssi now detects a paste if it reads at least three bytes in a single read;Alexander Færøy
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
2009-02-27Check for SIGCONT using a custom GSource instead of every 0.5 second.Jilles Tjoelker
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@5022 dbcabf3a-b0e7-0310-adc4-f8d773084564
2008-12-05Factor computation of fg/bg.Emanuele Giaquinta
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@4943 dbcabf3a-b0e7-0310-adc4-f8d773084564
2008-11-15Handle bold/blink attributes like other attributes rather than mapping them toEmanuele Giaquinta
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-10Remove get_utf8_char/utf16_char_to_utf8 in favour of glibEmanuele Giaquinta
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-04-21Reindent.Emanuele Giaquinta
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4811 dbcabf3a-b0e7-0310-adc4-f8d773084564
2008-04-21Remove no longer needed kludge to inhibit writing in the last cell.Emanuele Giaquinta
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4810 dbcabf3a-b0e7-0310-adc4-f8d773084564
2008-04-20Simplify.Emanuele Giaquinta
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4808 dbcabf3a-b0e7-0310-adc4-f8d773084564
2008-04-19Remove non-working detach/attach code.Emanuele Giaquinta
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4806 dbcabf3a-b0e7-0310-adc4-f8d773084564
2008-04-16Remove the need to buffer input by moving the 'gui key pressed' eventsEmanuele Giaquinta
generation into term_gets. git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4805 dbcabf3a-b0e7-0310-adc4-f8d773084564
2008-04-04Change type of 'chr' argument in terminfo_repeat/term_addch to 'char'.Emanuele Giaquinta
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4795 dbcabf3a-b0e7-0310-adc4-f8d773084564
2008-03-09Replace usage of get_utf8_char with g_utf8_get_char_validated.Emanuele Giaquinta
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4742 dbcabf3a-b0e7-0310-adc4-f8d773084564
2008-01-25Update the terminfo backend to query the 'colors' capability and support moreEmanuele Giaquinta
than 16 colors (sync from icecap). git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4687 dbcabf3a-b0e7-0310-adc4-f8d773084564
2008-01-24Do not assume that bit 0x80 enables blink, rather call set_blink whenEmanuele Giaquinta
blink is requested. git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4686 dbcabf3a-b0e7-0310-adc4-f8d773084564
2008-01-24Remove empty function.Emanuele Giaquinta
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4684 dbcabf3a-b0e7-0310-adc4-f8d773084564
2007-05-31Assume width 1 for control characters in places where a non-negative width isEmanuele Giaquinta
expected. git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4535 dbcabf3a-b0e7-0310-adc4-f8d773084564
2007-05-25Replace utf8_width with Markus Kuhn's wcwidth.Emanuele Giaquinta
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4518 dbcabf3a-b0e7-0310-adc4-f8d773084564
2007-05-08Oops. Update address correctly now.Wouter Coekaerts
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4490 dbcabf3a-b0e7-0310-adc4-f8d773084564
2007-05-08Update FSF addressWouter Coekaerts
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4489 dbcabf3a-b0e7-0310-adc4-f8d773084564
2006-09-24Modify term_move to accept only non negative coordinates.Emanuele Giaquinta
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4380 dbcabf3a-b0e7-0310-adc4-f8d773084564
2006-09-20Fix bold on monochrome terminals.Emanuele Giaquinta
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4373 dbcabf3a-b0e7-0310-adc4-f8d773084564
2005-11-23replace guint by gsize for the glib2 version of irssi_ssl_readValentin Batz
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