1
0
mirror of https://github.com/irssi/irssi.git synced 2024-12-04 14:46:39 -05:00
Go to file
dequis 0d8632943d Add a wrapper of wcwidth() that picks the best implementation
This adds a i_wcwidth() function that replaces mk_wcwidth(), and a
'wcwidth_implementation' setting to pick which one it wraps.

Values:

- old: uses our local mk_wcwidth() which implements unicode 5.0
- system: uses the libc-provided wcwidth(), which may be better or worse
  than ours depending on how up to date the system is.
- auto: tests the system one against two characters that became
  fullwidth in unicode 5.2 and 9.0 respectively. If either of them pass,
  pick the system implementation, otherwise pick ours.

It defaults to auto.

mk_wcwidth() is still preferable in some cases, since the way it uses
ranges for fullwidth characters means most CJK blocks are covered even
if their characters didn't exist back then.

The "system" implementation is also wrapped to never return -1, but to
assume those unknown characters use one cell. Quoting the code:

    /* Treat all unknown characters as taking one cell. This is
     * the reason mk_wcwidth and other outdated implementations
     * mostly worked with newer unicode, while glibc's wcwidth
     * needs updating to recognize new characters.
     *
     * Instead of relying on that, we keep the behavior of assuming
     * one cell even for glibc's implementation, which is still
     * highly accurate and less of a headache overall.
     */
2018-08-23 02:30:26 -03:00
docs Merge pull request #870 from dequis/fe-cap 2018-04-24 13:58:04 +02:00
fuzz-support Add fuzz.diff for fuzzing with afl 2017-05-08 13:45:13 -04:00
m4 Add libgcrypt.m4 so autogen doesn't require libgcrypt-dev 2018-04-02 12:30:59 -03:00
scripts run syncdocs.sh and syncscripts.sh 2018-03-07 02:23:02 +01:00
src Add a wrapper of wcwidth() that picks the best implementation 2018-08-23 02:30:26 -03:00
tests Fix test compilation on old glib 2018-04-24 14:00:30 +02:00
themes sideways split support for Irssi 2018-01-06 00:26:48 +01:00
utils run syncdocs.sh and syncscripts.sh 2018-03-07 02:23:02 +01:00
.clang-format Update .clang-format 2017-11-16 13:50:48 +01:00
.gitattributes Add .gitattributes to ensure all shell scripts have LF as eol-style. 2016-01-31 20:49:59 +02:00
.gitignore Revert "Flag topic as unset if it is zero length" 2018-08-13 14:43:25 +02:00
.travis.yml use precompiled libotr 2018-03-29 22:41:12 +02:00
AUTHORS Add OTR support. 2018-02-26 23:32:57 +01:00
autogen.sh add a peculiar bug check to autogen 2018-02-13 00:03:17 +01:00
configure.ac Merge pull request #854 from irssi/ahf/otr 2018-03-31 13:04:35 +02:00
COPYING Update FSF address. 2007-05-08 17:51:51 +00:00
INSTALL Remove outdated information from INSTALL 2017-03-20 16:10:03 -03:00
irssi-config.in Restore irssi-config, bug #537. 2007-10-15 09:34:57 +00:00
irssi-icon.png New icon by ditCh. 2008-03-04 17:46:11 +00:00
irssi.conf Update Irssi website URLs 2018-01-16 15:23:54 +00:00
Makefile.am Add a test program to test mode parsing 2017-12-07 12:06:20 +01:00
NEWS Merge pull request #849 from ailin-nemui/news-update 2018-02-15 19:46:32 +01:00
README.md Update Irssi website URLs 2018-01-16 15:23:54 +00:00
TODO Add todo for gnutls. 2008-03-30 13:53:33 +00:00

Irssi

Build Status

Irssi is a modular chat client that is most commonly known for its text mode user interface, but 80% of the code isn't text mode specific. Irssi comes with IRC support built in, and there are third party ICB, SILC, XMPP (Jabber), PSYC and Quassel protocol modules available.

irssi

Download information

Development source installation

git clone https://github.com/irssi/irssi
cd irssi
./autogen.sh
make && sudo make install

Release source installation

tar xJf irssi-*.tar.xz
cd irssi-*
./configure
make && sudo make install

Requirements

See the INSTALL file for details

Documentation

Themes

Scripts

Modules

Security information

Please report security issues to staff@irssi.org. Thanks!

Bugs / Suggestions / Contributing

Check the GitHub issues if it is already listed in there; if not, open an issue on GitHub or send a mail to staff@irssi.org.

Irssi is always looking for developers. Feel free to submit patches through GitHub pull requests.

You can also contact the Irssi developers in #irssi on freenode.