gajim3/gajim/common/setting_values.py

468 lines
18 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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