diff options
55 files changed, 2991 insertions, 80 deletions
diff --git a/README.markdown b/README.markdown index 1adc090..273e5ad 100644 --- a/README.markdown +++ b/README.markdown @@ -26,3 +26,18 @@ Sections we need: listed + how to do it directly from Git. ahf quite likes something like https://mosh.mit.edu - More ideas? :-) + +Things to think about: + +- [Permalinks](http://jekyllrb.com/docs/permalinks/) in jekyll are... tricky. + The best optioned seemed to be to hardcode a permalink into every page to + get [cool URIs](http://www.w3.org/Provider/Style/URI). +- While jekyll does obfuscate email addresses in markdown, this functionality + is not available in filters. Hence contributor's email addresses are + on the site. +- There was some objection to adding {{ site.baseurl }} to links in templates. + Using the `<base>` tag does not seem to be a viable option due to the + inflexible URI schemes, jekyll doesn't seem to want to generate relative + URIs it requires. + +These issues might be fixable with or without plugins. diff --git a/_articles/2015-02-12-adding-articles-to-irssi.org.markdown b/_articles/2015-02-12-adding-articles-to-irssi.org.markdown index ea6664d..d8c1f0f 100644 --- a/_articles/2015-02-12-adding-articles-to-irssi.org.markdown +++ b/_articles/2015-02-12-adding-articles-to-irssi.org.markdown @@ -1,11 +1,13 @@ --- layout: post -title: "Contributing articles to irssi.org" -author: "Nicolas Kuttler" -email: "irssi@kuttler.eu" -web: "http://kuttler.eu" +title: Contributing articles to irssi.org +author: Nicolas Kuttler +web: http://kuttler.eu --- +Forking the upstream repository +== + If you would like to contribute an article to [irssi.org](http://irssi.org) fork the [website's github repository](https://github.com/irssi/irssi.github.io) and add your article to the `_articles` directory. @@ -23,3 +25,4 @@ TODO - We could build a form with a [markdown editor](http://vuejs.org/examples/), where should we submit it to though? - Policy for images and other included content? +- Email and web address and are optional diff --git a/_articles/2015-02-12-hacking-irssi.org.markdown b/_articles/2015-02-12-hacking-irssi.org.markdown new file mode 100644 index 0000000..fe93aef --- /dev/null +++ b/_articles/2015-02-12-hacking-irssi.org.markdown @@ -0,0 +1,41 @@ +--- +layout: post +title: Hacking irssi.org +author: Nicolas Kuttler +web: http://kuttler.eu +--- + +Get a local copy +---------------- + +If you would like to work on the source code of [irssi.org](http://irssi.org) + +1. Fork [the code](https://github.com/irssi/irssi.github.io). +2. Clone your repository to your local machine. +3. [Install](http://jekyllrb.com/) jekyll and see their instructions for serving + the project. +4. Have fun! + +Make your changes previewable +----------------------------- + +If you want your changes merged it might be a good idea to make them +previewable. To do this: + +1. Create a branch called `gh-pages` with `git checkout -b gh-pages` and + `git push origin gh-pages` +2. In this branch, and in this branch only, edit the `_config.yml` file and + modify the `baseurl` setting to `"/irssi.github.io"` (the project name). +3. Never work on this branch again. But when you create a pull request for + your main work branch merge your main work branch into `gh-pages` and push + it to github. So it will be possible to preview your changes under + `http://username.github.io/irssi.github.io/` which displays your `gh-pages` + branch. + +Notes +----- + +<!-- +Yeah, it's really weird how liquid renders the curly braces below... +--> +All urls should be prefixed with `{{ "{{" }} site.baseurl {{ }} }}`. diff --git a/_config.yml b/_config.yml index 1df1331..02de85a 100644 --- a/_config.yml +++ b/_config.yml @@ -1,10 +1,10 @@ -permalink: "/:year/:month/:day/:title" +permalink: "/:year/:month/:day/:title/" exclude: ["README.markdown"] lsi: false safe: true baseurl: "" -url: "http://irssi.github.io" +#url: "//irssi-import.github.io" title: Irssi project: The Irssi Project @@ -12,9 +12,14 @@ description: The Client of the Future name: Irssi Core Team email: staff@irssi.org +gems: + - jekyll-redirect-from + - jekyll-sitemap + paginate: 8 paginate_path: "news/:num/" collections: articles: output: true + permalink: "/articles/:title/" diff --git a/_includes/head.html b/_includes/head.html index b1c8ce5..72c308f 100644 --- a/_includes/head.html +++ b/_includes/head.html @@ -3,9 +3,10 @@ <meta name="viewport" content="width=device-width, initial-scale=1"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> - <title>{% if page.title %}{{ page.title }}{% else %}{{ site.title }}{% endif %}</title> + <title>{% if page.title %}{% unless page.title contains 'Irssi' %}Irssi - {% endunless %}{{ page.title }}{% else %}{{ site.title }}{% endif %}</title> <meta name="description" content="{{ site.description }}"> - <link rel="stylesheet" href="/assets/css/bootstrap.min.css"> - <link rel="stylesheet" href="/assets/css/style.css"> + <link rel="stylesheet" href="{{ site.baseurl }}/assets/css/bootstrap.min.css"> + <link rel="stylesheet" href="{{ site.baseurl }}/assets/css/style.css"> + <link rel="shortcut icon" type="image/png" href="{{ site.baseurl }}/assets/irssi.png" > </head> diff --git a/_includes/header.html b/_includes/header.html index e902722..ca15f93 100644 --- a/_includes/header.html +++ b/_includes/header.html @@ -7,32 +7,36 @@ <span class="icon-bar"></span> <span class="icon-bar"></span> </button> - <a class="navbar-brand" href="/"> - <img alt="Irssi Logo" class="navbar-irssi-logo" src="/assets/logo.png"> + <a class="navbar-brand" href="{{ site.baseurl }}/"> + <img alt="Irssi Logo" class="navbar-irssi-logo" src="{{ site.baseurl }}/assets/logo.png"> {% comment %}{{ site.title }}{% endcomment %} </a> </div> <div id="navbar" class="collapse navbar-collapse"> <ul class="nav navbar-nav"> - <li{% if page.url == "/index.html" %} class="active"{% endif %}><a href="/">News</a></li> + <li{% if page.url == "/index.html" %} class="active"{% endif %}><a href="{{ site.baseurl }}/">News</a></li> {% comment %} Exclude the news feed and the paginated news pages. {% endcomment %} - {% for node in site.pages %} - {% if node.title != "News" and node.title != "News Feed" %} - {% if page.url == node.url %} - <li class="active"> - <a href="{{ node.url }}" class="active">{{ node.title }}</a> - </li> - {% else %} - <li> - <a href="{{ node.url }}">{{ node.title }}</a> - </li> - {% endif %} - {% endif %} + {% capture pageidx %}{% include weighted_sorted_pages.html %}{% endcapture %}{% assign pageidx = pageidx | strip_newlines | split:',' %} + {% assign ap = site.pages %} + {% for it in pageidx %}{% assign p_idx = it | times:1 %}{% assign node = ap[p_idx] %}{% comment %} + {% endcomment %} + {% if node.categories contains "_nav" %} + {% if page.url == node.url %} + <li class="active"> + <a href="{{ site.baseurl }}{{ node.url }}" class="active">{{ node.title }}</a> + </li> + {% else %} + <li> + <a href="{{ site.baseurl }}{{ node.url }}">{{ node.title }}</a> + </li> + {% endif %} + {% endif %} {% endfor %} - <li><a href="http://scripts.irssi.org/">Scripts</a></li> - <li><a href="https://github.com/irssi/irssi/issues">Bugs</a></li> + <li><a rel="external" href="/themes/">Themes</a></li> + <li><a rel="external" href="http://scripts.irssi.org/">Scripts</a></li> + <li><a rel="external" href="https://github.com/irssi/irssi/issues">Bugs</a></li> </ul> </div> </div> diff --git a/_includes/ordinal.html b/_includes/ordinal.html index c942963..aac7b74 100644 --- a/_includes/ordinal.html +++ b/_includes/ordinal.html @@ -1,5 +1,4 @@ -{% assign ordinalize=include.ordinalize %} -{% if ordinalize == "1" or ordinalize == "21" or ordinalize == "31" %}st +{% assign ordinalize=include.ordinalize %}{% if ordinalize == "1" or ordinalize == "21" or ordinalize == "31" %}st {% elsif ordinalize == "2" or ordinalize == "22" %}nd {% elsif ordinalize == "3" or ordinalize == "23" %}rd {% else %}th{% endif %} diff --git a/_includes/postmeta.html b/_includes/postmeta.html index d71b943..4a4d5b3 100644 --- a/_includes/postmeta.html +++ b/_includes/postmeta.html @@ -1,19 +1,24 @@ {% assign node=include.node %} -<p> - <small> - Posted by - {% if node.web %} - <a href="{{ node.web }}">{{ node.author }}</a> - {% elsif node.email %} - <a href="mailto:{{ node.email }}">{{ node.author }}</a> - {% else %} - {{ node.author }} - {% endif %} +{% if node.author or node.date %} + <p> + <small> + Posted + {% if node.author %} + by + {% if node.web %} + <a href="{{ node.web }}">{{ node.author }}</a> + {% elsif node.email %} + <a href="mailto:{{ node.email }}">{{ node.author }}</a> + {% else %} + {{ node.author }} + {% endif %} + {% endif %} - {% if node.date %} - {% assign ordinalize = node.date | date: "%-d" %} - on {{ node.date | date: "%B %-d" }}<sup>{% include ordinal.html ordinalize=ordinalize %}</sup> - {{ node.date | date: "%Y" }} - {% endif %} - </small> -</p> + {% if node.date %} + {% assign ordinalize = node.date | date: "%-d" %} + on {{ node.date | date: "%B %-d" }}<sup>{% include ordinal.html ordinalize=ordinalize %}</sup> + {{ node.date | date: "%Y" }} + {% endif %} + </small> + </p> +{% endif %} diff --git a/_includes/weighted_sorted_pages.html b/_includes/weighted_sorted_pages.html new file mode 100644 index 0000000..7b564f0 --- /dev/null +++ b/_includes/weighted_sorted_pages.html @@ -0,0 +1,5 @@ +{% capture sorted %}{% for node in site.pages %}{% assign top = node.categories | join:'~' | split:'~' | sort | first | remove_first:'_' | plus:10000 %}|{% if top != 10000 %}{{ top }}{% endif %}|{{ node.url }}|{{ forloop.index0 | plus:10000 }}*{% endfor %}{% endcapture %}{% comment %} +{% endcomment %}{% capture sorted %}{{ sorted | split:'*' | sort | join:'*' }}{% endcapture %}{% comment %} +{% endcomment %}{% assign sortedarr = sorted | split:'*' %}{% comment %} +{% endcomment %}{% for item in sortedarr %}{% assign i2 = item | split:'|' %}{% assign iv = i2[3] | minus:10000 %}{{ iv }}{% unless forloop.last %},{% endunless %}{% comment %} +{% endcomment %}{% endfor %} diff --git a/_layouts/default.html b/_layouts/default.html index 887ef16..3a0c21e 100644 --- a/_layouts/default.html +++ b/_layouts/default.html @@ -17,6 +17,26 @@ client Irssi, for more information see the about section. </p> + <h4 style='margin-bottom:0'>Search this site</h4> + <div><script> + (function() { + var cx = '013138746835038969445:mlfkigveyj4'; + var gcse = document.createElement('script'); + gcse.type = 'text/javascript'; + gcse.async = true; + gcse.src = (document.location.protocol == 'https:' ? 'https:' : 'http:') + + '//cse.google.com/cse.js?cx=' + cx; + var s = document.getElementsByTagName('script')[0]; + s.parentNode.insertBefore(gcse, s); + })(); +</script> +<gcse:searchbox-only></gcse:searchbox-only></div> + <h4>What's new?</h4> + <p><a href="/2014/10/11/irssi-0.8.17-released">Irssi 0.8.17 has been released!</a></p> + {% if page.title contains 'News' %}<div> + <a class="twitter-timeline" data-widget-id="600720083413962752" href="https://twitter.com/IrssiProject" data-screen-name="IrssiProject" height="400">Tweets by @IrssiProject</a> + <script type="text/javascript" src="//platform.twitter.com/widgets.js"></script> + </div>{% endif %} </div> </div> </div> diff --git a/_layouts/home.html b/_layouts/home.html index 81451b6..e135f91 100644 --- a/_layouts/home.html +++ b/_layouts/home.html @@ -1,13 +1,14 @@ --- layout: default --- - <h1>News{% if paginator.page > 1 %} Archive{% endif %}</h1> {% for post in paginator.posts %} - <h2><a href="{{ post.url }}">{{ post.title }}</a></h2> + <h2><a href="{{ site.baseurl }}{{ post.url }}">{{ post.title }}</a></h2> {% include postmeta.html node=post %} - {{ post.content | markdownify }} + {{ post.content }} {% endfor %} +{% unless paginator.page > 1 %}<a href="//github.com/irssi-import/irssi-import.github.io"><img style="position: absolute; top: 0; right: 0; border: 0;" src="https://camo.githubusercontent.com/a6677b08c955af8400f44c6298f40e7d19cc5b2d/68747470733a2f2f73332e616d617a6f6e6177732e636f6d2f6769746875622f726962626f6e732f666f726b6d655f72696768745f677261795f3664366436642e706e67" alt="Fork me on GitHub" data-canonical-src="https://s3.amazonaws.com/github/ribbons/forkme_right_gray_6d6d6d.png"></a>{% endunless %} + {% include paginate.html %} diff --git a/_layouts/page.html b/_layouts/page.html new file mode 100644 index 0000000..4d41ccc --- /dev/null +++ b/_layouts/page.html @@ -0,0 +1,6 @@ +--- +layout: default +--- + +<h1>{{ page.title }}</h1> +{{ content }} diff --git a/_layouts/post.html b/_layouts/post.html index 8e1bfd0..7add29a 100644 --- a/_layouts/post.html +++ b/_layouts/post.html @@ -4,4 +4,4 @@ layout: default <h1>{{ page.title }}</h1> {% include postmeta.html node=page %} -{{ page.content | markdownify }} +{{ content }} diff --git a/_posts/2009-03-18-irssi-0.8.13-rc1-released.markdown b/_posts/2009-03-18-irssi-0.8.13-rc1-released.markdown index ae259ca..54783ae 100644 --- a/_posts/2009-03-18-irssi-0.8.13-rc1-released.markdown +++ b/_posts/2009-03-18-irssi-0.8.13-rc1-released.markdown @@ -7,9 +7,9 @@ email: "geert@irssi.org" Irssi 0.8.13-rc1 has been released. The changes are mostly bugfixes, and small improvements, so it should be quite safe to upgrade. Check [NEWS -file](/news/ChangeLog) for all changes! +file](//github.com/irssi-import/irssi/releases) for all changes! It can be downloaded from -[http://irssi.org/files/irssi-0.8.13-rc1.tar.gz](http://irssi.org/files/irssi-0.8.13-rc1.tar.gz). +[our download page](/download). The Irssi Team. diff --git a/_posts/2009-04-01-irssi-0.8.13-released.markdown b/_posts/2009-04-01-irssi-0.8.13-released.markdown index 6d4dbcd..c186485 100644 --- a/_posts/2009-04-01-irssi-0.8.13-released.markdown +++ b/_posts/2009-04-01-irssi-0.8.13-released.markdown @@ -7,10 +7,10 @@ email: "geert@irssi.org" It has been a while since we last released. First off, this is ***NOT*** an April Fool's joke! Irssi 0.8.13 is out and we ask that you check the [NEWS -file](/news/ChangeLog) for changes! +file](//github.com/irssi-import/irssi/releases) for changes! It can be downloaded from -[http://irssi.org/files/irssi-0.8.13.tar.gz](http://irssi.org/files/irssi-0.8.13.tar.gz). +[our download page](/download). This release was brought to you by the Irssi Core Development teams tears, sweat and hard work and with invaluable contributions from our fabulous users. We'd diff --git a/_posts/2009-07-28-irssi-0.8.14-released.markdown b/_posts/2009-07-28-irssi-0.8.14-released.markdown index b060120..1f569ed 100644 --- a/_posts/2009-07-28-irssi-0.8.14-released.markdown +++ b/_posts/2009-07-28-irssi-0.8.14-released.markdown @@ -7,10 +7,10 @@ email: "ahf@irssi.org" Please welcome the 0.8.14 release of your favourite IRC-client, Irssi! -Check out the [NEWS file](/news/ChangeLog) for a summary of the changes since +Check out the [NEWS file](//github.com/irssi-import/irssi/releases) for a summary of the changes since last release. The release is available from -[http://irssi.org/files/irssi-0.8.14.tar.gz](http://irssi.org/files/irssi-0.8.14.tar.gz). +[our download page](/download). The Irssi Team. diff --git a/_posts/2010-03-21-irssi-0.8.15-rc1-released.markdown b/_posts/2010-03-21-irssi-0.8.15-rc1-released.markdown index b4737d6..e8067b8 100644 --- a/_posts/2010-03-21-irssi-0.8.15-rc1-released.markdown +++ b/_posts/2010-03-21-irssi-0.8.15-rc1-released.markdown @@ -7,9 +7,9 @@ email: "ahf@irssi.org" Irssi 0.8.15-rc1 has been released. The changes are mostly bugfixes, and small improvements, so it should be quite safe to upgrade. Check [NEWS -file](/news/ChangeLog) for all changes! +file](//github.com/irssi-import/irssi/releases) for all changes! It can be downloaded from -[http://irssi.org/files/irssi-0.8.15-rc1.tar.gz](http://irssi.org/files/irssi-0.8.15-rc1.tar.gz). +[our download page](/download). The Irssi Team. diff --git a/_posts/2010-04-03-irssi-0.8.15-released.markdown b/_posts/2010-04-03-irssi-0.8.15-released.markdown index bd2d7d1..a17830e 100644 --- a/_posts/2010-04-03-irssi-0.8.15-released.markdown +++ b/_posts/2010-04-03-irssi-0.8.15-released.markdown @@ -14,7 +14,7 @@ hostname on SSL connections and the other being a hard to exploit remote crash bug. For a complete listing of the changes and bugfixes since 0.8.14, please have a -look at the [ChangeLog](/news/ChangeLog). +look at the [ChangeLog](//github.com/irssi-import/irssi/releases). Remember to check out Irssi's [Facebook fan page](http://www.facebook.com/irssi) and [LinkedIn](http://www.linkedin.com/groups?gid=147751) as well. diff --git a/_posts/2013-09-15-irssi-0.8.16-rc1-released.markdown b/_posts/2013-09-15-irssi-0.8.16-rc1-released.markdown index 768aab2..2551da6 100644 --- a/_posts/2013-09-15-irssi-0.8.16-rc1-released.markdown +++ b/_posts/2013-09-15-irssi-0.8.16-rc1-released.markdown @@ -10,7 +10,7 @@ experimental DANE support and other small enhancements. Check the NEWS file for all changes and please report bugs back to us. The release can be downloaded from -[http://irssi.org/files/irssi-0.8.16-rc1.tar.gz](http://irssi.org/files/irssi-0.8.16-rc1.tar.gz). +[our download page](/download). Remember to check out Irssi's [Facebook fan page](http://www.facebook.com/irssi), [Google+ diff --git a/_posts/2014-05-29-irssi-0.8.16-released.markdown b/_posts/2014-05-29-irssi-0.8.16-released.markdown index ff83297..30328da 100644 --- a/_posts/2014-05-29-irssi-0.8.16-released.markdown +++ b/_posts/2014-05-29-irssi-0.8.16-released.markdown @@ -7,7 +7,7 @@ email: "ahf@irssi.org" The Irssi team is pleased to announce the 0.8.16 release of Irssi. It has been quite some time since our last release and there has been [various feature -enhancements and bugfixes added since then](/news/ChangeLog). +enhancements and bugfixes added since then](//github.com/irssi-import/irssi/releases). We hope to have Irssi 0.8.17 out in a much shorter time than it took to get 0.8.16 out and there may be some announcements on changes to how contributing diff --git a/_posts/2014-07-13-irssi-0.8.17-rc1-released.markdown b/_posts/2014-07-13-irssi-0.8.17-rc1-released.markdown index 4c05fa7..5fb4a7c 100644 --- a/_posts/2014-07-13-irssi-0.8.17-rc1-released.markdown +++ b/_posts/2014-07-13-irssi-0.8.17-rc1-released.markdown @@ -11,7 +11,7 @@ enhancements. Check out the NEWS file for all changes and please report bugs back to us. The release can be downloaded from -[http://irssi.org/files/irssi-0.8.17-rc1.tar.gz](http://irssi.org/files/irssi-0.8.17-rc1.tar.gz). +[our releases page](//github.com/irssi-import/irssi/releases). This is the first release candidate of Irssi after we moved to Github which means your feedback is much valued. Bugs can be reported via our [issue diff --git a/_posts/2014-08-31-irssi-0.8.17-rc2-released.markdown b/_posts/2014-08-31-irssi-0.8.17-rc2-released.markdown index 461e782..a3125fb 100644 --- a/_posts/2014-08-31-irssi-0.8.17-rc2-released.markdown +++ b/_posts/2014-08-31-irssi-0.8.17-rc2-released.markdown @@ -10,7 +10,7 @@ fixes reported by you guys after the RC1 release. Check out the NEWS file for all changes and please report bugs back to us. The release can be downloaded from -[http://irssi.org/files/irssi-0.8.17-rc2.tar.gz](http://irssi.org/files/irssi-0.8.17-rc2.tar.gz). +[our releases page](//github.com/irssi-import/irssi/releases). Please continue reporting bugs at our [issue tracker](https://github.com/irssi/irssi/issues). diff --git a/_posts/2014-10-11-irssi-0.8.17-released.markdown b/_posts/2014-10-11-irssi-0.8.17-released.markdown index 260ab89..0a09dcc 100644 --- a/_posts/2014-10-11-irssi-0.8.17-released.markdown +++ b/_posts/2014-10-11-irssi-0.8.17-released.markdown @@ -8,7 +8,7 @@ email: "ahf@irssi.org" Irssi 0.8.17 has been released. This release contains many new goodies including documentation cleanup, 256 colour support, truecolour support and tons of other smaller enhancements. For a complete list of changes and -bugfixes, since 0.8.16, please have a look at the [ChangeLog](/news/ChangeLog). +bugfixes, since 0.8.16, please have a look at the [ChangeLog](//github.com/irssi-import/irssi/releases). The release can be downloaded from [our download page](/download). diff --git a/about/index.markdown b/about/index.markdown index d3ce479..fadeca2 100644 --- a/about/index.markdown +++ b/about/index.markdown @@ -1,36 +1,69 @@ --- -layout: default +layout: page title: About Irssi +categories: [ _nav, _1 ] --- -About Irssi -=========== - Introduction ------------ -Irssi is a terminal based IRC client for UNIX systems. It also supports SILC and ICB protocols via plugins. +Irssi is a terminal based IRC client for UNIX systems. It also supports SILC +and ICB protocols via plugins. ### Greatest features -You might be wondering what makes Irssi such an easy and comfortable client to use; Joost Vunderink wrote a summary of the most beneficial Irssi features. +You might be wondering what makes Irssi such an easy and comfortable client +to use; Joost Vunderink wrote a summary of the most beneficial Irssi features. ### Autologging -Irssi will automatically log any channels, queries or special windows that you want. The logfiles will be separated per IRC network, and even log rotation is supported. Log file formats, themes and destination directories can be easily configured with the Irssi log settings. +Irssi will automatically log any channels, queries or special windows that +you want. The logfiles will be separated per IRC network, and even log +rotation is supported. Log file formats, themes and destination directories +can be easily configured with the Irssi log settings. ### Formats and themes -Theming is a popular item in todays desktop enviroments, it's an easy yet powerful way to customize your Irssi client's look and feel. Irssi's formatting is modular which means you can just change the appearance of the objects and all items contaning that object will change into that format. +Theming is a popular item in todays desktop enviroments, it's an easy yet +powerful way to customize your Irssi client's look and feel. Irssi's +formatting is modular which means you can just change the appearance of the +objects and all items contaning that object will change into that format. ### Configurable keybindings -This feature is a piece of art; it allows you to modify the default keybindings and create your own so you can customize your client. If these keybindings are tuned, you can switch through the windows in no time, execute commands and even complete objects with these bindings. +This feature is a piece of art; it allows you to modify the default +keybindings and create your own so you can customize your client. If these +keybindings are tuned, you can switch through the windows in no time, execute +commands and even complete objects with these bindings. ### Paste detection -If you have ever pasted a bunchload of text into a wrong channel, you know how hard the consequences can be. Irssi tries to detect when you are pasting large amounts of text, by looking at the speed that characters are entered; if such pasting is detected [TAB]-characters are sent as-is instead of being tab-completed and eventually ending up in a wrong destination window. When Irssi detects such a pasting, you will get the option to either abort the paste or execute the paste, this way you have total control of the pasting. +If you have ever pasted a bunchload of text into a wrong channel, you know +how hard the consequences can be. Irssi tries to detect when you are pasting +large amounts of text, by looking at the speed that characters are entered; +if such pasting is detected [TAB]-characters are sent as-is instead of being +tab-completed and eventually ending up in a wrong destination window. When +Irssi detects such a pasting, you will get the option to either abort the +paste or execute the paste, this way you have total control of the pasting. ### Perl scripting -Perl is one of the most used programming languages around the globe and integrating Perl into applications means flexible and powerful scripting capabilities. The entire behavior and appearence of Irssi can be modified within these Perl scripts. Irssi provides a script archive with many contributed Irssi scripts which provide both useful extra features and the required assistance to make your own scripts. +Perl is one of the most used programming languages around the globe and +integrating Perl into applications means flexible and powerful scripting +capabilities. The entire behavior and appearence of Irssi can be modified +within these Perl scripts. Irssi provides a script archive with many +contributed Irssi scripts which provide both useful extra features and the +required assistance to make your own scripts. ### Irssi-proxy -This is much more than just a bouncer, Irssi-proxy is a plugin which allows to bind a port to each IRC server you are connected to. This means that instead of having to remember to identify with a password, you can just connect to the Irssi-proxy with a server password. The copy of Irssi running the proxy works just as a normal client which you can use, but you can also connect one or more clients to it to share the connections. Using Irssi as a proxy has the major advantage of Irssi's power as an IRC client. You never have to worry about losing your connection to IRC. Even if you don't want to use Issi as a client, I can strongly recommend it as a proxy because you can just connect to it with any IRC client by just connecting to the specified port instead of SSH-ing to the machine that your Irssi is running on. +This is much more than just a bouncer, Irssi-proxy is a plugin which allows +to bind a port to each IRC server you are connected to. This means that +instead of having to remember to identify with a password, you can just +connect to the Irssi-proxy with a server password. The copy of Irssi running +the proxy works just as a normal client which you can use, but you can also +connect one or more clients to it to share the connections. Using Irssi as a +proxy has the major advantage of Irssi's power as an IRC client. You never +have to worry about losing your connection to IRC. Even if you don't want to +use Issi as a client, I can strongly recommend it as a proxy because you can +just connect to it with any IRC client by just connecting to the specified +port instead of SSH-ing to the machine that your Irssi is running on. ### Upgrades -Upgrading your Irssi client to the latest version can be easily done without losing the connections to the IRC servers and without restarting Irssi. You can use the UPGRADE command to load the new Irssi binary and restoring your connections. +Upgrading your Irssi client to the latest version can be easily done +without losing the connections to the IRC servers and without restarting +Irssi. You can use the UPGRADE command to load the new Irssi binary and +restoring your connections. diff --git a/articles/index.markdown b/articles/index.markdown index 1f8c44f..29f81c3 100644 --- a/articles/index.markdown +++ b/articles/index.markdown @@ -1,11 +1,12 @@ --- -title: Articles layout: default +title: Articles +permalink: articles/ --- Articles ======== {% for article in site.articles %} -- [{{ article.title }}]({{ article.url }}) +- [{{ article.title }}]({{ site.baseurl }}{{ article.url }}) {% endfor %} diff --git a/assets/Windows.png b/assets/Windows.png Binary files differnew file mode 100644 index 0000000..4028fac --- /dev/null +++ b/assets/Windows.png diff --git a/assets/arch.png b/assets/arch.png Binary files differnew file mode 100644 index 0000000..c66a059 --- /dev/null +++ b/assets/arch.png diff --git a/assets/css/style.css b/assets/css/style.css index 9731f01..c0c38c0 100644 --- a/assets/css/style.css +++ b/assets/css/style.css @@ -3,6 +3,14 @@ body { overflow-y: scroll; } +/* fix for anchored links to scroll the top bar */ +*[id]:before { + display: block; + content: " "; + margin-top: -65px; + height: 65px; + visibility: hidden; +} /* This is for mobile devices and the size of the youtube video */ iframe { @@ -24,3 +32,28 @@ h3 a { footer { margin-top: 20ex; } + +/* Out of site link */ +a[rel="external"],a.rel-external { + padding-right: 10px; +} + +.navbar-nav a[rel="external"] { + padding-right: 10px; +} + +a[rel="external"]:after,a.rel-external:after { + position: absolute; + font-family: 'Glyphicons Halflings'; + content: "\e164"; /* glyphicon-new-window */ + padding-left: 2px; + font-size: 51%; +} + +.navbar-nav a[rel="external"]:after { + font-size: 100%; +} + +a[rel="external"]:hover:after,a.rel-external:hover:after { + text-decoration: none; +} diff --git a/assets/debian.png b/assets/debian.png Binary files differnew file mode 100644 index 0000000..209c541 --- /dev/null +++ b/assets/debian.png diff --git a/assets/fedora.png b/assets/fedora.png Binary files differnew file mode 100644 index 0000000..344ea44 --- /dev/null +++ b/assets/fedora.png diff --git a/assets/gentoo.png b/assets/gentoo.png Binary files differnew file mode 100644 index 0000000..1ef8705 --- /dev/null +++ b/assets/gentoo.png diff --git a/assets/irssi.png b/assets/irssi.png Binary files differnew file mode 100644 index 0000000..2bd43be --- /dev/null +++ b/assets/irssi.png diff --git a/assets/irssi.wav b/assets/irssi.wav Binary files differnew file mode 100644 index 0000000..788d468 --- /dev/null +++ b/assets/irssi.wav diff --git a/assets/js/irssi.js b/assets/js/irssi.js index bd72a7e..eb088aa 100644 --- a/assets/js/irssi.js +++ b/assets/js/irssi.js @@ -3,7 +3,7 @@ function initMenu() { var toggle = document.getElementById("navbar-toggle"), menu = document.getElementById("navbar"); toggle.addEventListener('click', function (event) { - menu.classList.toggle("collapse"); + menu.classList.toggle("in"); }); } diff --git a/assets/macosx.png b/assets/macosx.png Binary files differnew file mode 100644 index 0000000..e13bb63 --- /dev/null +++ b/assets/macosx.png diff --git a/assets/openSUSE.png b/assets/openSUSE.png Binary files differnew file mode 100644 index 0000000..0ed8ba1 --- /dev/null +++ b/assets/openSUSE.png diff --git a/assets/opencsw.png b/assets/opencsw.png Binary files differnew file mode 100644 index 0000000..2c9e1af --- /dev/null +++ b/assets/opencsw.png diff --git a/assets/slackware.png b/assets/slackware.png Binary files differnew file mode 100644 index 0000000..aa1f0e1 --- /dev/null +++ b/assets/slackware.png diff --git a/assets/ubuntu.png b/assets/ubuntu.png Binary files differnew file mode 100644 index 0000000..a0d5535 --- /dev/null +++ b/assets/ubuntu.png diff --git a/documentation/faq/index.markdown b/documentation/faq/index.markdown new file mode 100644 index 0000000..75a215d --- /dev/null +++ b/documentation/faq/index.markdown @@ -0,0 +1,84 @@ +--- +layout: page +title: Frequently Asked Questions +permalink: documentation/faq/ +--- +### Q: Why doesn't irssi display colors even when ircii etc. displays them? + +A: They force ANSI colors even if terminal doesn't support them. By default, irssi uses colors only if terminfo/termcap so says. The correct way to fix this would be to change your TERM environment to a value where colors work, like xterm-color or color_xterm (eg. `TERM=xterm-color irssi`). If this doesn't help, then use the evil way of `/SET term_force_colors ON`. + +### Q: How do I easily write text to channel that starts with '/' character? + +A: `/ /text` + +### Q: Why doesn't irssi update my realname (or whatever) after I change it with `/SET realname` and reconnect with `/RECONNECT` or `/SERVER`? + +A: Irssi is trying to be too smart. This will be fixed in future, but for now you should use `/DISCONNECT` and `/CONNECT`. + +### Q: I connected to some server which isn't responding but now irssi tries to connect back to it all the time! How can I stop it? + +A: Two ways. The "good way" to do it is with `/DISCONNECT`. Check the server tags first with `/SERVER` without giving it any parameters, reconnections are those that have tag starting with "recon" text. So most probably you're going to do `/DISCONNECT recon-1`. The other way is to remove all the reconnections with `/RMRECONNS`, easier but may remove some connections you actually wanted to reconnect (if you used multiple servers..). + +### Q: How do I add seconds to timestamp? + +A: `/FORMAT timestamp {timestamp %%H:%%M:%%S}` - and remember to add the trailing space :) + +### Q: Why does irssi say "Irssi: Channel not fully synchronized yet, try again after a while" when I try to use /BAN etc? + +A: Possibly a bug in irssi, or ircd you're using does something that irssi didn't really notice. The new code should make this happen far less often than before, but one known reason for this is when irssi doesn't notice that you were unable to join some channel. Currently however I don't know of any such events irssi doesn't know about. + +Anyway, if this does happen, do `/RAWLOG SAVE ~/rawlog` soon after joining to channel, and either try to figure out yourself why irssi didn't get reply to WHO request, or send the whole log to cras@irssi.org. Note that the rawlog is by default only 200 lines and it may not be enough to show all needed information, so you might want to do `/SET rawlog_lines 1000` or so. + +`MODE +b` still works fine though. + +### Q: Where's the GUI version? + +A: Read [About](/about) + +### Q: How do I autorejoin channels after being kicked? + +A: That's evil and you shouldn't do it. If you get kicked, you should stay out, at least until the channel forgot you existed :) Most channels I've joined just ban you if you autorejoin after kick. If you're joined to channels who kick people for fun, try changing channels or something. + +Anyway, if you REALLY want to do that, and you understand that you're doing evilness, you can use the autorejoin.pl script that comes with irssi. You'll still need to specify the channels you wish to rejoin with `/SET autorejoin_channels #chan1 #chan2 ...` + +### Q: How do I announce that I'm away/back in all channels I've joined? Or how do I change my nick when setting myself away/back? + +A: That's even worse than autorejoin. Who could possibly care every time you come and go? Many channels will kick you for using this, and I for example have added several ignores so I'd never need to see these messages. Learn to use `/AWAY` command properly and tell its existence to people who don't know about it. `/WII yournick` shows your away reason much better for people who actually want to know if you're there or not. + +### Q: Why does irssi autojoin on invite by default? + +A: The setting is /SET join_auto_chans_on_invite - it's not the same as regular autojoin-on-invite, which irssi doesn't even have. The only channels that are joined on invite, are the ones you've added to config with /CHANNEL ADD -auto. This is very useful with +i channels when you need to first send an invite request to bot, or if you get accidentally kicked from channel, the kicker can invite you back immediately. + +I don't see any bad side effects with this feature, so it's ON by default. I guess someone could start kicking/inviting you all the time but server connection shouldn't drop because of that, and you shouldn't join channels whose operators are that evil. + +### Q: How to make UTF-8 support work with irssi? + +A: Make sure your terminal supports UTF-8 (for example, `xterm -u8`). If you use screen, you may have to do `screen -U`. And in Irssi do `/SET term_charset utf-8`. (for 0.8.9 and older: `/SET term_type utf-8`) + +### Q: Will there be /DETACH-like feature? + +A: Maybe. Detach code already is there, attach is just missing :) But I don't have much interest in coding it, [screen](http://www.gnu.org/software/screen/screen.html) and [dtach](http://dtach.sf.net/) can be used to do it just fine. + +### Q: How do I run scripts automatically at startup? + +A: Put them into `~/.irssi/scripts/autorun/` directory. Or better would be if you placed them in `~/.irssi/scripts/` and created symlinks to autorun directory (eg. `cd ~/.irssi/scripts/autorun/ ; ln -s ../script.pl .`) + +### Q: How do I execute commands automatically at startup? + +A: Put them into `~/.irssi/startup` file, each command on its own line. The preceding slash (/) is not necessary. + +### Q: How do I easily edit existing topic? + +A: `/TOPIC <tab>` + +### Q: How can I have /WHOIS replies to active window? + +A: You can disable the status window, or do `/WINDOW LEVEL -CRAP` in it which would also make several other messages show up in active window. You can also use a [script](http://dgl.cx/irssi/hack-whois-in-current-window.pl). + +### Q: How do I add the active network to the statusbar + +A: Modify the window-line in statusbar section in config file to `window = "{sb $winref:$tag/$T{sbmode $M}}";` + +### Q: How to pronounce Irssi? + +A: Check [here](/assets/irssi.wav) diff --git a/documentation/index.markdown b/documentation/index.markdown new file mode 100644 index 0000000..8009cba --- /dev/null +++ b/documentation/index.markdown @@ -0,0 +1,36 @@ +--- +layout: page +title: Documentation +permalink: documentation/ +categories: [ _nav ] +--- +## Irssi documentation and tutorials: + +###Documentation +- Check the built-in `/HELP`, it has all the details on command syntax +- [Startup How-To](startup) +- [Settings](settings) +- [Frequently Asked Questions](faq) +- [Writing good bug reports](//github.com/irssi/irssi/blob/master/docs/crash.txt){:rel='external'} +- [Design](//github.com/irssi/irssi/blob/master/docs/design.txt){:rel='external'} +- [Manual](//github.com/irssi/irssi/blob/master/docs/manual.txt){:rel='external'}, a bit dated and unfinished + +### Miscellaneous +- [Tips & Tricks](tips) +- [Irssi Proxy](//github.com/irssi/irssi/blob/master/docs/proxy.txt){:rel='external'}, the mini-bnc module +- [Colour Formats](//github.com/irssi/irssi/blob/master/docs/formats.txt){:rel='external'} +- [Special Variables](//github.com/irssi/irssi/blob/master/docs/special_vars.txt){:rel='external'} +- [Irssi 0.8.17 Tips](//github.com/shabble/irssi-docs/wiki/Irssi-0.8.17){:rel='external'} + +### Tutorials +- [General guide to Irssi and GNU screen](//quadpoint.org/articles/irssi/){:rel='external'} +- [Split windows handling](//quadpoint.org/articles/irssisplit/){:rel='external'} +- [Split windows handling Addendum](http://wouter.coekaerts.be/irssi/split){:rel='external'} +- [Showing events in different windows](http://wouter.coekaerts.be/site/irssi/wclf){:rel='external'} + +### Scripting +- [Scripting Tutorial](http://juerd.nl/site.plp/irssiscripttut){:rel='external'}, by Juerd +- [Perl Scripting Reference](//github.com/irssi/irssi/blob/master/docs/perl.txt){:rel='external'} +- [Signals](//github.com/irssi/irssi/blob/master/docs/signals.txt){:rel='external'} +- (Unofficial) [Irssi Scripting and Documentation Wiki](//github.com/shabble/irssi-docs/wiki){:rel='external'} + diff --git a/documentation/proxy/index.html b/documentation/proxy/index.html new file mode 100644 index 0000000..acd3de8 --- /dev/null +++ b/documentation/proxy/index.html @@ -0,0 +1,5 @@ +--- +title: Proxy +redirect_to: + - https://github.com/irssi/irssi/blob/master/docs/proxy.txt +--- diff --git a/documentation/settings/index.markdown b/documentation/settings/index.markdown new file mode 100644 index 0000000..1436626 --- /dev/null +++ b/documentation/settings/index.markdown @@ -0,0 +1,1435 @@ +--- +layout: page +title: Settings Documentation +permalink: documentation/settings/ +--- +Irssi 0.8.10 settings notes. Gathered through much effort by Rocco Caputo rcaputo at cpan dot org (aka dngor). Includes original work by Nei, and advice and guidance from irc.freenode.net #irssi. + +This is not an attempt to document Irssi completely. It should be used along with the documents at [Documentation](/documentation) for more complete understanding of how irssi works. For example, the startup HOWTO and tips/tricks show sample uses for these settings, including some very useful stuff. + +We respect the work of others. Parts of this document have been collected from other locations. Wherever possible, we have made every effort to locate and attribute the original authors. Please let us know if we've overlooked you. + +We ask the same respect in return. The Copyright and license notices are at the end. + +* * * + +2008-Apr-20: (dngor) + +Added a FAQ. + +2005-Dec-08: (dngor) + +> Switched to Creative Commons' ShareAlike license. We'd like to thank Coekie coekie@irssi.org for pointing out out that the previous license was weak, and that he could just alter it and redistribute our work without attribution. +> +> Minor revisions throughout a major portion of the document. + +2005-Dec-07: (Nei) + +> Set example values to default values where appropriate. Add new settings from 0.8.10. Sorted settings according to my local /set output. +> +> (dngor) Marked the 0.8.10 settings as coming from that version. + +2005-Dec-01: (Nei) + +> Updated some links. Renamed term_type. + +2005-06-05: (dngor) + +> Tweaked an example to use the same command the surrounding text said it was. + +2005-05-04: (dngor) + +> Not terribly significant. All edits happened in the introduction. + +* * * + +## [completion] + +` completion_strict = OFF ` + +> When on, nicknames are matched strictly. That is, the partial nickname you enter must be at the beginning of a nickname in one of irssi's lists. +> +> When off, irssi will first try a strict match. If a strict match can't be found, irssi will look for nicknames that match when their leading non-alphanumeric characters are removed. For example: +> +>> +>> vis: hello +> +> With strict completion on, it will only match nicknames beginning with vis. With strict completion off, it may match visitors or _visitors_ or [visitors], and so on. + +` completion_keep_privates = 10 ` + +> Irssi keeps a list of nicknames from private messages to search during nick completion. This setting determines how many nicknames are held. +> +> TODO - Is this list maintained by people who privately message you, who you privately message, or both? + +` completion_char = : ` + +> The text that irssi puts after a tab-completed nickname, or that it uses to detect nicknames when you have completion_auto turned on. Some people alter this to colorize the completion character, creating the oft-dreaded bold colon. + +` completion_auto = OFF ` + +> Tell irssi to detect incomplete nicknames in your input and look up their completions automatically. Incomplete nicknames are detected when you input text that matches /^(S+)${completion_character}/. For example: +> +>> +>> vis: hello +> +> will be expanded to +> +>> +>> visitors: hello +> +> when you press enter. So will: +> +>> +>> vis:hello +>> Vis::Hello(12); +> +> This will eventually bite you. + +` completion_nicks_lowercase = OFF ` + +> When enabled, irssi forces completed nicknames to lowercase. Manually typed nicknames retain their case. + +` completion_keep_publics = 50 ` + +> Irssi keeps a list of nicknames from public messages to search during nick completion. This setting determines how many nicknames are held. +> +> TODO - Is this list maintained by watching who you speak to, who speak to you, or both? + +## [dcc] + +` dcc_autorename = OFF ` + +> Turn on this setting to automatically rename received files so they don't overwrite existing files. +> +> I think this setting may thwart dcc_autoresume, since the auto-resume feature looks for existing filenames when resuming. Auto-renaming downloads makes sure that filenames never conflict, so resuming is not possible. + +` dcc_autoresume = OFF ` + +> When on, dcc_autoresume will cause irssi to look for existing files with the same name as a new DCC transfer. If a file already exists by that name, irssi will try to resume the transfer by appending any new data to the existing file. +> +> I think this option clashes with dcc_autorename. See dcc_autorename for more information. +> +> Dcc_autoresume is ignored if dcc_autoget is off. + +` dcc_timeout = 5min ` + +> How long to keep track of pending DCC requests. Requests that do not receive responses within this time will be automatically canceled. + +` dcc_autoget = OFF ` + +> Turn DCC auto-get on or off. When on, irssi will attempt to auto-get files sent to you. +> +> This feature can be abused, so it is usually off by default. If you enable it, consider also setting dcc_autoget_masks and dcc_autoget_max_size to make this feature more secure. + +` dcc_upload_path = ~ ` + +> The path where you keep public files available to send via DCC. + +` dcc_autoget_masks = ` + +> Set dcc_autoget_masks with user masks to automatically accept files sent to you via DCC. When unset, irssi's auto-get settings will work for everyone who attempts to send you files. +> +> This setting is only significant if dcc_autoget is ON. + +` dcc_autoget_max_size = 0k ` + +> Set to nonzero to limit the size of files that irssi will auto-get. +> +> Note: Because of the way DCC works, someone may advertise a file at once size but try to send you something larger. According to src/irc/dcc/dcc-autoget.c, this only filters the request based on the advertised size. +> +> This setting is only significant if dcc_autoget is ON. + +` dcc_send_replace_space_with_underscore = OFF ` + +> When enabled, irssi will replace spaces with underscores in the names of files you send. It should only be necessary when sending files to clients that don't support quoted filenames, or if you hate spaces in filenames. + +` dcc_own_ip = ` + +> Set dcc_own_ip to force irssi to always send DCC requests from a particular virtual host (vhost). Irssi will always bind sockets to this address when answering DCC requests. Otherwise irssi will determine your IP address on its own. + +` dcc_download_path = ~ ` + +> The path to a directory where irssi will store DCC downloads. + +` dcc_file_create_mode = 644 ` + +> The mode in which new files are created. +> +>> +>> 644 is read/write by you, and readable by everybody else. 600 +>> is read/write by you, nobody else can read or write. + +` dcc_port = 0 ` + +> The smallest port number that irssi will use when initiating DCC requests. Irssi picks a port at random when this is set to zero. +> +> dcc_port can be two ports, separated by a space. In that case, irssi will pick a port between the two numbers, inclusively. For example: +> +>> +>> /set dcc_port 10000 20000 + +` dcc_autochat_masks = ` + +> Set dcc_autochat_masks with user masks to auto-accept chat requests from. When unset, irssi's auto-accept settings work for everyone who tries to DCC chat you. The drawbacks can range from annoying through downright dangerous. Use auto-accept with care. + +` dcc_mirc_ctcp = OFF ` + +> Tells irssi to send CTCP messages that are compatible with mIRC clients. This lets you use /me actions in DCC chats with mIRC users, among other things. + +` dcc_autoaccept_lowports = OFF ` + +> When this setting is OFF, irssi will not auto-accept DCC requests from privileged ports (those below 1024) even when auto-accept is otherwise on. + +## [flood] + +` autoignore_time = 5min ` + +> Irssi can auto-ignore people who are flooding. autoignore_time sets the amount of time to keep someone ignored. Irssi will automatically unignore them after this period of time has elapsed. + +` autoignore_level = ` + +> The type or types of messages that will trigger auto-ignore. + +` flood_max_msgs = 4 ` + +` flood_timecheck = 8 ` + +> Irssi will treat text as flooding if more than flood_max_msgs messages are received during flood_timecheck seconds. In the case above, five or more messages matching autoignore_level over the course of eight seconds will trigger flood protection. See autoignore_time to set the amount of time someone will remain ignored if it's determined that they're flooding. + +` cmds_max_at_once = 5 ` + +> How many commands you can send immediately before server-side flood protection starts. +> +> IRC servers also perform flood checking, and they will gleefully disconnect you if you are abusing them. The cmds_max_at_once setting lets irssi know how many rapid messages it can get away with while remaining under the IRC server's radar. + +` cmd_queue_speed = 2200msec ` + +> The time to wait between sending commands to an IRC server. Used to prevent irssi from flooding you off if you must auto-kick/ban lots of people at once. + +` max_ctcp_queue = 5 ` + +> The maximum number of pending CTCP requests to keep. Requests beyond max_ctcp_queue will be discarded. + +## [history] + +` scrollback_save_formats = OFF ` + +> Turn on to save formats in the scrollback buffer, so that old messages are not changed by new themes. Turn off so the current theme applies to your entire scrollback buffer. +> +> Setting this to OFF doesn't seem to do anything, however. + +` scroll_page_count = /2 ` + +> How many pages to scroll the scrollback buffer when pressing page-up or page-down. Expressed as a number of lines, or as a fraction of the screen: +> +>> +>> /2 = Scroll half a page. +>> .33 = Scroll about a third of a page. +>> 4 = Scroll four lines. + +` window_history = OFF ` + +> When turned ON, command history will be kept per-window. When off, irssi uses a single command history for all windows. + +` max_command_history = 100 ` + +> The number of lines of your own input to keep for recall. + +` scrollback_time = 1day ` + +> Keep at least scrollback_time worth of messages in the scrollback buffer, even if it means having more than scrollback_lines lines in the buffer. + +` rawlog_lines = 200 ` + +> Irssi's raw log is a buffer of raw IRC messages. It's used for debugging irssi and maybe some other things. This setting tells irssi how many raw messages to keep around. + +` scrollback_lines = 500 ` + +> The maximum number of messages to keep in your scrollback history. Set to 0 if you don't want to limit scrollback by a line count. The scrollback_time setting will be used even if scrollback_lines is zero. +> +> Setting scrollback_lines to zero also seems to thwart the scrollback_burst_remove optimization. + +` scrollback_burst_remove = 10 ` + +> This is a speed optimization: Don't bother removing messages from the scrollback buffer until the line limit has been exceeded by scrollback_burst_remove lines. This lets irssi do its memory management in chunks rather than one line at a time. +> +> TODO - Is this right? + +## [log] + +` log_close_string = --- Log closed %a %b %d %H:%M:%S %Y ` + +> The message to log when logs are closed. +> +> See Appendix C for the meanings of Irssi's time format codes. + +` log_timestamp = %H:%M ` + +> The time format for log timestamps. +> +> See Appendix C for the meanings of Irssi's time format codes. + +` autolog_colors = OFF ` + +> Whether to save colors in autologs. Colors make logs harder to parse and grep, but they may be vital for channels that deal heavily in ANSI art, or something. + +` autolog_level = all -crap -clientcrap -ctcps ` + +> The types of messages to auto-log. See the autolog setting. + +` awaylog_colors = ON ` + +> Whether to store color information in /away logs. + +` log_day_changed = --- Day changed %a %b %d %Y ` + +> The message to log when a new day begins. +> +> See Appendix C for the meanings of Irssi's time format codes. + +` autolog = OFF ` + +> Automatically log everything, or at least the types of messages defined by autolog_level. + +` autolog_path = ~/irclogs/$tag/$0.log ` + +> The path where autolog saves logs. +> +> See Appendix B for Irssi's special variables. Irssi's special variables can be used to do fancy things like daily log rotations. + +` awaylog_level = msgs hilight ` + +> The types of messages to log to awaylog_file while you're away. + +` awaylog_file = ~/.irssi/away.log ` + +> Where to log messages while you're away. +> +> I assume irssi's special variables also work here. See Appendix B for more information about them. + +` log_theme = ` + +> Logs can have a different theme than what you see on the screen. This can be used to create machine-parseable versions of logs, for example. + +` log_create_mode = 600 ` + +> The permissions to use when creating log files. +> +> 600 is read/write by you, but nobody else can see them. A sensible default mode. It can also be set to 644 if you want the rest of the world to read your logs. + +` log_open_string = --- Log opened %a %b %d %H:%M:%S %Y ` + +> The message to log when a log is opened. +> +> See Appendix C for the meanings of Irssi's time format codes. + +## [lookandfeel] + +` show_names_on_join = ON ` + +> Display the list of names in a channel when you join that channel. It's generally recommended, but you can disable it for pathologically huge channels or in case you just don't care. + +` window_check_level_first = OFF ` + +` window_default_level = NONE ` + +> From irssi's ChangeLog: +> +> Added /SET window_check_level_first and /SET window_default_level. This allows you to keep all messages with specific level in it's own window, even if it was supposed to be printed in channel window. patch by mike@po.cs.msu.su +> +> Try to choose better the window where we print when matching by level and multiple windows have a match. Should fix problems with query windows with a default msgs window + /SET window_check_level_first ON. +> +> Wouter Coekaerts has made a nice explanation about this, see <<http://wouter.coekaerts.be/site/irssi/wclf>> + +` emphasis = ON ` + +> Enable or disable real underlining and bolding when someone says *bold* or _underlined_. + +` autocreate_split_windows = OFF ` + +> Automatically created windows will be created as split windows with this setting on. +> +> Split windows are the kind where multiple windows are on one screen. + +` beep_msg_level = ` + +> Beep when messages match this level mask. + +` actlist_moves = OFF ` + +> When on, irssi rearranges the activity list so windows with more recent activity appear first. Otherwise windows are listed in numeric order. + +` hilight_nick_matches = ON ` + +> Tell irssi whether it should automatically highlight text that matches your nickname. + +` emphasis_multiword = OFF ` + +> Turn on to allow *more than one word bold* and _multiple underlined words_. Used in conjunction with the emphasis setting. + +` hide_colors = OFF ` + +> Hide mIRC and ANSI colors when turned on. This can be used to eliminate angry fruit salad syndrome in some channels. + +` names_max_width = 0 ` + +> Maximum number of columns to consume with a /names listing. Overrides names_max_columns if non-zero. Set to 0 for as many as fit in your terminal. + +` mirc_blink_fix = OFF ` + +> Some terminals interpret bright background colors as blinking text. mIRC doesn't support blinking at all. This fixes the blinky terminals by replacing high colors with their low equivalents. +> +> From irssi's ChangeLog: +> +>> +>> /SET mirc_blink_fix - if ON, the bright/blink bit is stripped +>> from MIRC colors. Set this to ON, if your terminal shows bright +>> background colors as blinking. + +` autoclose_windows = ON ` + +> Automatically close windows when nobody is in them. This keeps your window list tidy, but it means that query windows may rearrange as people log off then privately message you later. + +` bell_beeps = OFF ` + +> Tell irssi whether bell characters (chr 7, ^G) should actually cause beeps. +> +> According to Nei, bell_beeps seems to cover the case where a beep is caused by a printed message/format. It's unrelated to activity beeps. + +` hide_server_tags = OFF ` + +> Server tags are prefixes to some messages (server messages?) that let you know which server the message came from. They're often considered noisy, so this option lets you hide them. + +` show_nickmode = ON ` + +> Prefix nicknames with their channel status: +> +> voiced + half-op % op @ + +` theme = default ` + +> Irssi supports themes that can change most of the client's look and feel. This setting lets you name the theme you wish to use. + +` timestamps = ON ` + +> Turn timestamps on or off. When off, not even timestamp_level will trigger them. + +` indent = 10 ` + +> How many columns to indent subsequent lines of a wrapped message. +> +> Attention: This can be overwritten by themes. + +` timestamp_format = %H:%M ` + +> How to format the time used in timestamps. +> +> See Appendix C for the meanings of Irssi's time format codes. + +` activity_msg_level = PUBLIC ` + +> Flag a channel as active when messages of this type are displayed there. + +` print_active_channel = OFF ` + +> Always print the channel with the nickname (like nick:channel) even if the message is from the channel you currently have active. + +` autoclose_query = 0 ` + +> Automatically close query windows after autoclose_query seconds of inactivity. Setting autoclose_query to zero will keep them open until you decide to close them yourself. + +` activity_hide_targets = ` + +> Sometimes you don't care at all about a channel's activity. This can be set to a list of channels that will never appear to be active. + +` use_msgs_window = OFF ` + +> Use a single window for all private messages. This setting only makes sense if automatic query windows is turned off. + +` timestamp_timeout = 0 ` + +> The amount of time to leave timestamps on after a timestamp_level message triggered timestamping. Useful for people who think timestamps are noisy but would like timestamps for important conversations. + +` use_status_window = ON ` + +> Create a separate window for all server status messages, so they don't clutter up your channels. + +` windows_auto_renumber = ON ` + +> Closing windows can create gaps in the window list. When windows_auto_renumber is turned on, however, windows are shifted to lower numbers in the list to fill those gaps. + +` show_nickmode_empty = ON ` + +> If a person has no chanel modes, prefix their nickname with a blank space. This keeps nicknames of normal people aligned with those of voiced, half-opped, and opped people. + +` beep_when_away = ON ` + +> Should beeps be noisy when you're /away? Great for people who sleep near their terminals or keep irssi running at work. :) + +` timestamp_level = ALL ` + +> Types of messages to prefix a timestamp to. Useful for explicit or automatic timestamps. +> +> Once timestamping is temporarily turned on, it may stay on for timestamp_timeout seconds. + +` indent_always = OFF ` + +> Should we indent the long words that are forcibly wrapped to the next line? This can break long words such as URLs by inserting spaces in the middle of them. +> +> Turn off if you would like to copy/paste or otherwise use URLs from your terminal. + +` hilight_color = %Y ` + +> The default color for /hilight. +> +> See Appendix D for Irssi's color codes. + +` emphasis_replace = OFF ` + +> If emphasis is turned on, the * or _ characters indicating emphasis will be removed when the word is made bold or underlined. Some people find this looks cleaner. +> +> See the emphasis setting for more information. + +` hilight_level = PUBLIC DCCMSGS ` + +> The types of messages that can be highlighted. + +` hilight_act_color = %M ` + +> The color to use to highlight window activity in the status bar. That's the section that shows [Act: ...]. +> +> See Appendix D for Irssi's color codes. + +` expand_escapes = OFF ` + +> Detect escapes in input, and expand them to the characters they describe. For example +> +>> +>> t +> +> Is literally '' and 't' when expand_escapes is off, but it's the tab character (chr 9) when expand_escapes is on. + +` autocreate_windows = ON ` + +> When on, create new windows for certain operations, such as /join. When off, everything is just dumped into one window. + +` autocreate_query_level = MSGS DCCMSGS ` + +> Automatically create query windows when receiving these types of messages. + +` term_auto_detach = OFF ` + +> Automatically detach from the terminal when it disappears. +> +> This doesn't actually work. Or if it does, there's currently no way to re-attach to the terminal. It may be useful for setting up daemons where you don't want to run nohup or screen, however. + +` hide_text_style = OFF ` + +> Hide bold, blink, underline, and reverse attributes. + +` whois_hide_safe_channel_id = ON ` + +> Introduced in 0.8.10. +> +> Hides the unique id of !channels in /whois output (IRCNet/irc2 networks only). +> +> E.g. shows !channel instead of !12345channel + +` names_max_columns = 6 ` + +> Maximum number of columns to use for /names listing. Also shown on channel join. Set to 0 for as many as fit in your terminal. + +` chanmode_expando_strip = OFF ` + +> When on, $M will not return mode parameters. +> +> This means for example that the channel limit and channel key won't be shown in your statusbar (a common place where $M is used) (but also not in all other places that refer to $M for whatever reason). + +` show_quit_once = OFF ` + +> When turned on, a quit message will only be shown once. Otherwise it will be displayed in every window you share with the quitter. + +` show_away_once = ON ` + +> When on, only show /away messages in the window that's currently open. Otherwise the message will appear in every window you share with the away person. + +` autocreate_own_query = ON ` + +> Turn on to automatically create query windows when you /msg someone. + +` term_charset = US-ASCII ` + +> Sets your native terminal character set. Irssi will take this into consideration when it needs to delete multibyte characters, for example. +> +> A common value is utf-8 for Unicode/UTF-8 enabled terminals. +> +> TODO - Does this still support Chinese terminal emulators? (Used to be term_type = big5 in old Irssi.) + +` activity_hilight_level = MSGS DCCMSGS ` + +> There are times when you want to highlight channel activity in a window. Like when someone sends you a private message, or a DCC message. Activity_highlight_level sets the kind of messages you think are extra important. + +` autostick_split_windows = ON ` + +> TODO - What is this? +> +> Nei says: Setting split windows to stick means that their content won't change. Best thing to come up with a viable description might be if you tried it. +> +> f0rked has written an excellent guide to irssi's split windows: <<http://f0rked.com/articles/irssisplit>> + +` query_track_nick_changes = ON ` + +> Query windows will track nick changes when this is on. That is, it looks for a matching user@host if a message comes in with an unknown nick. +> +> TODO - Really? + +` scroll = ON ` + +> Set scroll ON to have irssi scroll your screen when it fills up. Set it OFF to require manual scrolling. +> +> Warning: If set to OFF, this will stop scrolling in all windows and not reenable scrolling even if you set it back to ON. (You need to manually scroll to the bottom in each window first.) + +` window_auto_change = OFF ` + +> Turn this on to automatically switch to newly-created windows. This may cause you to misdirect messages, so be careful. + +` beep_when_window_active = ON ` + +> Should beeps be noisy in a window you're watching? Perhaps not, since you are theoretically watching that window. You ARE watching it, aren't you? + +` activity_hide_level = ` + +> Message levels that don't count towards channel activity. That is, channels won't be marked as active if messages of these types appear. + +` show_own_nickchange_once = OFF ` + +> Squash your own nick-change messages so they appear only once, not once in every window you have on that network. + +` reuse_unused_windows = OFF ` + +> When set on, irssi will reuse unused windows when looking for a new window to put something in. Otherwise unused windows are ignored, and new ones are always created. + +` colors = ON ` + +> Enable or disable colors. + +` term_force_colors = OFF ` + +> Always display colors, even when the terminal type says colors aren't supported. Useful for working around really dumb terminals. + +` autofocus_new_items = ON ` + +> Switch the focus to a new item when it's created. This may be disturbing at first when combined with query window auto-creation, and it may be downright dangerous if it causes you to accidentally misdirect messages. + +## [misc] + +` opermode = ` + +> When set, irssi will set your modes to match opermode when you /oper up. For example, you might +> +>> +>> /set opermode +s 1048575 + +` channel_max_who_sync = 1000 ` + +> Introduced in 0.8.10. +> +> The maximum number of users that may be in a channel for Irssi to issue a +> +>> +>> /who #channel +> +> in order to obtain the hostmasks of every participant. +> +> If this is set too high, IRC servers might kick you for Sendq exceeded. + +` recode_autodetect_utf8 = ON ` + +> Introduced in 0.8.10. +> +> Irssi's recode system is broken. This tries to cover up for it by leaving messages intact that seem to decode fine as Unicode UTF-8. + +` lag_check_time = 1min ` + +> How long to wait between active lag checks. Irssi will passively check for lag when you're active, but sometimes it's necessary to actively check. This is the minimum amount of time between active checks. + +` quit_message = leaving ` + +> Default message to send when /quit'ting. + +` paste_detect_time = 5msecs ` + +> Irssi will detect pastes when your input has less than this much time between lines. + +` notify_check_time = 1min ` + +> How often to check for someone online when /notify is on. + +` help_path = /usr/local/share/irssi/help ` + +> One or more paths where irssi will look for its help database. Multiple paths are separated by :. It's very important that this is correct. + +` ctcp_userinfo_reply = $Y ` + +> The reply to send when someone queries your user information. By default, it's $Y, which is defined by the real_name setting. +> +> See <<http://irssi.org/documentation/special_vars>> for more special variables you can use. + +` override_coredump_limit = ON ` + +> Allow really really big coredumps if this is set on. + +` join_auto_chans_on_invite = ON ` + +> Automatically join a channel when invited to it. +> +> TODO - Does this only work with channels on the /channel add -auto list? + +` netjoin_max_nicks = 10 ` + +> When non-zero, limits the number of nicknames to display during netjoins. +> +> TODO - Is this correct? + +` paste_join_multiline = ON ` + +> Introduced in 0.8.10. +> +> Irssi will try to concatenate multiple lines into a single lined message when these lines have the same indentation level and look like they were copied out of Irssi. +> +> It's useful for quoting e-mail or other large-text messages, but it will probably bite you if you try to pasted indented text, such as code listings. Irssi will join multiple lines of code, destroying any structure you wanted to preserve. + +` channel_sync = ON ` + +> Set whether irssi should synchronize a channel on join. When enabled, irssi will gather extra information about a channel: modes, who list, ban list, ban exceptions, and invite list. + +` paste_detect_keycount = 5 ` + +> Introduced in 0.8.10. +> +> TODO - What's this? + +` recode_fallback = CP1252 ` + +> Introduced in 0.8.10. +> +> If you have Irssi compiled with recode support and Irssi believes that a message you received did not recode properly in your terminal default character set (or the specified one), it will recode the message using this character set. +> +> (CP1252, the irssi default, is the Microsoft(R) Windows default character set for Western Europe.) +> +> Also see /help recode for more details about recoding. + +` notify_idle_time = 1hour ` + +> Irssi will notify you when someone you're watching becomes idle for this long. + +` massjoin_max_joins = 3 ` + +> If nonzero, detect mass joins. A mass join is when someone joins more than massjoin_max_joins per massjoin_max_wait seconds. +> +> TODO - Or is this when more than massjoin_max_joins people join per massjoin_max_wait seconds, regardless of the user mask? + +` write_buffer_size = 0 ` + +> Amount of text (logs, etc) to buffer in memory before writing to disk. Useful for minimizing disk access. + +` write_buffer_timeout = 0 ` + +> Amount of time to keep text in memory. A buffer is flushed to disk if the text in it is this old, even if the buffer isn't full. +> +> Useful in conjunction with really large write_buffer_size values, to prevent a lot of text from being lost if irssi crashes or is killed. + +` STATUS_OPER = * ` + +> TODO - What's this? + +` recode = ON ` + +> Introduced in 0.8.10. +> +> This setting allows you to disable irssi's recode functionality, if you prefer your messages not being messed with. + +` ban_type = normal ` + +> The default ban type to use: normal, user, host, domain, custom? See /help ban for a description of ban types. + +` lag_max_before_disconnect = 5min ` + +> Irssi detects your lag and will reconnect you automatically if your lag exceeds this value. + +` part_message = ` + +> Default message to send when parting a channel. + +` auto_whowas = ON ` + +> Automatically try /whowas if you /whois someone who isn't online. + +` paste_verify_line_count = 5 ` + +> Ask you whether you meant to paste something if it's longer than this many lines. + +` max_wildcard_modes = 6 ` + +> When set nonzero, don't mass op/deop/kick more than this many people. Commands that let you do things to other nicks can take wildcards. For example +> +>> +>> /kick floodbot* flooding +> +> would kick everybody whose nickname began with floodbot. Unless there were more than max_wildcard_modes of them. +> +> This setting prevents you from embarassment like: +> +>> +>> /kick * +> +> You can specify -yes if you really want to do it: +> +>> +>> /kick -yes * + +` hide_netsplit_quits = ON ` + +> Don't display quit messages if they're the product of a netsplit. Some people find this helpful, while others find it creepy. + +` knockout_time = 5min ` + +> Knockouts are temporary kickbans. Knockout_time is the default amount of time before each temporary ban is lifted. +> +> See /help knockout + +` massjoin_max_wait = 5000 ` + +> The amount of time to watch for mass-joins. +> +> I'm not sure which unit of time is used to measure massjoin_max_wait. + +` lag_min_show = 1sec ` + +> Lag is a part of life on IRC. Don't bother displaying lag that's below this threshold, presumably because you consider it to be insignificant. + +` wall_format = [Wall/$0] $1- ` + +> Format for wall messages. + +` netsplit_nicks_hide_threshold = 15 ` + +> Limit the number of nicks to display during netsplits to this many. Or don't limit them at all, if this is set to 0. + +` settings_autosave = ON ` + +> Automatically save your settings when you quit irssi, or once per hour, rather than waiting for you to /save them yourself. + +` translation = ` + +> Set the translation table to use. See Appendix E. +> +> TODO - Does this still work even? + +` group_multi_mode = ON ` + +> Consolidate multiple consecutive channel modes into a single message. This will delay the display of channel modes for a short period of time while it waits to see if multiple modes are occurring. + +` recode_out_default_charset = ` + +> Introduced in 0.8.10. +> +> The outgoing character set you want your messags to be recoded into, if different from your term_charset. + +` cmdchars = / ` + +> Prefix characters that tell irssi that your input is a command rather than chat text. + +` notify_whois_time = 5min ` + +> How often to check /whois on a user who's online, to see if their /away or idle status changes. + +` kick_first_on_kickban = OFF ` + +> Kickban will normally ban first, then kick. Turn this option on to reverse the situation, which can create a race condition if the user rejoins between your kick and the subsequent ban. + +` recode_transliterate = ON ` + +> Introduced in 0.8.10. +> +> If enabled, irssi tells iconv to try and replace characters that don't recode well with similar looking ones that exist in the target character set. +> +> If disabled, irssi replaces the character it could not recode with a ? instead. + +` usermode = +i ` + +> Default modes to set yourself once you've connected to a server. + +` ignore_signals = ` + +> Operating system signals to ignore. May be zero or more of: int, quit, term, alrm, usr1, and usr2. + +` netsplit_max_nicks = 10 ` + +> When non-zero, limits the number of nicknames to display during netsplits. +> +> TODO - Is this correct? + +` ctcp_version_reply = irssi v$J - running on $sysname $sysarch ` + +> What to tell someone when they query your client's version. +> +> Some people consider announcing your client and operating system type and version to be a security hole. Those people change this setting. + +## [perl] + +` perl_use_lib = /usr/local/perl-582/i386-freebsd ` + +> Which perl library to use, in case you have many to choose from. + +## [proxy] + +` use_proxy = OFF ` + +> Tell irssi whether it should connect through a proxy server. + +` proxy_string = CONNECT %s %d ` + +> How to tell your proxy to initiate a connection. +> +> I haven't found documentation for the codes used in proxy_string. +> +> TODO - How do you tell irssi to connect through a proxy that requires authentication? + +` proxy_string_after = ` + +> Text to send after setting NICK and USER through a proxy. + +` proxy_address = ` + +` proxy_port = 6667 ` + +> The address and port of your IRC proxy. + +` proxy_password = ` + +> The password to use if the proxy requires authentication. + +## [server] + +` server_connect_timeout = 5min ` + +> How long to wait for a connection to be established. +> +> Be careful using very short timeouts. Servers may recognize the activity as abuse. + +` resolve_reverse_lookup = OFF ` + +> When connecting, resolve the server's IP address back into its hostname. Probably useful for figuring out exactly which server you're on after resolving a round-robin host. + +` ssl_cacert = ` + +` ssl_cafile = ` + +` ssl_cert = ` + +` ssl_pkey = ` + +` ssl_verify = OFF ` + +` use_ssl = OFF ` + +> SSL options. Set the certificates and keys, and stuff you'll use to connect to a secure server. +> +> TODO - Does verify work? If so, how? + +` hostname = ` + +> Your source hostname. Useful when you're on a multi-host system, and you want to look like you're connecting from a particular host. +> +> This setting tells irssi which IP to bind to. + +` user_name = $IRCUSER ` + +> Set your system user name. This is used in times when you don't have working ident. + +` resolve_prefer_ipv6 = OFF ` + +> Turn this option on to prefer using an ipv6 address when a host has both ipv4 and ipv6 addresses. + +` nick = $IRCNICK ` + +> Your main, preferred nick. + +` alternate_nick = ` + +> An alternate nickname to use if your preferred one is already taken. + +` real_name = $IRCNAME ` + +> Your real name. + +` skip_motd = OFF ` + +> Turn this on to avoid displaying the server's message of the day. Messages of the day are often noisy, and few people actually read them, but they contain important information amongst the ASCII art and song lyrics. :) + +` server_reconnect_time = 5min ` + +> How long to wait between reconnects to the same server. Some servers will k-line you if you reconnect too quickly, so be careful setting this value lower. + +## [servers] + +` channels_rejoin_unavailable = ON ` + +> Attempt to rejoin a channel if it's temporarily unavailable. Channels may be unavailable during netsplits. + +* * * + +## Appendix A: Levels + +Levels are categories of messages that can be ignored or otherwise matched. Categories may be combined. For example, you may want to ignore only private messages (MSG) from someone, or you might really hate them and ignore MSGS and PUBLIC. Or even ALL. + +See /help levels for a better, probably more current explanation of the different kinds of levels irssi supports. Meanwhile: + + + CRAP - ? + MSGS - Match messages privately sent to you. + PUBLIC - Match messages sent to public channels. + NOTICES - Match NOTICE messages. + SNOTES - Match server notices. + CTCPS - Match CTCP messages. + ACTIONS - Match CTCP actions. + JOINS - Match join messages. + PARTS - Match part messages. + QUITS - Match quit messages. + KICKS - Match kick messages. + MODES - Match mode changes. + TOPICS - Match topic changes. + WALLOPS - Match wallops. + INVITES - Match invite requests. + NICKS - Match nickname changes. + DCC - DCC related messages. + DCCMSGS - Match DCC chat messages. + CLIENTNOTICE - Irssi's notices. + CLIENTCRAP - Miscellaneous irssi messages. + CLIENTERROR - Irssi's error messages. + + ALL - All previous message levels combined. + + HILIGHT - Match highlighted messages. + NOHILIGHT - Don't check a message's highlighting. + NO_ACT - Don't trigger channel activity. + NEVER - Never ignore, never log. + LASTLOG - Never ignore, never log. + +* * * + +## Appendix B: Special Variables and Expandos + +Several settings allow special variables. These variables will be replaced by the text they represent at the time they're used. Not at the time you set the setting! + +They are mostly used for formatting text in themes. + +From <<http://irssi.org/documentation/special_vars>> : + + + NOTE: This is just a slightly modified file taken from EPIC's help. + + Special Variables and Expandos + + Irssi supports a number of reserved, dynamic variables, sometimes + referred to as expandos. They are special in that the client is + constantly updating their values automatically. There are also + numerous variable modifiers available. + + Modifier Description + $variable A normal variable, expanding to the first match + | of: + | 1) an internal SET variable + | 2) an environment variable + $[num]variable Expands to the variables value, with 'num' width. + | If the number is negative, the value is + | right-aligned. + | The value is padded to meet the width with the + | character given after number (default is + | space). + | The value is truncated to specified width + | unless '!' character precedes the number. If + | '.' character precedes the number the value + | isn't padded, just truncated. + $#variable Expands to the number of words in $variable. If + | $variable is omitted, it assumes $* + $@variable Expands to the number of characters in $variable. + | if $variable is omitted, it assumes $* + $($subvariable) This is somewhat similar to a pointer, in that + | the value of $subvar is taken as the name of + | the variable to expand to. Nesting is allowed. + ${expression} Permits the value to be embedded in another + | string unambiguously. + $!history! Expands to a matching entry in the client's + | command history, wildcards allowed. + + Whenever an alias is called, these expandos are set to the arguments + passed to it. If none of these expandos are used in the alias, or + the $() form shown above, any arguments passed will automatically be + appended to the last command in the alias. + + Expando Description + $* expands to all arguments passed to an alias + $n expands to argument 'n' passed to an alias (counting from + zero) + $n-m expands to arguments 'n' through 'm' passed to an alias + $n- expands to all arguments from 'n' on passed to an alias + $-m expands to all arguments up to 'm' passed to an alias + $~ expands to the last argument passed to an alias + + These variables are set and updated dynamically by the client. The + case of $A .. $Z is important. + + Variable Description + $, last person who sent you a MSG + $. last person to whom you sent a MSG + $: last person to join a channel you are on + $; last person to send a public message to a channel you + are on + $A text of your AWAY message, if any + $B body of last MSG you sent + $C current channel + $D last person that NOTIFY detected a signon for + $E idle time + $F time client was started, $time() format + $H current server numeric being processed + $I channel you were last INVITEd to + $J client version text string + $K current value of CMDCHARS + $k first character in CMDCHARS + $L current contents of the input line + $M modes of current channel, if any + $N current nickname + $O value of STATUS_OPER if you are an irc operator + $P if you are a channel operator in $C, expands to a '@' + + $Q nickname of whomever you are QUERYing + $R version of current server + $S current server name + $T target of current input (channel or nick of query) + $U value of cutbuffer + $V client release date (format YYYYMMDD) + $W current working directory + $X your /userhost $N address (user@host) + $Y value of REALNAME + $Z time of day (hh:mm, can be changed with /SET + timestamp_format) + $$ a literal '$' + + $versiontime prints time of the irssi version in HHMM + format + $sysname system name (eg. Linux) + $sysrelease system release (eg. 2.2.18) + $sysarch system architecture (eg. i686) + $topic channel topic + $usermode user mode + $cumode own channel user mode + $cumode_space like $cumode, but gives space if there's no + mode. + $tag server tag + $chatnet chat network of server + $winref window reference number + $winname window name + $itemname like $T, but use item's visible_name which may + be different (eg. $T = !12345chan, $itemname = + !chan) + + For example, assume you have the following alias: + + alias blah msg $D Hi there! + + If /blah is passed any arguments, they will automatically be appended + to the MSG text. For example: + + /blah oops /* command as entered */ + Hi there! oops /* text sent to $D */ + + Another useful form is ${}. In general, variables can be embedded + inside strings without problems, assuming the surrounding text could + not be misinterpreted as part of the variable name. This form + guarantees that surrounding text will not affect the expression's + return value. + + /eval echo foo$Nfoo /* breaks, looks for $nfoo */ + /eval echo foo${N}foo /* ${N} returns current nickname */ + fooYourNickfoo /* returned by above command */ + +* * * + +## Appendix C: Time Formats + +Messages that describe times are formatted according to the strftime() function in C. According to FreeBSD's strftime() man page, parts of the format represented with % and a letter code are expanded in the following ways. + + %A is replaced by national representation of the full weekday name. + + %a is replaced by national representation of the abbreviated + weekday name. + + %B is replaced by national representation of the full month name. + + %b is replaced by national representation of the abbreviated month + name. + + %C is replaced by (year / 100) as decimal number; single digits are + preceded by a zero. + + %c is replaced by national representation of time and date. + + %D is equivalent to ``%m/%d/%y''. + + %d is replaced by the day of the month as a decimal number (01-31). + + %E* %O* + POSIX locale extensions. The sequences %Ec %EC %Ex %EX %Ey %EY + %Od %Oe %OH %OI %Om %OM %OS %Ou %OU %OV %Ow %OW %Oy are + supposed to provide alternate representations. + + Additionly %OB implemented to represent alternative months + names (used standalone, without day mentioned). + + %e is replaced by the day of month as a decimal number (1-31); + single digits are preceded by a blank. + + %F is equivalent to ``%Y-%m-%d''. + + %G is replaced by a year as a decimal number with century. This + year is the one that contains the greater part of the week + (Monday as the first day of the week). + + %g is replaced by the same year as in ``%G'', but as a decimal + number without century (00-99). + + %H is replaced by the hour (24-hour clock) as a decimal number + (00-23). + + %h the same as %b. + + %I is replaced by the hour (12-hour clock) as a decimal number + (01-12). + + %j is replaced by the day of the year as a decimal number + (001-366). + + %k is replaced by the hour (24-hour clock) as a decimal number + (0-23); single digits are preceded by a blank. + + %l is replaced by the hour (12-hour clock) as a decimal number + (1-12); single digits are preceded by a blank. + + %M is replaced by the minute as a decimal number (00-59). + + %m is replaced by the month as a decimal number (01-12). + + %n is replaced by a newline. + + %O* the same as %E*. + + %p is replaced by national representation of either ante meridiem + or post meridiem as appropriate. + + %R is equivalent to ``%H:%M''. + + %r is equivalent to ``%I:%M:%S %p''. + + %S is replaced by the second as a decimal number (00-60). + + %s is replaced by the number of seconds since the Epoch, UTC (see + mktime(3)). + + %T is equivalent to ``%H:%M:%S''. + + %t is replaced by a tab. + + %U is replaced by the week number of the year (Sunday as the first + day of the week) as a decimal number (00-53). + + %u is replaced by the weekday (Monday as the first day of the week) + as a decimal number (1-7). + + %V is replaced by the week number of the year (Monday as the first + day of the week) as a decimal number (01-53). If the week + containing January 1 has four or more days in the new year, + then it is week 1; otherwise it is the last week of the + previous year, and the next week is week 1. + + %v is equivalent to ``%e-%b-%Y''. + + %W is replaced by the week number of the year (Monday as the first + day of the week) as a decimal number (00-53). + + %w is replaced by the weekday (Sunday as the first day of the week) + as a decimal number (0-6). + + %X is replaced by national representation of the time. + + %x is replaced by national representation of the date. + + %Y is replaced by the year with century as a decimal number. + + %y is replaced by the year without century as a decimal number + (00-99). + + %Z is replaced by the time zone name. + + %z is replaced by the time zone offset from UTC; a leading plus + sign stands for east of UTC, a minus sign for west of UTC, + hours and minutes follow with two digits each and no delimiter + between them (common form for RFC 822 date headers). + + %+ is replaced by national representation of the date and time (the + format is similar to that produced by date(1)). + + %% is replaced by `%'. + + +* * * +## Appendix D: Color Codes + +Irssi defines codes to represent colors. They work like the strftime() codes in Appendix C. + +From <<http://irssi.org/documentation/formats>> : + + Irssi's colors that you can use in text formats, hilights, etc. : + + text text background + --------------------------------------------------------------------- + %k %K %0 black dark grey black + %r %R %1 red bold red red + %g %G %2 green bold green green + %y %Y %3 yellow bold yellow yellow + %b %B %4 blue bold blue blue + %m %M %5 magenta bold magenta magenta + %p %P magenta (think: purple) + %c %C %6 cyan bold cyan cyan + %w %W %7 white bold white white + %n %N Changes the color to default color, removing + all other coloring and formatting. %N is + always the terminal's default color. %n is + usually too, except in themes it changes to + previous color, ie. hello = %Rhello%n and + %G{hello} world would print hello in red, + and %n would turn back into %G making world + green. + %F Blinking on/off (think: flash) + %U Underline on/off + %8 Reverse on/off + %9 %_ Bold on/off + %: Insert newline + %| Marks the indentation position + %# Monospace font on/off (useful with lists and + GUI) + %% A single % + + In .theme files %n works a bit differently. See default.theme for more + information. + + +* * * + +## Appendix E comes directly from <http://irc.fu-berlin.de/irc/help/SET/TRANSLATION.html> : + + Usage: SET TRANSLATION character translation table + + The TRANSLATION variable defines a character translation table. By + default, ircII assumes that all text processed over the network is + in the ISO 8859/1 map, also known as Latin-1. This is identical to + standard ASCII, except that it is extended with additional + characters in the range 128-255. Many environments by default use + the Latin-1 map, such as X Windows, MS Windows, AmigaDOS, and modern + ANSI terminals including Digital VT200, VT300, VT400 series and + MS-Kermit. However, many older environments use non-standard + extensions to ASCII, and yet others use 7-bit national replacement + sets. + + Some available settings for the TRANSLATION variable: + + 8-bit sets: + CP437 Old IBM PC, compatibles and Atari ST. + CP850 New IBM PC compatibles and IBM PS/2. + DEC_MCS DEC Multinational Character Set. + VAX/VMS. VT320's and other 8-bit + Digital terminals use this set by + default, but I recommend changing to + Latin-1 in the terminal Set-Up. + DG_MCS Data General Multinational Character Set. + HP_MCS Hewlett Packard Extended Roman 8. + LATIN_1 ISO 8859/1. Default. + MACINTOSH Apple Macintosh computers and boat + anchors. + NEXT NeXT. + + 7-bit sets: + ASCII ANSI ASCII, ISO Reg. 006. For American + terminals in 7-bit environments. Use + this one if everything else fails. + DANISH Norwegian/Danish. + DUTCH Dutch. + FINNISH Finnish. + FRENCH ISO French, ISO Reg. 025. + FRENCH_CANADIAN French in Canada. + GERMAN ISO German, ISO Reg. 021. + IRV International Reference Version, ISO + Reg. 002. For use pedantic in ISO 646 + environments. + ITALIAN ISO Italian, ISO Reg. 015. + JIS JIS ASCII, ISO Reg. 014. Japanese + ASCII hybrid. + NORWEGIAN_1 ISO Norwegian, Version 1, ISO Reg. 060. + NORWEGIAN_2 ISO Norwegian, Version 2, ISO Reg. 061. + PORTUGUESE ISO Portuguese, ISO Reg. 016. + PORTUGUESE_COM Portuguese on Digital terminals. + RUSSIAN Russian + RUSSIAN_ALT Alternative Russian. + SPANISH ISO Spanish, ISO Reg. 017. + SWEDISH ISO Swedish, ISO Reg. 010. + SWEDISH_NAMES ISO Swedish for Names, ISO Reg. 011. + SWEDISH_NAMES_COM Swedish. Digital, Hewlett Packard. + SWISS Swiss. + UNITED_KINGDOM ISO United Kingdom, ISO Reg. 004. + UNITED_KINGDOM_COM United Kingdom on DEC and HP terminals. + + Please forward any extra translation tables to the ircII development + team by using the ircbug utility that comes with the package, or, + failing that, sending mail to ircii-bugs@eterna.com.au directly. + + +* * * + +Q: Will you relicense this document under YOUR_FAVORITE_LICENSE? + +A: The Creative Commons Attribution-ShareAlike license best embodies the author's wishes for use and redistribution of his work. It is strictly a license and does not promulgate a political or ideological agenda. YOUR_FAVORITE_LICENSE will be considered if its terms are very similar (if not identical) to the current license, but it will be rejected if it's someone's soapbox. + +* * * + +Copyright License. + +The original portions of this document are Copyright 2005 by Rocco Caputo rcaputo@cpan.org and Nei (on irc.freenode.net #irssi). Other portions are Copyright by their respective authors or licensors. + +This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License. Please see <<http://creativecommons.org/licenses/by-sa/2.5/>> for details. Summary: + + You are free: + + * to copy, distribute, display, and perform this work + * to make derivative works + * to make commercial use of this work + + Under the following conditions: + + Attribution. You must attribute the work in the manner specified + by the author or licensor. + + Share Alike. If you alter, transform, or build upon this work, + you may distribute the resulting work only under a license + identical to this one. + + * For any reuse or distribution, you must make clear to others the + license terms of this work. + * Any of these conditions can be waived if you get permision from + the copyright holder. + + Your fair use and other rights are in no way affected by the above. + + +Sorry for the heavy license crap. Coekie wanted clarification. diff --git a/documentation/startup/index.markdown b/documentation/startup/index.markdown new file mode 100644 index 0000000..2ca06f0 --- /dev/null +++ b/documentation/startup/index.markdown @@ -0,0 +1,694 @@ +--- +layout: page +title: Startup How-To +permalink: documentation/startup/ +--- +### To new Irssi users (not to new IRC users ..) + +Copyright (c) 2000-2002 by Timo Sirainen, release under [GNU FDL][1] 1.1 license. + +Index with some FAQ questions that are answered in the chapter: + +1. [For all the ircII people](#for-all-the-ircii-people) + * This window management is just weird, I want it exactly like ircII +2. [Basic user interface usage](#basic-user-interface-usage) + * Split windows work in weird way + * How can I easily switch between windows? + * But alt-1 etc. don't work! +3. [Server and channel automation](#server-and-channel-automation) + * How do I automatically connect to servers at startup? + * How do I automatically join to channels at startup? + * How do I automatically send commands to server at connect? +4. [Setting up windows and automatically restoring them at startup](#setting-up-windows-and-automatically-restoring-them-at-startup) +5. [Status and msgs windows & message levels](#status-and-msgs-windows--message-levels) + * I want /WHOIS to print reply to current window + * I want all messages to go to one window, not create new windows +6. [How support for multiple servers works in irssi](#how-support-for-multiple-servers-works-in-irssi) + * I connected to some server that doesn't respond and now irssi keeps trying to reconnect to it again and again, how can I stop it?? + * I want to have own status and/or msgs window for each servers +7. [/LASTLOG and jumping around in scrollback](#lastlog-and-jumping-around-in-scrollback) + * How can I save all texts in a window to file? +8. [Logging](#logging) +9. [Changing keyboard bindings](#changing-keyboard-bindings) + * How do I make F1 key do something? +10. [Proxies and IRC bouncers](#proxies-and-irc-bouncers) +11. [Irssi's settings](#irssis-settings) +12. [Statusbar](#statusbar) + * I loaded a statusbar script but it's not visible anywhere! + +## 1\. For all the ircII people + +These settings should give you pretty good defaults (the ones I use): + +If colors don't work, and you know you're not going to use some weird non-VT compatible terminal (you most probably aren't), just say: + + + /SET term_force_colors ON + + +I don't like automatic query windows, I don't like status window, I do like msgs window where all messages go: + + + /SET autocreate_own_query OFF + /SET autocreate_query_level DCCMSGS + /SET use_status_window OFF + /SET use_msgs_window ON + + +Disable automatic window closing when `/PART`ing channel or `/UNQUERY`ing query: + + + /SET autoclose_windows OFF + /SET reuse_unused_windows ON + + +Here's the settings that make irssi work exactly like ircII in window management (send me a note if you can think of more): + + + /SET autocreate_own_query OFF + /SET autocreate_query_level NONE + /SET use_status_window OFF + /SET use_msgs_window OFF + /SET reuse_unused_windows ON + /SET windows_auto_renumber OFF + + /SET autostick_split_windows OFF + /SET autoclose_windows OFF + /SET print_active_channel ON + + +And example how to add servers: + +(OFTC network, identify with nickserv and wait for 2 seconds before joining channels) + + + /NETWORK ADD -autosendcmd "/^msg nickserv ident pass;wait 2000" OFTC + + +(NOTE: use /IRCNET with 0.8.9 and older) + +Then add some servers to different networks (network is already set up for them), irc.kpnqwest.fi is used by default for IRCNet but if it fails, irc.funet.fi is tried next: + + + /SERVER ADD -auto -network IRCnet irc.kpnqwest.fi 6667 + /SERVER ADD -network IRCnet irc.funet.fi 6667 + /SERVER ADD -auto -network efnet efnet.cs.hut.fi 6667 + + +Automatically join to channels after connected to server, send op request to bot after joined to efnet/#irssi: + + + /CHANNEL ADD -auto #irssi IRCnet + /CHANNEL ADD -auto -bots *!*bot@host.org -botcmd "/^msg $0 op pass" #irssi efnet + + +If you want lines containing your nick to hilight: + + + /HILIGHT nick + + +## 2\. Basic user interface usage + +Windows can be scrolled up/down with PgUp and PgDown keys. If they don't work for you, use Meta-p and Meta-n keys. For jumping to beginning or end of the buffer, use `/SB HOME` and `/SB END` commands. + +By default, irssi uses "hidden windows" for everything. Hidden window is created every time you `/JOIN` a channel or `/QUERY` someone. There's several ways you can change between these windows: + + + Meta-1, Meta-2, .. Meta-0 - Jump directly between windows 1-10 + Meta-q .. Meta-o - Jump directly between windows 11-19 + /WINDOW <number> - Jump to any window with specified number + Ctrl-P, Ctrl-N - Jump to previous / next window + + +Clearly the easiest way is to use Meta-number keys. And what is the Meta key? ESC key always works as Meta, but there's also easier ways. ALT could work as Meta, or if you have Windows keyboard, left Windows key might work as Meta. If they don't work directly, you'll need to set a few X resources (NOTE: these work with both xterm and rxvt): + + + XTerm*eightBitInput: false + XTerm*metaSendsEscape: true + + +With rxvt, you can also specify which key acts as Meta key. So if you want to use ALT instead of Windows key for it, use: + + + rxvt*modifier: alt + + +You could do this by changing the X key mappings: + + + xmodmap -e "keysym Alt_L = Meta_L Alt_L" + + +And how exactly do you set these X resources? For Debian, there's `/etc/X11/Xresources/xterm` file where you can put them and it's read automatically when X starts. `~/.Xresources` and `~/.Xdefaults` files might also work. If you can't get anything else to work, just copy and paste those lines to `~/.Xresources` and directly call `xrdb -merge ~/.Xresources` in some xterm. The resources affect only the new xterms you start, not existing ones. + +Many windows SSH clients also don't allow usage of ALT. One excellent client that does allow is putty, you can download it from [ http://www.chiark.greenend.org.uk/~sgtatham/putty/][2]. + +Irssi also supports split windows, they've had some problems in past but I think they should work pretty well now :) Here's some commands related to them: + + + /WINDOW NEW - Create new split window + /WINDOW NEW HIDE - Create new hidden window + /WINDOW CLOSE - Close split or hidden window + + /WINDOW HIDE [<number>|<name>] - Make the split window hidden window + /WINDOW SHOW <number>|<name> - Make the hidden window a split window + + /WINDOW SHRINK [<lines>] - Shrink the split window + /WINDOW GROW [<lines>] - Grow the split window + /WINDOW BALANCE - Balance the sizes of all split windows + + +By default, irssi uses "sticky windowing" for split windows. This means that windows created inside one split window cannot be moved to another split window without some effort. For example you could have following window layout: + + + Split window 1: win#1 - Status window, win#2 - Messages window + Split window 2: win#3 - IRCnet/#channel1, win#4 - IRCnet/#channel2 + Split window 3: win#5 - efnet/#channel1, win#6 - efnet/#channel2 + + +When you are in win#1 and press ALT-6, irssi jumps to split window #3 and moves the efnet/#channel2 the active window. + +With non-sticky windowing the windows don't have any relationship with split windows, pressing ALT-6 in win#1 moves win#6 to split window 1 and sets it active, except if win#6 was already visible in some other split window irssi just changes to that split window. This it the way windows work with ircii, if you prefer it you can set it with + + + /SET autostick_split_windows OFF + + +Each window can have multiple channels, queries and other "window items" inside them. If you don't like windows at all, you disable automatic creating of them with + + + /SET autocreate_windows OFF + + +And if you keep all channels in one window, you most probably want the channel name printed in each line: + + + /SET print_active_channel ON + + +If you want to group only some channels or queries in one window, use + + + /JOIN -window #channel + /QUERY -window nick + + +## 3\. Server and channel automation + +Irssi's multiple IRC network support is IMHO very good - at least compared to other clients :) Even if you're only in one IRC network you should group all your servers to be in the same IRC network as this helps with reconnecting if your primary server breaks and is probably useful in some other ways too :) For information how to actually use irssi correctly with multiple servers see the chapter 6. + +First you need to have your IRC network set, use `/NETWORK` command to see if it's already there. If it isn't, use `/NETWORK ADD yournetwork`. If you want to execute some commands automatically when you're connected to some network, use `-autosendcmd` option. (NOTE: use /IRCNET with 0.8.9 and older.) Here's some examples: + + + /NETWORK ADD -autosendcmd '^msg bot invite' IRCnet + /NETWORK ADD -autosendcmd "/^msg nickserv ident pass;wait 2000" OFTC + + +After that you need to add your servers. For example: + + + /SERVER ADD -auto -network IRCnet irc.kpnqwest.fi 6667 + /SERVER ADD -auto -network worknet irc.mycompany.com 6667 password + + +The `-auto` option specifies that this server is automatically connected at startup. You don't need to make more than one server with `-auto` option to one IRC network, other servers are automatically connected in same network if the `-auto` server fails. + +And finally channels: + + + /CHANNEL ADD -auto -bots *!*bot@host.org -botcmd "/^msg $0 op pass" #irssi efnet + /CHANNEL ADD -auto #secret IRCnet password + + +`-bots` and `-botcmd` should be the only ones needing a bit of explaining. They're used to send commands automatically to bot when channel is joined, usually to get ops automatically. You can specify multiple bot masks with `-bots` option separated with spaces (and remember to quote the string then). The $0 in `-botcmd` specifies the first found bot in the list. If you don't need the bot masks (ie. the bot is always with the same nick, like chanserv) you can give only the `-botcmd` option and the command is always sent. + +## 4\. Setting up windows and automatically restoring them at startup + +First connect to all the servers, join the channels and create the queries you want. If you want to move the windows or channels around use commands: + + + /WINDOW MOVE LEFT/RIGHT/number - move window elsewhere + /WINDOW ITEM MOVE <number>|<name> - move channel/query to another window + + +When everything looks the way you like, use `/LAYOUT SAVE` command (and `/SAVE`, if you don't have autosaving enabled) and when you start irssi next time, irssi remembers the positions of the channels, queries and everything. This "remembering" doesn't mean that simply using `/LAYOUT SAVE` would automatically make irssi reconnect to all servers and join all channels, you'll need the `/SERVER ADD -auto` and `/CHANNEL ADD -auto` commands to do that. + +If you want to change the layout, you just rearrange the layout like you want it and use `/LAYOUT SAVE` again. If you want to remove the layout for some reason, use `/LAYOUT RESET.` + +## 5\. Status and msgs windows & message levels + +By default, all the "extra messages" go to status window. This means pretty much all messages that don't clearly belong to some channel or query. Some people like it, some don't. If you want to remove it, use + + + /SET use_status_window OFF + + +This doesn't have any effect until you restart irssi. If you want to remove it immediately, just `/WINDOW CLOSE` it. + +Another common window is "messages window", where all private messages go. By default it's disabled and query windows are created instead. To make all private messages go to msgs window, say: + + + /SET use_msgs_window ON + /SET autocreate_query_level DCCMSGS (or if you don't want queries to + dcc chats either, say NONE) + + +use_msgs_window either doesn't have any effect until restarting irssi. To create it immediately say: + + + /WINDOW NEW HIDE - create the window + /WINDOW NAME (msgs) - name it to "(msgs)" + /WINDOW LEVEL MSGS - make all private messages go to this window + /WINDOW MOVE 1 - move it to first window + + +Note that neither use_msgs_window nor use_status_window have any effect at all if `/LAYOUT SAVE` has been used. + +This brings us to message levels.. What are they? All messages that irssi prints have one or more "message levels". Most common are PUBLIC for public messages in channels, MSGS for private messages and CRAP for all sorts of messages with no real classification. You can get a whole list of levels with + + + /HELP levels + + +Status window has message level `ALL -MSGS`, meaning that all messages, except private messages, without more specific place go to status window. The `-MSGS` is there so it doesn't conflict with messages window. + +## 6\. How support for multiple servers works in irssi + +ircii and several other clients support multiple servers by placing the connection into some window. IRSSI DOES NOT. There is no required relationship between window and server. You can connect to 10 servers and manage them all in just one window, or join channel in each one of them to one sigle window if you really want to. That being said, here's how you do connect to new server without closing the old connection: + + + /CONNECT irc.server.org + + +Instead of the `/SERVER` which disconnects the existing connection. To see list of all active connections, use `/SERVER` without any parameters. You should see a list of something like: + + + -!- IRCNet: irc.song.fi:6667 (IRCNet) + -!- OFTC: irc.oftc.net:6667 (OFTC) + -!- RECON-1: 192.168.0.1:6667 () (02:59 left before reconnecting) + + +Here you see that we're connected to IRCNet and OFTC networks. The IRCNet at the beginning is called the "server tag" while the (IRCnet) at the end shows the IRC network. Server tag specifies unique tag to refer to the server, usually it's the same as the IRC network. When the IRC network isn't known it's some part of the server name. When there's multiple connections to same IRC network or server, irssi adds a number after the tag so there could be network, network2, network3 etc. + +Server tags beginning with `RECON-` mean server reconnections. Above we see that connection to server at 192.168.0.1 wasn't successful and irssi will try to connect it again in 3 minutes. + +To disconnect one of the servers, or to stop irssi from reconnecting, use + + + /DISCONNECT network - disconnect server with tag "network" + /DISCONNECT recon-1 - stop trying to reconnect to RECON-1 server + /RMRECONNS - stop all server reconnections + + /RECONNECT recon-1 - immediately try reconnecting back to RECON-1 + /RECONNECT ALL - immediately try reconnecting back to all + servers in reconnection queue + + +Now that you're connected to all your servers, you'll have to know how to specify which one of them you want to use. One way is to have an empty window, like status or msgs window. In it, you can specify which server to set active with + + + /WINDOW SERVER tag - set server "tag" active + Ctrl-X - set the next server in list active + + +When the server is active, you can use it normally. When there's multiple connected servers, irssi adds [servertag] prefix to all messages in non-channel/query messages so you'll know where it came from. + +Several commands also accept `-servertag` option to specify which server it should use: + + + /MSG -tag nick message + /JOIN -tag #channel + /QUERY -tag nick + + +`/MSG` tab completion also automatically adds the `-tag` option when nick isn't in active server. + +Window's server can be made sticky. When sticky, it will never automatically change to anything else, and if server gets disconnected, the window won't have any active server. When the server gets connected again, it is automatically set active in the window. To set the window's server sticky use + + + /WINDOW SERVER -sticky tag + + +This is useful if you wish to have multiple status or msgs windows, one for each server. Here's how to do them (repeat for each server) + + + /WINDOW NEW HIDE + /WINDOW NAME (status) + /WINDOW LEVEL ALL -MSGS + /WINDOW SERVER -sticky network + + /WINDOW NEW HIDE + /WINDOW NAME (msgs) + /WINDOW LEVEL MSGS + /WINDOW SERVER -sticky network + + +## 7\. /LASTLOG and jumping around in scrollback + +`/LASTLOG` command can be used for searching texts in scrollback buffer. Simplest usages are + + + /LASTLOG word - print all lines with "word" in them + /LASTLOG word 10 - print last 10 occurances of "word" + /LASTLOG -topics - print all topic changes + + +If there's more than 1000 lines to be printed, irssi thinks that you probably made some mistake and won't print them without `-force` option. If you want to save the full lastlog to file, use + + + /LASTLOG -file ~/irc.log + + +With `-file` option you don't need `-force` even if there's more than 1000 lines. `/LASTLOG` has a lot of other options too, see `/HELP lastlog` for details. + +Once you've found the lines you were interested in, you might want to check the discussion around them. Irssi has `/SCROLLBACK` (or alias `/SB`) command for jumping around in scrollback buffer. Since `/LASTLOG` prints the timestamp when the message was originally printed, you can use `/SB GOTO hh:mm` to jump directly there. To get back to the bottom of scrollback, use `/SB END` command. + +## 8\. Logging + +Irssi can automatically log important messages when you're set away (`/AWAY reason`). When you set yourself unaway (`/AWAY`), the new messages in away log are printed to screen. You can configure it with: + + + /SET awaylog_level MSGS HILIGHT - Specifies what messages to log + /SET awaylog_file ~/.irssi/away.log - Specifies the file to use + + +Easiest way to start logging with Irssi is to use autologging. With it Irssi logs all channels and private messages to specified directory. You can turn it on with + + + /SET autolog ON + + +By default it logs pretty much everything execept CTCPS or CRAP (`/WHOIS` requests, etc). You can specify the logging level yourself with + + + /SET autolog_level ALL -CRAP -CLIENTCRAP -CTCPS (this is the default) + + +By default irssi logs to ~/irclogs/<servertag>/<target>.log. You can change this with + + + /SET autolog_path ~/irclogs/$tag/$0.log (this is the default) + + +The path is automatically created if it doesn't exist. $0 specifies the target (channel/nick). You can make irssi automatically rotate the logs by adding date/time formats to the file name. The formats are in "man strftime" format. For example + + + /SET autolog_path ~/irclogs/%Y/$tag/$0.%m-%d.log + + +For logging only some specific channels or nicks, see `/HELP log` + +## 9\. Changing keyboard bindings + +You can change any keyboard binding that terminal lets irssi know about. It doesn't let irssi know everything, so for example shift-backspace can't be bound unless you modify xterm resources somehow. + +`/HELP bind` tells pretty much everything there is to know about keyboard bindings. However, there's the problem of how to bind some non-standard keys. They might differ a bit with each terminal, so you'll need to find out what exactly the keypress produces. Easiest way to check that would be to see what it prints in `cat`. Here's an example for pressing F1 key: + + + [cras@hurina] ~% cat + ^[OP + + +So in irssi you would use `/BIND ^[OP /ECHO F1 pressed`. If you use multiple terminals which have different bindings for the key, it would be better to use eg.: + + + /BIND ^[OP key F1 + /BIND ^[11~ key F1 + /BIND F1 /ECHO F1 pressed. + + +## 10\. Proxies and IRC bouncers + +Irssi supports connecting to IRC servers via a proxy. All server connections are then made through it, and if you've set up everything properly, you don't need to do any `/QUOTE SERVER` commands manually. + +Here's an example: You have your bouncer (lets say, BNC or BNC-like) listening in irc.bouncer.org port 5000. You want to use it to connect to servers irc.dalnet and irc.efnet.org. First you'd need to setup the bouncer: + + + /SET use_proxy ON + /SET proxy_address irc.bouncer.org + /SET proxy_port 5000 + + /SET proxy_password YOUR_BNC_PASSWORD_HERE + /SET -clear proxy_string + /SET proxy_string_after conn %s %d + + +Then you'll need to add the server connections. These are done exactly as if you'd want to connect directly to them. Nothing special about them: + + + /SERVER ADD -auto -network dalnet irc.dal.net + /SERVER ADD -auto -network efnet irc.efnet.org + + +With the proxy `/SET`s however, irssi now connects to those servers through your BNC. All server connections are made through them so you can just forget that your bouncer even exists. + +If you don't want to use the proxy for some reason, there's `-noproxy` option which you can give to `/SERVER` and `/SERVER ADD` commands. + +**Proxy specific settings:** + +All proxies have these settings in common: + + + /SET use_proxy ON + /SET proxy_address <Proxy host address> + /SET proxy_port <Proxy port> + + +**HTTP proxy** + +Use these settings with HTTP proxies: + + + /SET -clear proxy_password + /EVAL SET proxy_string CONNECT %s:%d HTTP/1.0nn + + +**BNC** + + + /SET proxy_password your_pass + /SET -clear proxy_string + /SET proxy_string_after conn %s %d + + +**dircproxy** + +dircproxy separates the server connections by passwords. So, if you for example have network connection with password ircpass and OFTC connection with oftcpass, you would do something like this: + + + /SET -clear proxy_password + /SET -clear proxy_string + + /SERVER ADD -auto -network IRCnet fake.network 6667 ircpass + /SERVER ADD -auto -network OFTC fake.oftc 6667 oftcpass + + +The server name and port you give isn't used anywhere, so you can put anything you want in there. + +**psyBNC** + +psyBNC has internal support for multiple servers. However, it could be a bit annoying to use, and some people just use different users for connecting to different servers. You can manage this in a bit same way as with dircproxy, by creating fake connections: + + + /SET -clear proxy_password + /SET -clear proxy_string + + /NETWORK ADD -user networkuser IRCnet + /SERVER ADD -auto -network IRCnet fake.network 6667 ircpass + /NETWORK ADD -user oftcuser OFTC + /SERVER ADD -auto -network OFTC fake.oftc 6667 oftcpass + + +So, you'll specify the usernames with `/NETWORK ADD` command, and the user's password with `/SERVER ADD`. + +(NOTE: use /IRCNET with 0.8.9 and older.) + +**Irssi proxy** + +Irssi contains it's own proxy which you can build giving `\--with-proxy` option to configure. You'll still need to run irssi in a screen to use it though. + +Irssi proxy is a bit different than most proxies, normally proxies create a new connection to IRC server when you connect to it, but **irssi proxy shares your existing IRC connection(s) to multiple clients**. And even more clearly: **You can use only one IRC server connection to IRC with as many clients as you want**. Can anyone figure out even more easier ways to say this, so I wouldn't need to try to explain this thing for minutes every time? :) + +Irssi proxy supports sharing multiple server connections in different ports, like you can share network in port 2777 and efnet in port 2778. + +Usage in proxy side: + + + /LOAD proxy + /SET irssiproxy_password <password> + /SET irssiproxy_ports <network>=<port> ... (eg. IRCnet=2777 efnet=2778) + + +**NOTE**: you **MUST** add all the servers you are using to server and network lists with `/SERVER ADD` and `/NETWORK ADD`. ..Except if you really don't want to for some reason, and you only use one server connection, you may simply set: + + + /SET irssiproxy_ports *=2777 + + +Usage in client side: + +Just connect to the irssi proxy like it is a normal server with password specified in `/SET irssiproxy_password`. For example: + + + /SERVER ADD -network IRCnet my.irssi-proxy.org 2777 secret + /SERVER ADD -network efnet my.irssi-proxy.org 2778 secret + + +Irssi proxy works fine with other IRC clients as well. + +**SOCKS** + +Irssi can be compiled with socks support (`\--with-socks` option to configure), but I don't really know how it works, if at all. `/SET proxy` settings don't have anything to do with socks however. + +**Others** + +IRC bouncers usually work like IRC servers, and want a password. You can give it with: + + + /SET proxy_password <password> + + +Irssi's defaults for connect strings are + + + /SET proxy_string CONNECT %s %d + /SET proxy_string_after + + +The proxy_string is sent before NICK/USER commands, the proxy_string_after is sent after them. %s and %d can be used with both of them. + +## 11\. Irssi's settings + +You probably don't like Irssi's default settings. I don't like them. But I'm still convinced that they're pretty good defaults. Here's some of them you might want to change (the default value is shown): Also check the [Settings Documentation](/documentation/settings/) + +**Queries** + +/SET autocreate_own_query ON +: Should new query window be created when you send message to someone (with `/MSG`). + +/SET autocreate_query_level MSGS +: New query window should be created when receiving messages with this level. MSGS, DCCMSGS and NOTICES levels work currently. You can disable this with `/SET -clear autocreate_query_level`. + +/SET autoclose_query 0 +: Query windows can be automatically closed after certain time of inactivity. Queries with unread messages aren't closed and active window is neither never closed. The value is given in seconds. + +**Windows** + +/SET use_msgs_window OFF +: Create messages window at startup. All private messages go to this window. This only makes sense if you've disabled automatic query windows. Message window can also be created manually with /WINDOW LEVEL MSGS, /WINDOW NAME (msgs). + +/SET use_status_window ON +: Create status window at startup. All messages that don't really have better place go here, like all /WHOIS replies etc. Status window can also be created manually with `/WINDOW LEVEL ALL -MSGS`, `/WINDOW NAME (status)`. + +/SET autocreate_windows ON +: Should we create new windows for new window items or just place everything in one window + +/SET autoclose_windows ON +: Should window be automatically closed when the last item in them is removed (ie. `/PART`, `/UNQUERY`). + +/SET reuse_unused_windows OFF +: When finding where to place new window item (channel, query) Irssi first tries to use already existing empty windows. If this is set ON, new window will always be created for all window items. This setting is ignored if autoclose_windows is set ON. + +/SET window_auto_change OFF +: Should Irssi automatically change to automatically created windows - usually queries when someone sends you a message. To prevent accidentally sending text meant to some other channel/nick, Irssi clears the input buffer when changing the window. The text is still in scrollback buffer, you can get it back with pressing arrow up key. + +/SET print_active_channel OFF +: When you keep more than one channel in same window, Irssi prints the messages coming to active channel as `<nick> text` and other channels as `<nick:channel> text`. If this setting is set ON, the messages to active channels are also printed in the latter way. + +/SET window_history OFF +: Should command history be kept separate for each window. + +**User information** + +/SET nick +: Your nick name + +/SET alternate_nick +: Your alternate nick. + +/SET user_name +: Your username, if you have ident enabled this doesn't affect anything + +/SET real_name +: Your real name. + +**Server information** + +/SET skip_motd OFF +: Should we hide server's MOTD (Message Of The Day). + +/SET server_reconnect_time 300 +: Seconds to wait before connecting to same server again. Don't set this too low since it usually doesn't help at all - if the host is down, the few extra minutes of waiting won't hurt much. + +/SET lag_max_before_disconnect 300 +: Maximum server lag in seconds before disconnecting and trying to reconnect. This happens mostly only when network breaks between you and IRC server. + +**Appearance** + +/SET timestamps ON +: Show timestamps before each message. + +/SET hide_text_style OFF +: Hide all bolds, underlines, MIRC colors, etc. + +/SET show_nickmode ON +: Show the nick's mode before nick in channels, ie. ops have `<@nick>`, voices `<+nick>` and others `< nick>` + +/SET show_nickmode_empty ON +: If the nick doesn't have a mode, use one space. ie. ON: `< nick>`, OFF: `<nick>` + +/SET show_quit_once OFF +: Show quit message only once in some of the channel windows the nick was in instead of in all windows. + +/SET lag_min_show 100 +: Show the server lag in status bar if it's bigger than this, the unit is 1/100 of seconds (ie. the default value of 100 = 1 second). + +/SET indent 10 +: When lines are longer than screen width they have to be split to multiple lines. This specifies how much space to put at the beginning of the line before the text begins. This can be overridden in text formats with `%|` format. + +/SET activity_hide_targets +: If you don't want to see window activity in some certain channels or queries, list them here. For example `#boringchannel =bot1 =bot2`. If any highlighted text or message for you appears in that window, this setting is ignored and the activity is shown. + +**Nick completion** + +/SET completion_auto OFF +: Automatically complete the nick if line begins with start of nick and the completion character. Learn to use the tab-completion instead, it's a lot better ;) + +/SET completion_char : +: Completion character to use. + +## 12\. Statusbar + +`/STATUSBAR` displays a list of statusbars: + + + Name Type Placement Position Visible + window window bottom 0 always + window_inact window bottom 1 inactive + prompt root bottom 100 always + topic root top 1 always + + +`/STATUSBAR <name>` prints the statusbar settings and it's items. `/STATUSBAR <name> ENABLE|DISABLE` enables/disables the statusbar. `/STATUSBAR <name> RESET` resets the statusbar to it's default settings, or if the statusbar was created by you, it will be removed. + +Type can be window or root, meaning if the statusbar should be created for each split window, or just once. Placement can be top or bottom. Position is a number, the higher the value the lower in screen it is. Visible can be always, active or inactive. Active/inactive is useful only with split windows, one split window is active and the rest are inactive. These settings can be changed with: + + + /STATUSBAR <name> TYPE window|root + /STATUSBAR <name> PLACEMENT top|bottom + /STATUSBAR <name> POSITION <num> + /STATUSBAR <name> VISIBLE always|active|inactive + + +When loading a new statusbar scripts, you'll need to also specify where you want to show it. Statusbar items can be modified with: + + + /STATUSBAR <name> ADD [-before | -after <item>] [-priority #] [-alignment left|right] <item> + /STATUSBAR <name> REMOVE <item> + + +The item name with statusbar scripts is usually same as the script's name. Script's documentation should tell if this isn't the case. So, to add mail.pl before the window activity item (see the list with `/STATUSBAR` window), use: `/STATUSBAR window ADD -before act mail`. + +[1]: http://www.gnu.org/licenses/fdl.html +[2]: http://www.chiark.greenend.org.uk/~sgtatham/putty/ diff --git a/documentation/tips/index.markdown b/documentation/tips/index.markdown new file mode 100644 index 0000000..5b3cb50 --- /dev/null +++ b/documentation/tips/index.markdown @@ -0,0 +1,198 @@ +--- +layout: page +title: Tips and Tricks +--- + +### zsh completion for irssi options. +you can download/see it [here][1] +the extensions in included in default zsh distribution since 2002-03-07 (should be version 4.0.1) + +### hide aliases +sometimes i found it quite useful to have a much more quiet irssi :) + + /alias hideadd eval set activity_hide_targets $activity_hide_targets $- + /alias hideclear set -c activity_hide_targets + /alias hidelevels.clear set -c activity_hide_level + /alias hidelevels.set set activity_hide_level parts joins quits nicks modes + /alias hidelist set activity_hide_targets + /alias hideset set activity_hide_targets $- + +i have replaced the aliases with a simple script. see [hide.pl][2] ([source][3]) + +### mIRC-like flashing with putty +to get notified off activities, while im working, i use the following setup: + +#### irssi + + /set beep_when_window_active ON + /set beep_when_away ON + /set beep_msg_level MSGS NOTICES DCC DCCMSGS HILIGHT + /set bell_beeps ON + + +#### screen +Audible bell (switch Ctrl+a Ctrl+g) + +#### putty +- no bell and steady on bell + +### right aligned nicks + + /format own_msg {ownmsgnick $2 {ownnick $[-9]0}}$1 + /format own_msg_channel {ownmsgnick $3 {ownnick $[-9]0}{msgchannel $1}}$2 + /format pubmsg_me {pubmsgmenick $2 {menick $[-9]0}}$1 + /format pubmsg_me_channel {pubmsgmenick $3 {menick $[-9]0}{msgchannel $1}}$2 + /format pubmsg_hilight {pubmsghinick $0 $3 $[-9]1}$2 + /format pubmsg_hilight_channel {pubmsghinick $0 $4 $[-9]1{msgchannel $2}}$3 + /format pubmsg {pubmsgnick $2 {pubnick $[-9]0}}$1 + /format pubmsg_channel {pubmsgnick $3 {pubnick $[-9]0}{msgchannel $1}}$2 + +### uptime alias + +put it in your .irssi/config in the alias section as one line: + +``UPTIME = "eval exec - expr `date +%s` - \$F | awk '{print "Irssi uptime: "int(\\$1/3600/24)"d "int(\\$1/3600%24)"h "int(\\$1/60%60)"m "int(\\$1%60)"s" }'";`` + +### ssh/telnet alias + + /alias TELNET window new hidden;window name telnet;exec -name telnet -nosh -interactive -window telnet $- + /alias SSH window new hidden;window name ssh;exec -name ssh -nosh -interactive -window ssh $- + +happy mudding, telnetting :) + +### icq client in irssi?:) +`/alias MICQ window new hidden;window name micq;exec -name micq -nosh -interactive -window micq $-` +but you could also try [BitlBee][5] + +### news reader in irssi?:) +no problem: +`/alias NNTP window new hide;window name news;exec printf 'article <$0> quit '|nc news.helsinki.fi nntp|tr -d ' '` +hmm now there is a script for this purpose too. checkout [news.pl][6] ([source][7]) + +### autocorrect feature in irssi? + + /completion -auto .) :) + /completion -auto anywya anyway + /completion sio http://scripts.irssi.org/ + +Write `sio` press `<tab>` key and it will be replaced with `http://irssi.org/scripts/`. + +### Where are my completions/replaces gone? +With latest irssi cvs the format changed a bit. cras merged replaces and completions + + completions = { + wid = { value = ""; }; + sid = { value = "http://scripts.irssi.de/"; }; + ios = { value = "http://irssi.org/scripts/"; }; + ":9" = { value = ":)"; auto = "yes"; }; + }; + +And there is now a command to maintain the completions: + + /completion [-auto] <key> <value> + /completion -delete <key> + +To get the replaces like behavior add the completion with `-auto` to the commandline. + +### `/ame` & `/asay` + + /alias AME foreach channel /me $-; foreach query /me $T $- + /alias ASAY foreach channel /eval msg $$C $$-; foreach query /eval msg $$T $$- + +for latest CVS you could use (cvs from 2002-10-14.18:24 or later) + + /alias AME foreach channel ${k}me $-; foreach query ${k}me $- + /alias ASAY foreach channel ${k}msg * $-; foreach query ${k}msg * $- + +the alias is command char independed now. + +### Automatically updating the changed date in vim. + + <Geert> For editing Irssi scripts with vim auto-change timestamp on closing + <Geert> autocmd BufWrite *.pl %s/changed => '.*/="changed => '" . strftime("%c") . "',"/e + <Geert> on the .vimrc + +### How to dump irssi perl variables for debugging? +`/alias dump script exec use Data::Dumper \; print Data::Dumper->new([\$0-])->Dump` + +### how to send messages without showing up in scrollback/log? +I use `/alias QMSG quote privmsg $0 :$1-` for this purpose. it has the advantage over `/^msg` that it works with command char `^`. +if you want to auth against some service like Q/Chanserv you now can use: +`/network add -autosendcmd "qmsg Q@CServe.quakenet.org AUTH nick pass" Quakenet` + +### How to protect irssi from being closed accidently? +`/alias quit echo dont do this at home` +if you like to close irssi for some reason use `//quit`. + +### my anti annoyance filters ;) + + /ignore -channels #chan1,#chan2,#chan3 * JOINS PARTS QUITS NICKS + /ignore -channels #chan1,#chan2,#chan3 -regexp -pattern (away|gone|back|playin|weg|wech|returned) * ACTIONS + +Disclaimer: of course you will miss some stuff with this ignores. but for me it makes it more readable. + +Another way to get rid of some message levels is `/scrollback levelclear` +I use: `/sb levelclear -levels JOINS,PARTS,QUITS,NICKS,CLIENTCRAP,CRAP,MODE,TOPICS,KICKS`. + +### How to update all irssi scripts at once? +Use `git pull` + +### How to use different formats for the statusbar clock and the timestamp in scrollback? +#### to set the scrollback format use: + + /format timestamp {timestamp %%H:%%M:%%S } + +(default: `/format timestamp {timestamp $Z}`) + +#### to set the statusbar clock format use: + + /set timestamp_format %H:%M:00 + +### How to toggle between 2 windows? + + /bind meta-x command window last + +now pressing meta/alt+x toggles between 2 windows. + +### The fastest way to close a query is...? +just type `/q` (without any parameters) in the query window. + +### How to show the prompt in the active split window? +first make it only visible in the active window with + + /statusbar prompt visible active + +Then make it a window-statusbar + + /statusbar prompt type window + +### How can i change the timezone of the clock in irssi? + + /script exec $ENV{'TZ'}='<nameofyourtimezone>' + +e.g. `/script exec $ENV{'TZ'}='UTC'` to run the clock in irssi on UTC while your system is maybe using CET. + +### How can i add all my open channels to the irssi channel list? + + /alias ADDALLCHANNELS script exec foreach my $$channel (Irssi::channels()) { Irssi::command("channel add -auto $$channel->{name} $$channel->{server}->{tag} $$channel->{key}") } + +this adds all your channels with auto join enabled. if you just wanna add them remove the `-auto`. + +thanks to Valentin Batz (senneth) for the alias. + +### how can i disable snotes in the statuswindow again? + + /window level ALL -snotes + /window new hidden + /window level +snotes + +### How can i force irssi to redraw the whole screen? +you can use `/redraw`. on most terminals pressing `ctrl+l` (in screen `ctrl+a l`) should do the same. +of course you can bind it in irssi aswell: `/bind ^L redraw`. + +[1]: http://sourceforge.net/p/zsh/code/ci/master/tree/Completion/Unix/Command/_irssi?format=raw +[2]: http://scripts.irssi.org/scripts/hide.pl +[3]: //github.com/irssi/scripts.irssi.org/blob/gh-pages/scripts/hide.pl +[5]: https://www.bitlbee.org/ +[6]: http://scripts.irssi.org/scripts/news.pl +[7]: //github.com/irssi/scripts/blob/gh-pages/scripts/news.pl diff --git a/download/index.textile b/download/index.textile new file mode 100644 index 0000000..19ec75a --- /dev/null +++ b/download/index.textile @@ -0,0 +1,137 @@ +--- +layout: page +title: Getting Irssi +permalink: /download/ +categories: [ _nav, _6 ] +--- +There are several ways you can get Irssi: + +# "Ready-Made Packages":#packages +# "Compiling from Sources":#sources + +* "Miscellaneous Links":#misc + +h2(#packages). Distributions' Packages + +<div class="row"> +<div class="col-md-4"> + +div{margin-bottom:1ex}. !{padding-right:1ex}/assets/Windows.png!*Windows* + +p. Dowload setup.exe from "(rel-external)Cygwin":https://www.cygwin.com/ and select irssi during the package selection step. To start irssi, open MinTTY (link should be on your Desktop) and type @irssi@ + +</div> +<div class="col-md-4"> + +div{margin-bottom:1ex}. !/assets/debian.png!!{padding-right:1ex}/assets/ubuntu.png!*Debian/Ubuntu* + +@apt-get install irssi@. +You may find more up to date version on "(rel-external)Debian Backports":http://backports.debian.org/ + +</div> +<div class="col-md-4"> + +div{margin-bottom:1ex}. !{padding-right:1ex}/assets/gentoo.png!*Gentoo* + +@emerge irssi@ + +</div> +</div> +<div class="row"> +<div class="col-md-4"> + +div{margin-bottom:1ex}. !{padding-right:1ex}/assets/slackware.png!*Slackware* + +@slackpkg install irssi@ + +</div> +<div class="col-md-4"> + +div{margin-bottom:1ex}. !{padding-right:1ex}/assets/openSUSE.png!*SuSE* + +@zypper in irssi@. +You may find more up to date versions on "(rel-external)openSUSE Package Search":http://software.opensuse.org/package/irssi + +</div> +<div class="col-md-4"> + +div{margin-bottom:1ex}. !{padding-right:1ex}/assets/arch.png!*ArchLinux* + +@pacman -S irssi@ + +</div> +</div> +<div class="row"> +<div class="col-md-4"> + +div{margin-bottom:1ex}. !{padding-right:1ex}/assets/fedora.png!*Fedora/Red Hat* + +@dnf install irssi@ or +@yum install irssi@ + +</div> +<div class="col-md-4"> + +div{margin-bottom:1ex}. !{padding-right:1ex}/assets/opencsw.png!*Solaris* + +@pkg-get install irssi@ + +</div> +<div class="col-md-4"> + +div{margin-bottom:1ex}. !{padding-right:1ex}/assets/macosx.png!*Apple MacOS* + +Install "(rel-external)Homebrew":http://brew.sh/, then +@brew install irssi@. +You can also install Git with: +@brew install --HEAD irssi@ + +</div> +</div> + +h2(#sources). Sources + +h3. Sources for the latest release + +Latest release version: *0.8.17* - "(rel-external)Downloads"://github.com/irssi-import/irssi/releases + +They sources are pretty easy to compile once you have all the prerequisites: + +bc. ./configure && make && sudo make install + +but read the included @INSTALL@ file if you get into trouble. + +To verify the signatures: + +bc. gpg --keyserver wwwkeys.pgp.net --recv-keys DDBEF0E1 + +You shouldn't really trust this key without verifying its fingerprint. See it with [@gpg --fingerprint staff@irssi.org@] and ask someone if it matches (eg. on @#irssi@). + +bc. gpg --verify irssi-0.8.17.tar.gz.asc + +(This key is different from the one used to sign binaries of versions before 0.8.10. More gpg help can be found from GPG manual) + + +"(rel-external)GLIB":https://developer.gnome.org/glib/ (at least version 2.0) is required to compile Irssi + +h3. Development sources + +"Git":1 - You can also get the development version. To check it out, run + +bc. git clone https://github.com/irssi/irssi + +After check-out, you *must* run @./autogen.sh@. It may be necessary to install additional packages. More information can be found on "(rel-external)the wiki.":https://github.com/shabble/irssi-docs/wiki/Irssi-0.8.17#compiling-from-git + +*Note*, the @INSTALL@ document is **not** valid for Git clones, only for release tarballs (even though it is also included in the Git checkout) + + +h2(#misc). Misc + +* "(rel-external)Commit Log"://github.com/irssi/irssi/commits/master +* "(rel-external)Release ChangeLog"://github.com/irssi-import/irssi/releases +* "(rel-external)Czech translation patch":http://nomi.cz/download/releases/irssi-cz/ +* "(rel-external)IrssiX":http://adlr.info/?Irssix for Mac OS X / Cocoa +* "(rel-external)MacIrssi"://github.com/MacIrssi/MacIrssi is another interface for the Mac users you may want to take a look at. + + +[1]https://github.com/irssi/irssi diff --git a/google8929580b6f13e993.html b/google8929580b6f13e993.html new file mode 100644 index 0000000..b5500ad --- /dev/null +++ b/google8929580b6f13e993.html @@ -0,0 +1 @@ +google-site-verification: google8929580b6f13e993.html
\ No newline at end of file diff --git a/gsearch/index.html b/gsearch/index.html new file mode 100644 index 0000000..c20c999 --- /dev/null +++ b/gsearch/index.html @@ -0,0 +1,18 @@ +--- +layout: page +title: Search results +permalink: /gsearch/ +--- +<div class="row"><script> + (function() { + var cx = '013138746835038969445:mlfkigveyj4'; + var gcse = document.createElement('script'); + gcse.type = 'text/javascript'; + gcse.async = true; + gcse.src = (document.location.protocol == 'https:' ? 'https:' : 'http:') + + '//cse.google.com/cse.js?cx=' + cx; + var s = document.getElementsByTagName('script')[0]; + s.parentNode.insertBefore(gcse, s); + })(); +</script> +<gcse:searchresults-only linkTarget="_self"></gcse:searchresults-only></div> diff --git a/images/gnome.png b/images/gnome.png Binary files differnew file mode 100644 index 0000000..0669e5a --- /dev/null +++ b/images/gnome.png diff --git a/modules/index.markdown b/modules/index.markdown new file mode 100644 index 0000000..4ec50bc --- /dev/null +++ b/modules/index.markdown @@ -0,0 +1,31 @@ +--- +layout: page +title: Modules +permalink: modules/ +categories: [ _nav ] +--- +These third-party modules come **without any support or warranty** from the Irssi developers. Please use at your own risk and contact the responsible module owners for help and support. + +##Protocol Modules +* IRC (built-in) +* [ICB](https://github.com/jperkin/irssi-icb) +* [SILC](http://www.silcnet.org/) +* [XMPP](https://github.com/cdidier/irssi-xmpp/network) (Jabber), see [cybione.org](http://cybione.org/~irssi-xmpp/) +* [PSYC](https://github.com/electric-blue/irssyc), see [psyc.eu](http://psyc.eu/) +* [Quassel](https://github.com/phhusson/quassel-irssi), see [quassel-irc.org](http://quassel-irc.org/) +* [RobustIRC](https://github.com/robustirc/irssi-robustirc), see [robustirc.net](http://robustirc.net/) + +## Functionality Enhancement +* [OTR](https://github.com/cryptodotis/irssi-otr) message encryption +* [FiSH](https://github.com/falsovsky/FiSH-irssi) encryption +* some small modules on [elho.net](http://www.elho.net/irc/irssi/) + +## Scripting Languages +* [Python](https://github.com/irssi-import/irssi-python), also see [irssi_rstatus](https://github.com/danielrichman/irssi_rstatus#building-and-installing-irssi-python) +* [TCL](https://github.com/horgh/irssi-tcl) +* [JavaScript](http://anti.teamidiot.de/static/nei/*/Code/Irssi/irssi-gjs.tar) (unfinished but working) +* [Lua](https://github.com/ahf/irssi-lua) (useless infancy) + +## Front-end Modules +* GTK Front-end: [xirssi](https://github.com/irssi-import/xirssi) (unmaintained) +* [proxy](/documentation/proxy): built-in IRC BNC @@ -1,2 +1,2 @@ User-agent: * -Disallow: / +Disallow: diff --git a/support/index.markdown b/support/index.markdown new file mode 100644 index 0000000..54d9c09 --- /dev/null +++ b/support/index.markdown @@ -0,0 +1,35 @@ +--- +layout: page +title: Support +permalink: support/ +categories: [ _nav ] +--- +- [FAQ](/documentation/faq) +- [Startup How-To](/documentation/startup) +- [Mailing lists](mailinglists) +- [`#irssi` IRC](irc) + +If your irssi crashes, it's always a bug. Please read [bugreporting howto](/documentation/crash) +and send one. For other type of bugs, it would still be nice to hear of them, +but chances are that it's already known. Send all bugreports to irssi's [bug +reporting system](//github.com/irssi/irssi/issues), but check if it has already +been reported first. + +Compiling problems +------------------ + +Read the INSTALL file that comes with irssi, it explains the most common +problems. + +Still problems? +--------------- + +Read the [FAQ](/documentation/faq) +before asking anything. +The [Startup How-To](/documentation/startup) is quite useful as well. +And if you just want to know about some setting, you could very well guess +it yourself too, like if you want to change something related to windows, +try `/SET window`. + +If you still haven't found what you're looking for, and googling didn't help either, +try asking on IRC in `#irssi`. diff --git a/support/irc/index.markdown b/support/irc/index.markdown new file mode 100644 index 0000000..924781d --- /dev/null +++ b/support/irc/index.markdown @@ -0,0 +1,35 @@ +--- +layout: page +title: IRC +permalink: support/irc/ +--- + +Official international channel +------------------------------- + +- \#irssi at [Freenode](http://freenode.net/)- English only + +Other channels +-------------- + +Many other networks like IRCnet, EFNet or QuakeNet also have `#irssi` channels. + +There may be some international channels on IRCnet, like + +- \#irssi.fi - Finnish +- \#irssi.de - German +- \#irssi.pl - Polish + +If you have something to ask, **please JUST ASK instead of asking if you +can ask or if someone can help or if anyone is there**. + +Servers +------- + +To connect with Freenode, `/connect Freenode` or `/connect chat.freenode.net` + +Most IRCnet servers aren't open for everyone, so if you're having trouble +finding one, use open.ircnet.net which resolves to a number of open IRCnet +servers that you should be able to use. + +For EFNet, use `irc.efnet.org`, or check their website for more servers. diff --git a/support/mailinglists/index.markdown b/support/mailinglists/index.markdown new file mode 100644 index 0000000..026f2cb --- /dev/null +++ b/support/mailinglists/index.markdown @@ -0,0 +1,27 @@ +--- +layout: page +title: Mailing lists +permalink: support/mailinglists/ +--- + +irssi-users +----------- + +- [Subscribe](mailto:irssi-users-request@dragoncat.net?subject=subscribe) + sending mail to **irssi-users-request@dragoncat.net** with subject + **subscribe**. +- [Unsubscribe](mailto:irssi-users-request@dragoncat.net?subject=unsubscribe) + with subject **unsubscribe** (same email as above). +- [Send mails](irssi-users@dragoncat.net) to **irssi-users@dragoncat.net**. +- [Read](http://marc.info/?l=irssi-users) the irssi-users archives. + +irssi-dev +--------- + +- [Subscribe](irssi-dev-request@dragoncat.net?subject=subscribe) + sending mail to **irssi-dev-request@dragoncat.net** with subject + **subscribe**. +- [Unsubscribe](irssi-dev-request@dragoncat.net?subject=unsubscribe) + with subject **unsubscribe** (same email as above). +- [Send](irssi-dev@dragoncat.net) mails to **irssi-dev@dragoncat.net**. +- [Read](http://marc.info/?l=irssi-dev) the irssi-dev archives. diff --git a/test2.textile b/test2.textile new file mode 100644 index 0000000..0d6905d --- /dev/null +++ b/test2.textile @@ -0,0 +1,3 @@ +--- +layout: default +--- |