Making Enter type newline and Ctrl+Enter send in Pidgin

Making Enter type newline and Ctrl+Enter send in Pidgin

pidgin1By default, Pidgin uses Shift+Enter to jump to the new line (unlike the Ctrl+Enter in Yahoo Messenger), and this may be cumbersome when you’re used to YM or when you’re a fast typer.

Now, to change the actual behaviour of the Enter and Ctrl+Enter keystrokes, we’ll need to paste the following piece of text in the ensuing (pdigin specific) gtkrc-2.0 file:


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


What’s the gtkrc-2.0?

The windowing toolkit that Pidgin uses, GTK+, is configurable via a text file.

  • There is a global file:
    • On Windows, it is found in the etc\gtk-2.0 directory your GTK+ Runtime install directory (<Pidgin Installation Directory>\Gtk, by default).
    • On Linux and other *nixes, it is found in /etc/gtk/.
  • There is also a per-user file (named .gtkrc-2.0) in your user’s home directory, the location of this varies according to the OS you’re using and the configuration.
    • For Windows 2000/XP/Vista/7, entering %USERPROFILE% in your Windows Explorer address bar will take you to the right directory (probably something like C:\Documents and Settings\username).
    • For Windows 98/ME it will be something like C:\Windows\Profiles\username.
    • For Unix-like platforms, it is /home/username.
    • If you have the HOME environment variable set, it will override the default per-user file location on all platforms.

Note that Windows Explorer will not allow you create a file that starts with a period; you’ll need to use a text editor or rename the file in a cmd shell.

  • There is also a pidgin-specific file that is located in the configuration directory.
    • %APPDATA%\.purple\gtkrc-2.0 on Windows
    • ~/.purple/gtkrc-2.0 on Unix-like platforms

It is recommended that you edit your per-user file or the pidgin-specific file instead of the global file as the global file will be replaced when GTK+ is upgraded.

Source: – (1), (2).

Leave a Reply