# This is the default config for the XMPP client Poezio.
# Comments should be on their own line and NOT at the end
# of a meaningful line.

[Poezio]

# Jabber identifier. Specify it only if you want to connect using an existing
# account on a server. This is optional and useful only for some features,
# like room administration, nickname registration.
# The 'server' option will be ignored if you specify a JID (Jabber identifier)
# It should be in the form nickname@server.tld
jid =

# A password is needed only if you specified a jid. It will be ignored otherwise
# If you leave this empty, the password will be asked at each startup
password =

# Path to a PEM certificate file to use for certificate authentication
# through SASL External. If set, keyfile MUST be provided as well in
# order to login.
certfile =

# Path to a PEM private key file to use for certificate authentication
# through SASL External. If set, certfile MUST be provided as well in
# order to login.
keyfile =

# the nick you will use when joining a room with no associated nick
# If this is empty, the $USER environnement variable will be used
default_nick =

# the rooms you will join automatically on startup, with associated nickname or not
# format : room@server.tld/nickname:room2@server.tld/nickname2
# default_nick will be used if "/nickname" is not specified
rooms =

# a list of words (separated by a colon (:)) that will be
# highlighted if said by someone on a room
highlight_on =

# Colon-separated list of plugins to load on startup
plugins_autoload =

# the resource you will use
# If it's empty, your resource will be chosen (most likely randomly) by the server
# It is not recommended to use a resource that is easy to guess, because it can lead
# to presence leak.
resource =

# The server used for anonymous connection.
# Make sure the server you're using accepts anonymous authentication
server = anon.jeproteste.info

# TLS Certificate fingerprint
# Do not touch this if you don’t know what you are doing
certificate =

# List of ciphers allowed when connecting to the server,
# this list prioritizes forward secrecy and forbids anything
# weaker than 128 bits.
# You should probably leave it as it is
ciphers = HIGH+kEDH:HIGH+kEECDH:HIGH:!PSK:!SRP:!3DES:!aNULL

# Skip the TLS certificate fingerprint verification
# Should be false in most cases, as you want to check that the server keeps
# the same certificate.
ignore_certificate = false

# Force TLS on by default
force_encryption = true

# The interval to send a whitespace keepalive to the server
# 300 should be fine, except for specific services, in that case, change the
# value to the services default.
whitespace_interval = 300

# Path to the certificate authenticating the Authority
# A server may have several certificates, but if it uses a CA, it will often
# keep the same for obvious reasons, so this is a good option if your server
# does this, rather than skipping all verifications.
# This is not affected by ignore_certificate
ca_cert_path =

# Auto-reconnects you when you get disconnected from the server
auto_reconnect = true

# The time between the ping sent to the server to check if the connection is alive
connection_check_interval = 60

# The timeout value of those pings
connection_timeout_delay = 10

# Send the initial presence
# true, unless you want to be invisible from your roster
# warning: this disables any presence sending other than MUCs or directed
# presences via /presence
send_initial_presence = true

# The status (show) poezio will send when connecting.
# can be: xa,dnd,away,available,chat.
# An empty or invalid value will mean available.
status =

# The status message you will have upon connection
status_message =

# Save the last used status in this file (in the status and status_message
# options)
save_status = true

# A custom host that will be used instead of the DNS records for the server
# (anonymous or the jid’s) defined above.
# You should not need this in a "normal" use case.
custom_host =

# A custom port to use instead of the 5222.
# This option can be combined with custom_host.
# You should not need this in a "normal" use case.
custom_port =

# the method that poezio will use to store your bookmarks online
# possible values are: privatexml, pep
# You should not have to modify this, but if you have to, please do.
use_bookmarks_method =

# use this option to force the use of local bookmarks
# possible values are: anything/false
use_remote_bookmarks = true

# Force the retrieval of the remote bookmarks even when the server
# doesn't advertise support for your method
force_remote_bookmarks = false

# Whether you want all bookmarks, even those without
# autojoin, to be open on startup
open_all_bookmarks = false

# What will be put after the name, when using autocompletion at the
# beginning of the input. A space will always be added after that
after_completion = ,

