gajim3/gajim/common/setting_values.py

468 lines
18 KiB
Python
Raw Permalink Normal View History

from gajim.common.i18n import _
class _DEFAULT:
pass
class _ACCOUNT_DEFAULT:
pass
HAS_APP_DEFAULT = _DEFAULT()
HAS_ACCOUNT_DEFAULT = _ACCOUNT_DEFAULT()
# pylint: disable=line-too-long
APP_SETTINGS = {
'autopopup': False,
'show_notifications': True,
'autopopupaway': False,
'sounddnd': False,
'showoffline': True,
'show_only_chat_and_online': False,
'show_transports_group': True,
'autoaway': True,
'autoawaytime': 5,
'autoaway_message': '',
'autoxa': True,
'autoxatime': 15,
'autoxa_message': '',
'ask_online_status': False,
'ask_offline_status': False,
'trayicon': 'always',
'allow_hide_roster': False,
'iconset': 'dcraven',
'use_transports_iconsets': True,
'collapsed_rows': '',
'roster_theme': 'default',
'mergeaccounts': False,
'sort_by_show_in_roster': True,
'sort_by_show_in_muc': False,
'use_speller': False,
'show_xhtml': True,
'speller_language': '',
'print_time': 'always',
'emoticons_theme': 'noto-emoticons',
'ascii_formatting': True,
'show_ascii_formatting_chars': True,
'sounds_on': True,
'gc_refer_to_nick_char': ',',
'msgwin-max-state': False,
'msgwin-x-position': -1,
'msgwin-y-position': -1,
'msgwin-width': 500,
'msgwin-height': 440,
'chat-msgwin-x-position': -1,
'chat-msgwin-y-position': -1,
'chat-msgwin-width': 480,
'chat-msgwin-height': 440,
'gc-msgwin-x-position': -1,
'gc-msgwin-y-position': -1,
'gc-msgwin-width': 600,
'gc-msgwin-height': 440,
'pm-msgwin-x-position': -1,
'pm-msgwin-y-position': -1,
'pm-msgwin-width': 480,
'pm-msgwin-height': 440,
'single-msg-x-position': 0,
'single-msg-y-position': 0,
'single-msg-width': 400,
'single-msg-height': 280,
'save-roster-position': True,
'roster_x-position': 0,
'roster_y-position': 0,
'roster_width': 200,
'roster_height': 400,
'roster_hpaned_position': 200,
'roster_on_the_right': False,
'history_window_width': -1,
'history_window_height': 450,
'history_window_x-position': 0,
'history_window_y-position': 0,
'latest_disco_addresses': '',
'time_stamp': '%x | %X ',
'before_nickname': '',
'after_nickname': ':',
'change_roster_title': True,
'restore_lines': 10,
'restore_timeout': -1,
'send_on_ctrl_enter': False,
'last_roster_visible': True,
'key_up_lines': 25,
'search_engine': 'https://duckduckgo.com/?q=%s',
'dictionary_url': 'WIKTIONARY',
'always_english_wikipedia': False,
'always_english_wiktionary': True,
'remote_control': False,
'print_ichat_every_foo_minutes': 5,
'confirm_paste_image': True,
'confirm_close_muc': True,
'confirm_close_multiple_tabs': True,
'notify_on_file_complete': True,
'file_transfers_port': 28011,
'ft_add_hosts_to_send': '',
'use_kib_mib': False,
'notify_on_all_muc_messages': False,
'trayicon_notification_on_events': True,
'last_save_dir': '',
'last_send_dir': '',
'last_sounds_dir': '',
'tabs_position': 'left',
'tabs_always_visible': False,
'tabs_border': False,
'tabs_close_button': True,
'notification_preview_message': True,
'notification_position_x': -1,
'notification_position_y': -1,
'muc_highlight_words': '',
'muc_prefer_direct_msg': True,
'quit_on_roster_x_button': False,
'hide_on_roster_x_button': False,
'show_status_msgs_in_roster': True,
'show_avatars_in_roster': True,
'show_mood_in_roster': True,
'show_activity_in_roster': True,
'show_tunes_in_roster': True,
'show_location_in_roster': True,
'avatar_position_in_roster': 'right',
'print_status_in_chats': False,
'log_contact_status_changes': False,
'roster_window_skip_taskbar': False,
'use_urgency_hint': True,
'notification_timeout': 5,
'one_message_window': 'always',
'show_roster_on_startup': 'always',
'escape_key_closes': False,
'hide_groupchat_banner': False,
'hide_chat_banner': False,
'hide_groupchat_occupants_list': False,
'chat_merge_consecutive_nickname': False,
'chat_merge_consecutive_nickname_indent': ' ',
'ctrl_tab_go_to_next_composing': True,
'metacontacts_enabled': True,
'confirm_metacontacts': '',
'confirm_block': '',
'enable_negative_priority': False,
'show_contacts_number': True,
'scroll_roster_to_last_message': True,
'change_status_window_timeout': 15,
'max_conversation_lines': 500,
'shell_like_completion': False,
'audio_input_device': 'autoaudiosrc ! volume name=gajim_vol',
'audio_output_device': 'autoaudiosink',
'video_input_device': 'autovideosrc',
'video_framerate': '',
'video_size': '',
'video_see_self': True,
'audio_input_volume': 50,
'audio_output_volume': 50,
'use_stun_server': False,
'stun_server': '',
'global_proxy': '',
'ignore_incoming_attention': False,
'remember_opened_chat_controls': True,
'positive_184_ack': False,
'use_keyring': True,
'remote_commands': False,
'dark_theme': 2,
'gc_sync_threshold_public_default': 1,
'gc_sync_threshold_private_default': 0,
'show_subject_on_join': True,
'show_chatstate_in_roster': True,
'show_chatstate_in_tabs': True,
'show_chatstate_in_banner': True,
'muclumbus_api_jid': 'api@search.jabber.network',
'muclumbus_api_http_uri': 'https://search.jabber.network/api/1.0/search',
'muclumbus_api_pref': 'http',
'command_system_execute': False,
'groupchat_roster_width': 210,
'dev_force_bookmark_2': False,
'show_help_start_chat': True,
'gc_notify_on_all_messages_private_default': True,
'gc_notify_on_all_messages_public_default': False,
'gc_print_status_default': False,
'gc_print_join_left_default': False,
'check_for_update': True,
'last_update_check': '',
'always_ask_for_status_message': False,
'show_send_message_button': False,
}
ACCOUNT_SETTINGS = {
'account': {
'name': '',
'account_label': '',
'account_color': 'rgb(85, 85, 85)',
'hostname': '',
'anonymous_auth': False,
'avatar_sha': '',
'client_cert': '',
'client_cert_encrypted': False,
'savepass': False,
'password': '',
'resource': 'gajim.$rand',
'priority': 0,
'adjust_priority_with_status': False,
'autopriority_online': 50,
'autopriority_chat': 50,
'autopriority_away': 40,
'autopriority_xa': 30,
'autopriority_dnd': 20,
'autoconnect': False,
'restore_last_status': False,
'autoauth': False,
'active': True,
'proxy': '',
'keyid': '',
'keyname': '',
'use_plain_connection': False,
'confirm_unencrypted_connection': True,
'use_custom_host': False,
'custom_port': 5222,
'custom_host': '',
'custom_type': 'START TLS',
'sync_with_global_status': False,
'no_log_for': '',
'attached_gpg_keys': '',
'http_auth': 'ask',
'file_transfer_proxies': '',
'use_ft_proxies': False,
'test_ft_proxies_on_startup': False,
'msgwin-x-position': -1,
'msgwin-y-position': -1,
'msgwin-width': 480,
'msgwin-height': 440,
'is_zeroconf': False,
'last_status': 'online',
'last_status_msg': '',
'zeroconf_first_name': '',
'zeroconf_last_name': '',
'zeroconf_jabber_id': '',
'zeroconf_email': '',
'answer_receipts': True,
'publish_tune': False,
'publish_location': False,
'request_user_data': True,
'ignore_unknown_contacts': False,
'send_os_info': True,
'send_time_info': True,
'send_idle_time': True,
'roster_version': '',
'subscription_request_msg': '',
'ft_send_local_ips': True,
'opened_chat_controls': '',
'recent_groupchats': '',
'filetransfer_preference': 'httpupload',
'send_chatstate_default': 'composing_only',
'gc_send_chatstate_default': 'composing_only',
'send_marker_default': True,
'gc_send_marker_private_default': True,
'gc_send_marker_public_default': False,
'chat_history_max_age': -1,
'enable_gssapi': False,
},
'contact': {
'speller_language': '',
'send_chatstate': HAS_ACCOUNT_DEFAULT,
'send_marker': HAS_ACCOUNT_DEFAULT,
'encryption': '',
},
'group_chat': {
'speller_language': '',
'notify_on_all_messages': HAS_APP_DEFAULT,
'print_status': HAS_APP_DEFAULT,
'print_join_left': HAS_APP_DEFAULT,
'minimize_on_autojoin': True,
'minimize_on_close': True,
'send_chatstate': HAS_ACCOUNT_DEFAULT,
'send_marker': HAS_ACCOUNT_DEFAULT,
'encryption': '',
'sync_threshold': HAS_APP_DEFAULT,
},
}
PLUGIN_SETTINGS = {
'active': False
}
STATUS_PRESET_SETTINGS = {
'message': '',
'activity': '',
'subactivity': '',
'mood': '',
}
STATUS_PRESET_EXAMPLES = {
_('Sleeping'): {
'message': _('ZZZZzzzzzZZZZZ'),
'activity': 'inactive',
'subactivity': 'sleeping',
'mood': 'sleepy'
},
_('Back soon'): {
'message': _('Back in some minutes.')
},
_('Eating'): {
'message': _('Im eating.'),
'activity': 'eating',
'subactivity': 'other'
},
_('Movie'): {
'message': _('Im watching a movie.'),
'activity': 'relaxing',
'subactivity': 'watching_a_movie'
},
_('Working'): {
'message': _('Im working.'),
'activity': 'working',
'subactivity': 'other'
},
_('Out'): {
'message': _('Im out enjoying life.'),
'activity': 'relaxing',
'subactivity': 'going_out'
}
}
PROXY_SETTINGS = {
'type': 'socks5',
'host': '',
'port': 0,
'useauth': False,
'user': '',
'pass': '',
}
PROXY_EXAMPLES = {
'Tor': {
'type': 'socks5',
'host': 'localhost',
'port': 9050
},
}
DEFAULT_SOUNDEVENT_SETTINGS = {
'attention_received': {
'enabled': True,
'path': 'attention.wav'
},
'first_message_received': {
'enabled': True,
'path': 'message1.wav'
},
'next_message_received_focused': {
'enabled': True,
'path': 'message2.wav'
},
'next_message_received_unfocused': {
'enabled': True,
'path': 'message2.wav'
},
'contact_connected': {
'enabled': False,
'path': 'connected.wav'
},
'contact_disconnected': {
'enabled': False,
'path': 'disconnected.wav'
},
'message_sent': {
'enabled': False,
'path': 'sent.wav'
},
'muc_message_highlight': {
'enabled': True,
'path': 'gc_message1.wav'
},
'muc_message_received': {
'enabled': True,
'path': 'message2.wav'
}
}
ADVANCED_SETTINGS = {
'app': {
'allow_hide_roster': _('Allow to hide the contact list window even if the notification area icon is not shown.'),
'print_time': _('\'always\' - print time for every message.\n\'sometimes\' - print time every print_ichat_every_foo_minutes minute.\n\'never\' - never print time.'),
'ascii_formatting': _('Treat * / _ pairs as possible formatting characters.'),
'show_ascii_formatting_chars': _('If enabled, do not remove */_ . So *abc* will be bold but with * * not removed.'),
'gc_refer_to_nick_char': _('Character to add after nickname when using nickname completion (tab) in group chat.'),
'save-roster-position': _('If enabled, Gajim will save the contact list window position when hiding it, and restore it when showing the contact list window again.'),
'roster_on_the_right': _('Place the contact list on the right in single window mode'),
'time_stamp': _('This option lets you customize the timestamp that is printed in conversation. For example \'[%H:%M] \' will show \'[hour:minute] \'. See python doc on strftime for full documentation (https://docs.python.org/3/library/time.html#time.strftime).'),
'before_nickname': _('Characters that are printed before the nickname in conversations.'),
'after_nickname': _('Characters that are printed after the nickname in conversations.'),
'change_roster_title': _('If enabled, Gajim will add * and [n] in contact list window title.'),
'restore_lines': _('Number of messages from chat history to be restored when a chat tab/window is reopened.'),
'restore_timeout': _('How far back in time (minutes) chat history is restored. -1 means no limit.'),
'send_on_ctrl_enter': _('Send message on Ctrl+Enter and make a new line with Enter.'),
'key_up_lines': _('How many lines to store for Ctrl+KeyUP (previously sent messages).'),
'search_engine': '',
'dictionary_url': _('Either a custom URL with %%s in it (where %%s is the word/phrase) or \'WIKTIONARY\' (which means use Wikitionary).'),
'always_english_wikipedia': '',
'always_english_wiktionary': '',
'remote_control': _('If checked, Gajim can be controlled remotely using gajim-remote.'),
'print_ichat_every_foo_minutes': _('When not printing time for every message (\'print_time\'==sometimes, print it every x minutes.'),
'confirm_paste_image': _('Ask before pasting an image.'),
'confirm_close_muc': _('Ask before closing a group chat tab/window.'),
'confirm_close_multiple_tabs': _('Ask before closing tabbed chat window if there are chats that can lose data (chat, private chat, group chat that will not be minimized).'),
'file_transfers_port': '',
'ft_add_hosts_to_send': _('List of send hosts (comma separated) in addition to local interfaces for file transfers (in case of address translation/port forwarding).'),
'use_kib_mib': _('IEC standard says KiB = 1024 bytes, KB = 1000 bytes.'),
'notify_on_all_muc_messages': '',
'trayicon_notification_on_events': _('Notify of events in the notification area.'),
'tabs_always_visible': _('Show tab when only one conversation?'),
'tabs_border': _('Show tabbed notebook border in chat windows?'),
'tabs_close_button': _('Show close button in tab?'),
'notification_preview_message': _('Preview new messages in notification popup?'),
'muc_highlight_words': _('A list of words (semicolon separated) that will be highlighted in group chats.'),
'hide_on_roster_x_button': _('If enabled, Gajim hides the contact list window when pressing the X button instead of minimizing into the notification area.'),
'show_mood_in_roster': '',
'show_activity_in_roster': '',
'show_tunes_in_roster': '',
'show_location_in_roster': '',
'avatar_position_in_roster': _('Define the position of avatars in the contact list. Can be \'left\' or \'right\'.'),
'roster_window_skip_taskbar': _('Don\'t show contact list window in the system taskbar.'),
'use_urgency_hint': _('If enabled, Gajim makes the window flash (the default behaviour in most Window Managers) when holding pending events.'),
'notification_timeout': '',
'escape_key_closes': _('If enabled, pressing Esc closes a tab/window.'),
'hide_groupchat_banner': _('Hides the banner in a group chat window.'),
'hide_chat_banner': _('Hides the banner in a 1:1 chat window.'),
'hide_groupchat_occupants_list': _('Hides the group chat participants list in a group chat window.'),
'chat_merge_consecutive_nickname': _('In a chat, show the nickname at the beginning of a line only when it\'s not the same person talking as in the previous message.'),
'chat_merge_consecutive_nickname_indent': _('Indentation when using merge consecutive nickname.'),
'ctrl_tab_go_to_next_composing': _('Ctrl+Tab switches to the next composing tab when there are no tabs with messages pending.'),
'confirm_metacontacts': _('Show a confirmation dialog to create metacontacts? Empty string means never show the dialog.'),
'confirm_block': _('Show a confirmation dialog to block a contact? Empty string means never show the dialog.'),
'enable_negative_priority': _('If enabled, you will be able to set a negative priority to your account in the Accounts window. BE CAREFUL, when you are logged in with a negative priority, you will NOT receive any message from your server.'),
'show_contacts_number': _('If enabled, Gajim will show both the number of online and total contacts in account rows as well as in group rows.'),
'scroll_roster_to_last_message': _('If enabled, Gajim will scroll and select the contact who sent you the last message, if the chat window is not already opened.'),
'change_status_window_timeout': _('Time of inactivity needed before the change status window closes down.'),
'max_conversation_lines': _('Maximum number of lines that are printed in conversations. Oldest lines are cleared.'),
'shell_like_completion': _('If enabled, completion in group chats will be like a shell auto-completion.'),
'use_stun_server': _('If enabled, Gajim will try to use a STUN server when using Jingle. The one in \'stun_server\' option, or the one given by the XMPP server.'),
'stun_server': _('STUN server to use when using Jingle'),
'ignore_incoming_attention': _('If enabled, Gajim will ignore incoming attention requests (\'wizz\').'),
'remember_opened_chat_controls': _('If enabled, Gajim will reopen chat windows that were opened last time Gajim was closed.'),
'remote_commands': _('If enabled, Gajim will execute XEP-0146 Commands.'),
'muclumbus_api_jid': '',
'muclumbus_api_http_uri': '',
'muclumbus_api_pref': _('API Preferences. Possible values: \'http\', \'iq\''),
'command_system_execute': _('If enabled, Gajim will execute commands (/show, /sh, /execute, /exec).'),
'groupchat_roster_width': _('Width of group chat roster in pixel'),
'dev_force_bookmark_2': _('Force Bookmark 2 usage'),
'gc_notify_on_all_messages_private_default': '',
'gc_notify_on_all_messages_public_default': '',
'metacontacts_enabled': '',
},
}
# pylint: enable=line-too-long