Profanity Illustration

User Guide

Quick Start Guide


Starting Profanity

To start Profanity, run the following at the command line:

$ profanity

To see options available to the command:

$ profanity -h

User Interface

The user interface is split into four main areas:

Title bar

Shows the title for the current window (usually the contact you are chatting with, or the chat room you have joined), and your current presence.

Main window area

Used to show the current active window. The first window (1) is reserved for the 'console' where system messages and command responses are shown.

Status bar

Shows the time, the user you are logged in as, and status of each window. If a window is used, its number will appear, if it has new messages of any kind, the number will be highlighted. The current window is shown as -1-.

Input area

Where commands and messages are entered. Commands and command arguments can be autocompleted with the tab key.

All commands start with a / character e.g.:


Window navigation

To make a window visible in the main window area, use any of the following:

Alt-1 to Alt-0
F1 to F10
Alt-left, Alt-right

The /win command may also be used. Either the window number may be passed, or the window title:

/win 4
/win MyBuddy

To close the current window:



To connect to an XMPP chat service:


You will be prompted by the status bar to enter your password.

See the /connect command for additional arguments that may be used when connecting.

One to one chat

To open a new window and send a message use the /msg command:

/msg Hello there!

Profanity uses the contact's nickname by default, if one exists. For example:

/msg Bob Are you there bob?

Once a window is opened with the contact, messages can be sent by just typing them in the input window:

Hows it going?

Chat rooms

To join a chat room, use the /join command:


Once a window is opened for the room, messages can be sent by just typing them in the input window:

Hello everyone

See the chat Chat room guide for more detail.

Adding contacts

To add someone to your roster:

/roster add

To subscribe to a contacts presence (to be notified when they are online/offline etc):

/sub request

To approve a contact's request to subscribe to your presence:

/sub allow

See the /roster and /sub commands for more detail.

Changing your presence

To change your presence, use the following commands:

/status set away
/status set xa
/status set chat
/status set online
/status set dnd

Each of these commands accepts a message as a parameter, so to show the message "I'm very busy" to your contacts when setting status to Do Not Disturb:

/status set dnd I'm very busy

Logging out

To log out from the current chat service:


To quit profanity: