IM tips

From awesome
Jump to: navigation, search

This page shows some examples on how to configure awesome for use with certain IM clients.

Contents

CenterIM

CenterIM is a terminal based IM program supporting a bunch of protocols.

Finch

A terminal based IM program alternative to Pidgin. It uses existing Pidgin configuration files and the libpurple library. This comes in especially handy if you're migrating from a different window manager environment and have Pidgin already configured.

Great guide to get you started.

Pidgin

By default Pidgin doesn't set urgent hints on its windows when new message arrives. But it could be enabled via standard plug-in: go to Tools -> Plugins (or press Ctrl-U) -> Message Notification -> and check Set window manager "URGENT" hint combobox.


Gajim

Recent versions of Gajim have a very useful feature for use with tiling window managers; it can keep the roster and chats in a single window (much like Tkabber does). To enable this feature go to: Preferences -> General -> Window behaviour and select: Single window for everything.

If for some reason you want to separate the roster from your chat windows here are some tips to get you started. First one being to dedicate a whole tag to Gajim - even though it supports tabbed windows when you open service discovery, have some file transfers, check user info etc. it can clutter your screen fast.

Tag settings

Once you dedicate a tag to Gajim you can setup a custom mwfact (master width factor) for it in the tag creation loop, to reserve a narrow space for your roster. I (User:anrxc) have a resolution of 1280x800 and find 0.13 to be a good value for the tile layout (where 'N' is the tag number):

 awful.tag.setproperty(tags[s][N], "mwfact", 0.13)

Rules

The above tag property works best if you use setslave, so that the chat and other windows don't hijack this narrow space you reserved for your roster. If you decided to dedicate a tag to Gajim you also need a rule that will automatically move all your Gajim windows to that tag. We can solve both of these usability problems in the awful.rules.rules table (where 'S' is the screen number and 'N' the tag number):

 { rule       = { class = "Gajim.py" },
   properties = { tag   = tags[S][N] },
   callback   = awful.client.setslave },


Psi and qutIM

Tag settings

I (User:DsTr) use these tag settings (where 'N' is the tag number):

 awful.tag.setncol(2, tags[s][N])
 awful.tag.setnmaster (1, tags[s][N])
 awful.tag.setmwfact (0.2, tags[s][N])

Rules:

 { rule = { class = "psi" },
     properties = { tag = tags[s][N] } },
 { rule = { class = "Qutim" },
     properties = { tag = tags[s][N] } },

Manage signal/hook

 if c.class == "psi" and not c.name:find("Psi") then
   awful.client.setslave(c)
 end
 
 if c.class == "Qutim" and not c.role:find("contactlist") then
   awful.client.setslave(c)
 end

On lastest versions of awesome3 can use "new" signal

Personal tools