// SAMPLE TOXIC CONFIGURATION
// USES LIBCONFIG-ACCEPTED SYNTAX

ui = {
  // true to enable timestamps, false to disable
  timestamps=true;

  // true to enable acoustic alerts on messages, false to disable
  alerts=true;

  // true to show notification content on desktop alerts, false to hide
  show_notification_content=true;

  // Output a bell when receiving a message (see manpage)
  bell_on_message=true;

  // Output a bell when receiving a filetransfer (see manpage)
  bell_on_filetrans=true;

  // Don't output a bell when a filetransfer was accepted (see manpage)
  bell_on_filetrans_accept=false;

  // Output a bell when receiving a group/call invite (see manpage)
  bell_on_invite=true;

  // true to use native terminal colors, false to use toxic default color theme
  native_colors=false;

  // set background color of chat status bars
  // colors: black, white, gray, brown, red, green, blue, cyan, yellow, magenta, orange, pink
  color_bar_bg="blue";

  // set foreground (text) color of chat status bars
  // colors: black, white, gray, brown, red, green, blue, cyan, yellow, magenta, orange, pink
  color_bar_fg="white";

  // set foreground accent color of chat status bars
  // colors: black, white, gray, brown, red, green, blue, cyan, yellow, magenta, orange, pink
  color_bar_accent="cyan";

  // set foreground notify (and typing) color in chat status bar
  // colors: black, white, gray, brown, red, green, blue, cyan, yellow, magenta, orange, pink
  color_bar_notify="yellow";

  // true to enable autologging, false to disable
  autolog=false;

  // 24 or 12 hour time
  time_format=24;

  // Timestamp format string according to date/strftime format. Overrides time_format setting
  timestamp_format="%H:%M";

  // Timestamp format string for raw logs according to date/strftime format. (Note: the time
  // of the format string must be enclosed in square brackets in order to be parsed by toxic).
  log_timestamp_format="%Y/%m/%d [%H:%M]"

  // true to show you when others are typing a message in 1-on-1 chats
  show_typing_other=true;

  // true to show others when you're typing a message in 1-on-1 chats
  show_typing_self=true;

  // true to show the welcome message on startup
  show_welcome_msg=true;

  // true to enable friend connection change notifications
  show_connection_msg=true;

  // true to show peer connection change messages in groups
  show_group_connection_msg=true;

  // How often in days to update the DHT nodes list. (0 to disable updates)
  nodeslist_update_freq=7;

  // How often in seconds to auto-save the Tox data file. (0 to disable periodic auto-saves)
  autosave_freq=600;

  // maximum lines for chat window history
  history_size=700;

  // time in milliseconds to display a notification
  notification_timeout=6000;

  // Indicator for display when someone connects or joins a group
  line_join="-->";

  // Indicator for display when someone disconnects or leaves a group
  line_quit="<--";

  // Indicator for alert messages.
  line_alert="-!-";

  // Indicator for normal messages.
  line_normal="-";

  // Indicator for special messages.
  line_special=">";

  // true to change status based on screen/tmux attach/detach, false to disable
  mplex_away=true;

  // Status message to use when status set to away due to screen/tmux detach
  mplex_away_note="Away from keyboard, be back soon!"

  // Parting message that will be sent to all groupchat peers when you leave the group
  group_part_message="Toxic user signing out"
};

audio = {
  // preferred audio input device; numbers correspond to /lsdev in
  input_device=2;

  // preferred audio output device; numbers correspond to /lsdev out
  output_device=0;

  // default VAD threshold; float (recommended values are 1.0-40.0)
  VAD_threshold=5.0;

  // Number of channels to use for conference audio broadcasts; 1 for mono, 2 for stereo.
  conference_audio_channels=1;

  // Number of channels to use for 1-on-1 audio broadcasts; 1 for mono, 2 for stereo.
  chat_audio_channels=2;

  // toggle conference push-to-talk
  push_to_talk=false;
};

tox = {
  // Path for downloaded files
  // download_path="/home/USERNAME/Downloads/";

  // Path for your avatar (file must be a .png and cannot exceed 64 KiB)
  // avatar_path="/home/USERNAME/Pictures/youravatar.png";

  // Path for scripts that should be run on startup
  // autorun_path="/home/USERNAME/toxic_scripts/";

  // Path for chatlogs
  // chatlogs_path="/home/USERNAME/toxic_chatlogs/";
};

// Friend-specific config settings. Public keys are used as friend identifiers
// and must begin with the prefix "pk_". These take priority over global settings.
friends = {
  pk_AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA = {
    // Set an alias for this friend.
    alias="EXAMPLE_NAME";

    // Enable auto-accepting inbound file transfers for this friend.
    auto_accept_files=false;

    // Enable autologging for this friend.
    autolog=false;

    // true to enable connection change notifications.
    show_connection_msg=true;

    // The color of the friend's window tab name.
    // colors: black, white, gray, brown, red, green, blue, cyan, yellow, magenta, orange, pink
    tab_name_color="white";
  };

// pk_AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA = {
//   ...
// };
};

// Groupchat-specific config settings. Public keys (chat ID's) are used as
// group identifiers and must begin with the prefix "pk_". These take priority
// over global settings.
groupchats = {
  pk_AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA = {
    // Enable autologging for this group.
    autolog=false;

    // The color of the group's window tab name.
    // colors: black, white, gray, brown, red, green, blue, cyan, yellow, magenta, orange, pink
    tab_name_color="white";
  };

// pk_AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA = {
//   ...
// };
};

// Conference-specific config settings. Public keys are used as group identifiers
// and must begin with the prefix "pk_". These take priority over global settings.
conferences = {
  pk_AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA = {
    // Enable autologging for this conference.
    autolog=false;

    // The color of the conference's window tab name.
    // colors: black, white, gray, brown, red, green, blue, cyan, yellow, magenta, orange, pink
    tab_name_color="white";
  };

// pk_AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA = {
//   ...
// };
};

// To disable a sound set the path to "silent"
sounds = {
  error="/usr/local/share/toxic/sounds/ToxicError.wav";
  user_log_in="/usr/local/share/toxic/sounds/ToxicContactOnline.wav";
  user_log_out="/usr/local/share/toxic/sounds/ToxicContactOffline.wav";
  call_incoming="/usr/local/share/toxic/sounds/ToxicIncomingCall.wav";
  call_outgoing="/usr/local/share/toxic/sounds/ToxicOutgoingCall.wav";
  generic_message="/usr/local/share/toxic/sounds/ToxicRecvMessage.wav";
  transfer_pending="/usr/local/share/toxic/sounds/ToxicTransferStart.wav";
  transfer_completed="/usr/local/share/toxic/sounds/ToxicTransferComplete.wav";
};

// Currently supported: Ctrl modified keys, Tab, PAGEUP and PAGEDOWN (case insensitive)
// Note: Ctrl+M does not work
keys = {
  next_tab="Ctrl+P";
  prev_tab="Ctrl+O";
  scroll_line_up="Ctrl+F";
  scroll_line_down="Ctrl+V";
  half_page_up="PAGEUP";
  half_page_down="PAGEDOWN";
  page_bottom="Ctrl+H";
  toggle_peerlist="Ctrl+B";
  toggle_paste_mode="Ctrl+T";
  reload_config="Ctrl+R";
};