# Whether or not to add a space after a completion in the middle of the
# input (not at the start of it)
add_space_after_completion = true

# The maximum length of the nickname that will be displayed in the
# conversation window.
max_nick_length = 25

# Show the timestamp of each messages, or not
show_timestamps = true

# Allow a message to "correct" another message in the display if
# the sender wants it.
group_corrections = true

# Words that you want to complete on recent words completion,
# separated by a colon (:).
# e.g. words = "anticonstitutionnellement:I protest:I like bananas:"
words =

# XHTML-IM is an XMPP extension letting users send messages
# containing XHTML and CSS formating. We can use this to make
# colored text for example.
enable_xhtml_im = true

# Set a number for this setting.
# The join OR status-change notices will be
# displayed according to this number.
# -1: the notices will ALWAYS be displayed
#  0: the notices will NEVER be displayed
#  n: On any other number, the notices will only be displayed
#     if the user involved has talked since the last n seconds
# The quit messages will be hidden only if hide_exit_join is 0
# if the value is incorrect, -1 is assumed
# Default settings are :
# - all quit and join notices will be displayed
# - status changes won't be displayed unless
#   the user talked in the last 2 minutes

hide_exit_join = -1

hide_status_change = 120


# Some informational messages (error, a contact getting connected, etc)
# are sometimes added to the information buffer. These settings can make
# it grow temporarly so you can read these information when they appear.

# A list of message types that should make the information buffer grow
# Possible values; error, roster, warning, info, help
information_buffer_popup_on = error roster warning help info

# The time the message will be visible. If the message takes more than
# one line, the popup will stay visible two second per additional lines
popup_time = 4

# Whether to hide the list of user in the MultiUserChat tabs or not. Useful
# for example if you want to copy/paste the content of the buffer, or if you
# want to gain space
hide_user_list = false

# A list of words (or sentences) separated by colons (":"). All the
# informational messages (described above) containing at least one of those
# values will not be shown.
filter_info_messages =

# Set to 'true' if you want to automatically rejoin the
# rooms when you're kicked or banned
autorejoin = false

# Set to the number of seconds before reconnecting when you are kicked
# or banned. No value, 0, or a negative value means you will be reconnected
# instantly. Only effective if autorejoin is set to true.
autorejoin_delay = 5

# If you want poezio to join
# the room with an alternative nickname when
# your nickname is already in use in the room you
# wanted to join, put a non-empty value.
# Else, poezio won't join the room
# This value will be added to your nickname to
# create the alternative nickname.
# For example, if you set "_", and wanted to use
# the nickname "john", your alternative nickname
# will be "john_"
alternative_nickname =

# Limit the number of messages you want to receive when the
# multiuserchat rooms send you recent history
# 0: You won't receive any
# -1: You will receive the server default
# n: You will receive at most n messages
muc_history_length = 50

# set to 'true' if you want to save logs of all the messages
# in files.
use_log = false

# The number of lines to preload in a chat buffer when it opens
# (the lines are preloaded from the log files)
# 0 or a negative value disable that option
load_log = 10

# If log_dir is not set, logs will be saved in $XDG_DATA_HOME/poezio/logs,
# i.e. in ~/.local/share/poezio/logs/. So, you should specify the directory
# you want to use instead. This directory will be created if it doesn't exist
log_dir =

# Log the errors poezio encounters in log_dir/errors.log
# A false value disables this option.
log_errors = true

# If plugins_dir is not set, plugins will be loaded from $XDG_DATA_HOME/poezio/plugins.
# You can specify an other directory to use. It will be created if it doesn't exist
plugins_dir =

# If plugins_conf_dir is not set, plugin configs will be loaded from
# $XDG_CONFIG_HOME/poezio/plugins. You can specify another directory here.
plugins_conf_dir =

# the full path to the photo (avatar) you want to use
# it should be less than 16Ko
# The avatar is not set by default, because it slows
# poezio's startup a little. Uncomment if you want the default avatar

#photo = ../data/poezio_80.png

# If you want to show all the tabs in the Tab bar, even those
# with no activity, set to true. Else, set to false
show_inactive_tabs = true

