Code Monkey home page Code Monkey logo

quassel-irssi's Introduction

quassel-irssi

An irssi plugin to connect to quassel core

You can discuss about it on #quassel-irssi on Freenode.

Huge thanks to QuasselDroid. QuasselDroid protocol code is way easier to read than Quassel's.

How to build

First install irssi-dev (on debian-based distributions) or irssi-devel (on rpm distributions), everything needed to compile C code, based on glib2 and git. You might also need SSL libs (libssl-dev on debian) Then:

git clone --recursive https://github.com/phhusson/quassel-irssi.git
cd quassel-irssi/core
make user_install

How to use

Edit ~/.irssi/config and add a quassel chatnet with Quassel type, and your quassel server accordingly:

chatnets = {
  quassel_phh = {
    type = "Quassel";
  };
};

servers = (
  { address = "quassel.phh.me"; port = "4242"; chatnet = "quassel_phh"; password="password"; use_ssl="yes"; }
);

You may disable ssl if you really need to.

You also need to have your login equal to your nick:

settings = {
  core = { nick = "phh"; };
}

(I'm guessing it's not needed, you can specifiy it on /connect command)

Then, launch irssi, and do:

/load quassel
/connect quassel_phh

(where quassel_phh is the chatnet name)

To automtically connect to it, you can add:

load quassel
connect quassel_phh

in your ~/.irssi/startup

If someone knows how to do all this 100% from irssi text frontend, i'd appreciate it :-)

Associated scripts

  • trackbar.pl: quassel-irssi implements trackar.pl behaviours, but linked with the core: the trackbar is synchronized among quassel clients.

  • adv_windowlist.pl hidden buffers have -1 activity level. adv_windowlist.pl compares activity level to awl_hide_data, which by default is set to 0. Meaning, adv_windowlist.pl, in its default setting, will only show unhidden buffers.

Available settings

In appropriate chatnet section (in this example, quassel_phh section), you can add some settings:

  • legacy is a boolean to define wether to use the legacy (< 0.10) protocol, or the newer one, which includes compression.
  • load_backlog is an integer between 0, 1, 2 to load backlog on connect. 0 means no loading, 1 means loading backlog on unhidden buffers, 2 means loading backlog on all buffers
  • backlog_additional is a positive integer to specify how much backlog you want to get. By default, quassel-irssi gets max 150 unread messages per buffer. Setting backlog_additional to X requests X additional messages to the unread messages.

Phh's config

I'm using the following scripts:

  • adv_windowlist.pl List "open" buffers

  • go.pl I have many opened buffers, so i do /go chan when i don't have a shortcut to a buffer. Because the channel names in irssi start with X-# where X is the number of network, i deleted the ^ line 104, to be able to just do /go quassel-irssi

  • nickcolor.pl

  • usercount.pl

If you're using screen, you may want to add nicklist.pl.

Dependencies

You'll need basic build systems, openssl, irssi, and glib libraries and includes to build this.

For instance on a debian/ubuntu:

apt-get install build-essential libglib2.0-dev irssi-dev libssl-dev

Additional notes

If you don't want to have your password in your config file, you can drop the password="" option and call: /server quassel-core.example.net 0 [yourpassword]

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.