Target of flame: Gaim 2.0 http://gaim.sourceforge.net/

A quick look at the the facts: Gaim doesn’t allow you to send your messages with <Ctrl>+<Enter> anymore. The reason?

to reduce the clutter in the User Interface

Hatred! Oh how this crap annoys me. In Firefox, Gnome, everywhere on Linux it seems the user needs to be freed from this “superfluous choice” and the interface needs to be “free of clutter”.

Has anyone of you ever looked at the Firefox Preferences dialogue? The Gaim one? (It’s better than the Firefox one by the way.)

Instead, the Gnome crowd goes on to replace crucial usuability settings with cryptic configuration-file only settings that are impossible to use for the novice user. I seem to remember having even read a post by Linus Torvalds rejecting Gnome for this oversimplification crazyness which is cutting away features from the user.

Compare also my post about navigating between words in the Firefox address bar which is only reachable via a hidden setting in about:config.

Here’s how to fix this deficiency, the ugly way (hacking dirty config files):

There is a plugin available for Gaim called “Gaim GTK+ Theme Control” - find it in Tools/Plugins (or <Ctrl>+<U> by default).

Enable it, go to Configure Plugin and choose “Write settings to ~/.gaim/gtkrc-2.0”.

Then open ~/.gaim/gtkrc-2.0 with your favourite editor and fill it with the following content:

This piece of code switches the behaviour of <Ctrl>+<Enter> and <Enter> back:

binding "gaim-bindings" {
    bind "Return" { "insert-at-cursor" ("\n") }
    bind "<ctrl>Return" { "message_send" () }
}widget "*gaim_gtkconv_entry" binding "gaim-bindings"

This code reduces the space that is wasted on the buddy list through indentation and was shamelessly ripped from their “simple” “sample” gtkrc-2.0 file http://gaim.sourceforge.net/gtkrc-2.0:

style "gaim-narrow-tree" {
    GtkTreeView::expander_size = 0
}widget "*gaim_gtkblist_treeview" style "gaim-narrow-tree"
style "gaim-statusbox-style" {
    GtkComboBox::appears-as-list = 1
    xthickness = 0
# This defines the height of your buddy icon; experiment!
    ythickness = 9
#   xthickness = 2
#   ythickness = 2
    GtkWidget::focus-line-width = 0
    GtkWidget::focus-padding = 0
}widget "*gaim_gtkblist_statusbox*" style "gaim-statusbox-style"

The following code sets the font face & size for the message send & receive area; unfortunately it isn’t possible to set only the size, but the defaults are way too tiny:

style "imhtml-fix" {
    font_name = "Vera 8"
}widget "*gaim_gtkconv_entry" style "imhtml-fix"
widget "*gaim_gtkconv_imhtml" style "imhtml-fix"
widget "*gaim_gtklog_imhtml" style "imhtml-fix"
widget "*gaim_gtkrequest_imhtml" style "imhtml-fix"
widget "*gaim_gtknotify_imhtml" style "imhtml-fix"