# If you want to highlight tabs where the contact is typing
# possible values:
# - direct: one-to-one chats
# - private: private chats in chatrooms
# - conversation: chats with contacts or other JIDs
# - muc: chatrooms
# - true: all chat tabs
# - false or anything else: no highlighting
show_composing_tabs = direct

# Ignore private messages received in chatrooms
ignore_private = false

# If you want to show the tab names in the bottom tab bar, set this to true
show_tab_names = false

# If you want to disable the numbers in the bottom tab bar, set this to false
# If show_tab_names and show_tab_numbers are both false, the numbers will be 
# shown
show_tab_numbers = true

# Use the contact name, the nick in the MUC instead of the full JID to
# display the tab if set to true.
use_tab_nicks = true

# If set to false, poezio will only display the user part of the JID (before
# the @) when displaying the MUC tab name.
show_muc_jid = true

# If this option is set to false, the roster will not show the contact JIDs
# when that is possible.
# e.g. instead of: toto (toto@example.org) (2)
# poezio will only show: toto (2)
show_roster_jids = true

# Show JIDs in conversation tabs
show_jid_in_conversations = true

# show s2s errors in the roster
show_s2s_errors = true

# If set to true, the roster will display the offline contacts too
roster_show_offline = false

# How to sort the contacts inside the roster groups.
# They are used sequentially, (from left to right)
# Available sorting methods are:
#   - reverse: reverse the sorting
#   - jid: sort by JID (alphabetical order)
#   - show: sort by show (available/away/xa/…)
#   - name: sort by roster name (if no name, then the bare jid is used)
#   - sname: case-sensitive name sorting (uppercase first)
#   - resource: sort by resource number
#   - online: sort by online presence (online or not)
# You can arrange them however you like, and you have to separate them with
# colons (":"). Keep in mind that if there are more than 3 or 4 your
# sorting is most likely inefficient.
roster_sort = jid:show

# How to sort the roster groups.
# The principles are the same as roster_sort.
# Available methods are:
#   - reverse: reverse the sorting
#   - name: sort by group name (alphabetical order)
#   - sname: case-sensitive name sorting (uppercase first)
#   - fold: sort unfolded/folded
#   - connected: sort by number of connected contacts
#   - size: sort by group size
#   - none: put the "none" group (if any) at the end of the list
roster_group_sort = name

# The terminal can beep on various event. Put the event you want in a list
# (separated by spaces).
# The events can be
# - highlight (when you are highlighted in a MUC)
# - private (when a new private message is received, from your contacts or
#            someone from a MUC)
# - message (any message from a MUC)
# - invite (when you receive an invitation for joining a MUC)
beep_on = highlight private invite

# Theme

# If themes_dir is not set, logs will searched for in $XDG_DATA_HOME/poezio/themes,
# i.e. in ~/.local/share/poezio/themes/. So you should specify the directory you
# want to use instead. This directory will be created at startup if it doesn't
# exist
themes_dir =

# The name of the theme file that will be used. The file should be located
# in the theme_dir directory.
# If the file is not found (or no filename is specified) the default
# theme will be used instead
theme = default

# Whether to create gaps when moving or closing a tab
# (a gap means that the number of your tabs does not depend of the previous tabs
# but only of the creation order)
create_gaps = false

# If Alt-x is pressed and you are already on the tab numbered "x",
# you will go on the previous tab if that option is true
go_to_previous_tab_on_alt_number = false

# If true, a vertical list of tabs, with their name, is displayed on the left of
# the screen.
enable_vertical_tab_list = false

# Horizontal size of the vertical tab list
vertical_tab_list_size = 20

# If set to desc, the tabs will be displayed from top to bottom in the list,
# if set to asc, they will be displayed from bottom to top.
vertical_tab_list_sort = desc

# Show the user list at the bottom when in a MUC
# (useful when you want to look at the bottom of the screen only)
# possible values: desc, asc
user_list_sort = desc

# If the MUC nicks should receive a fixed color based on their text or not
deterministic_nick_colors = true

# If _nick, nick_, _nick_, nick__ etc. should have the same color as nick
nick_color_aliases = true

# The nick of people who join, part, change their status, etc. in a MUC will
# be displayed using their nick color if true.
display_user_color_in_join_part = true

# Display user tune notifications as information messages or not
display_tune_notifications = false

# Change the tab state when receiving MUC messages.
# useful if you are connected to a high-volume chatroom and do not
# want it to appear in your tab bar as active. Highlights are still
# shown.
notify_messages = true

# Enable Message Carbons (XEP-0280) to deliver message copies from and to
# other resources with carbons enabled.
enable_carbons = false

# Acknowledge message delivery receipts (XEP-0184)
ack_message_receipts = true

# Ask for message delivery receipts (XEP-0184)
request_message_receipts = true

# Extract base64 images received in XHTML-IM messages
# if true.
extract_inline_images = true

# The directory where the images will be saved; if unset,
# defaults to $XDG_CACHE_HOME/poezio/images.
tmp_image_dir =

# Receive the tune notifications or not (in order to display informations
# in the roster).
# If this is set to false, then the display_tune_notifications
# option will be ignored.
enable_user_tune = true

# Display user gaming notifications as information messages or not
display_gaming_notifications = false

# Receive the gaming notifications or not (in order to display informations
# in the roster).
# If this is set to false, then the display_gaming_notifications
# option will be ignored.
enable_user_gaming = true

# Display user mood notifications as information messages or not
display_mood_notifications = false

# Receive the mood notifications or not (in order to display informations
# in the roster).
# If this is set to false, then the display_mood_notifications
# option will be ignored.
enable_user_mood = true

# Display user activity notifications as information messages or not
display_activity_notifications = false

# Receive the activity notifications or not (in order to display informations
# in the roster).
# If this is set to false, then the display_activity_notifications
# option will be ignored.
enable_user_activity = true

# If set to true, use the nickname broadcasted by the user if none has been
# set manually.
enable_user_nick = true

# if true, chat states will be sent to the people you are talking to.
# Chat states are, for example, messages informing that you are composing
# a message or that you closed the tab, etc
# Set to false if you don't want people to know these information
# Note that you won’t receive the chat states of your contacts
# if you don't send yours.
send_chat_states = true

# if true, information about the software (name and version)
# will be sent if requested by anyone
# Set to false if you don't want people to know these information
send_poezio_info = true

# if true, information about the Operation System you're using
# will be sent when requested by anyone
# Set to false if you don't want people to know these information
# Note that this information will not be sent if send_poezio_info is False
send_os_info = true

# if true, your current time will be sent if asked
# Set to false if you don't want people to know that information
send_time = true

# If true, the history of the similar inputs won't be shared between
# different tabs (as in weechat).
separate_history = false

# The language you specify using.
# This *may* be used by an automated entity to send you tailored replies
# If you don't understand, leave en.
lang = en

# Configure the number of maximum lines and messages (for each tab) that
# can be kept in memory. If poezio consumes too much memory, lower these
# values
max_messages_in_memory = 2048
max_lines_in_memory = 2048

# Show the separator at the bottom of the text buffer, even if no one
# spoke
show_useless_separator = false

# Set this to true if you want the commands to be executed remotely
# (with ssh & the daemon), see the documentation of the /link plugin
# for details
exec_remote = false

# Path of the FIFO in which the remote commands will be sent.
# The "poezio.fifo" file will be created in this directory
# Used with exec_remote set to true, see the documentation of /link for details
# Defaults to ./
remote_fifo_path = ./

# Defines if all tabs are resized at the same time (if set to false)
# or if they are really resized only when needed (if set to true).
# “true” should be the most comfortable value
lazy_resize = true

[bindings]
# Bindings are keyboard shortcut aliases. You can use them
# to define your own keys and bind them with some functions
# The syntaxe is
#    key = bind
# where ^x means Control + x
# and M-x means Alt + x
# The example turns Alt + i into a tab key
M-i = ^I

[var]
# You should not edit this section, it is just used by poezio
# to save various data across restarts
folded_roster_groups =
info_win_height = 2

[muc_colors]
# Set color for a nick, under the form
# nick = color
