# -*- coding: utf-8 -*-
'''
Rofi is a TraitMenu subclass that was generated by the
scripts in dynmen/utils.
'''
from dynmen.common import TraitMenu, Flag, Option


class Rofi(TraitMenu):
    _aliases = [('sep', 'entry_sep'), ('p', 'prompt'), ('i', 'case_insensitive')]
    _base_command = ['rofi']
    _version = 'Version: 1.5.0-dirty (tags/1.5.0)'
    a = Option('-a', help='List of row indexes to mark active')
    async_pre_read = Option(
        '-async-pre-read',
        help='Read several entries blocking before switching to async mode @@@ 25'
    )
    auto_select = Flag('-auto-select', help='Enable auto select mode @@@ False (Default)')
    bw = Option('-bw', help='Border width @@@ 1 (Default)')
    case_sensitive = Flag(
        '-case-sensitive', help='Set case-sensitivity @@@ False (Default)'
    )
    click_to_exit = Flag(
        '-click-to-exit', help='Click outside the window to exit @@@ True (Default)'
    )
    color_active = Option(
        '-color-active',
        help='Color scheme for active row @@@ argb:00000000, #6699CC , argb:00000000, #6699CC , #1B2B34 (XResources)'
    )
    color_normal = Option(
        '-color-normal',
        help='Color scheme for normal row @@@ argb:00000000, #D8DEE9 , argb:00000000, #FAC863 , #1B2B34 (XResources)'
    )
    color_urgent = Option(
        '-color-urgent',
        help='Color scheme for urgent row @@@ argb:00000000, #F99157 , argb:00000000, #F99157 , #1B2B34 (XResources)'
    )
    color_window = Option(
        '-color-window',
        help='Color scheme window @@@ argb:ee222222, #FAC863 , #FAC863 (XResources)'
    )
    columns = Option('-columns', help='Number of columns @@@ 1 (Default)')
    combi_hide_mode_prefix = Flag(
        '-combi-hide-mode-prefix',
        help='Hide the prefix mode prefix on the combi view. @@@ False (Default)'
    )
    combi_modi = Option(
        '-combi-modi',
        help='Set the modi to combine in combi mode @@@ window,run (Default)'
    )
    cycle = Flag('-cycle', help='Cycle through the results list @@@ True (Default)')
    disable_history = Flag(
        '-disable-history', help='Disable history in run/ssh @@@ False (Default)'
    )
    display = Option('-display', help='X server to contact. @@@ ${DISPLAY}')
    display_combi = Option(
        '-display-combi', help='The display name of this browser @@@ (unset) (Default)'
    )
    display_drun = Option(
        '-display-drun', help='The display name of this browser @@@ (unset) (Default)'
    )
    display_keys = Option(
        '-display-keys', help='The display name of this browser @@@ (unset) (Default)'
    )
    display_run = Option(
        '-display-run', help='The display name of this browser @@@ (unset) (Default)'
    )
    display_ssh = Option(
        '-display-ssh', help='The display name of this browser @@@ (unset) (Default)'
    )
    display_window = Option(
        '-display-window', help='The display name of this browser @@@ (unset) (Default)'
    )
    display_windowcd = Option(
        '-display-windowcd',
        help='The display name of this browser @@@ (unset) (Default)'
    )
    dmenu = Flag('-dmenu', default_value=True)
    dpi = Option('-dpi', help='DPI @@@ -1 (Default)')
    drun_icon_theme = Option(
        '-drun-icon-theme', help='Theme to use to look for icons @@@ (unset) (Default)'
    )
    drun_match_fields = Option(
        '-drun-match-fields',
        help='Desktop entry fields to match in drun @@@ name,generic,exec,categories (Default)')
    dump_config = Flag(
        '-dump-config', help='Dump the current configuration in rasi format and exit.'
    )
    dump_theme = Flag(
        '-dump-theme', help='Dump the current theme in rasi format and exit.'
    )
    dump_xresources = Flag(
        '-dump-xresources',
        help='Dump the current configuration in Xresources format and exit.'
    )
    e = Option('-e', help='Show a dialog displaying the passed message and exit.')
    eh = Option('-eh', help='Row height (in chars) @@@ 1 (Default)')
    fake_background = Option(
        '-fake-background',
        help='Background to use for fake transparency. (background or screenshot) @@@ screenshot (Default)'
    )
    fake_transparency = Flag(
        '-fake-transparency', help='Fake transparency *DEPRECATED* @@@ False (Default)'
    )
    filter = Option('-filter', help='Pre-set filter @@@ (unset) (Default)')
    fixed_num_lines = Flag(
        '-fixed-num-lines', help='Always show number of lines @@@ True (Default)'
    )
    font = Option('-font', help='Font to use @@@ mono 12 (Default)')
    format = Option('-format', help='Output format string @@@ s')
    fullscreen = Flag('-fullscreen', help='Fullscreen @@@ False (Default)')
    help = Flag('-help', help='This help message.')
    hide_scrollbar = Flag(
        '-hide-scrollbar', help='Hide scroll-bar *DEPRECATED* @@@ False (Default)'
    )
    i = Flag('-i', help='Set filter to be case insensitive')
    input = Option('-input', help='Read input from file instead from standard input.')
    kb_accept_alt = Option(
        '-kb-accept-alt', help='Use alternate accept command. @@@ Shift+Return (Default)'
    )
    kb_accept_custom = Option(
        '-kb-accept-custom',
        help='Use entered text as command (in ssh/run modi) @@@ Control+Return (Default)'
    )
    kb_accept_entry = Option(
        '-kb-accept-entry',
        help='Accept entry @@@ Control+j,Control+m,Return,KP_Enter (Default)'
    )
    kb_cancel = Option(
        '-kb-cancel', help='Quit rofi @@@ Escape,Control+g,Control+bracketleft (Default)'
    )
    kb_clear_line = Option(
        '-kb-clear-line', help='Clear input line @@@ Control+w (Default)'
    )
    kb_custom_1 = Option('-kb-custom-1', help='Custom keybinding 1 @@@ Alt+1 (Default)')
    kb_custom_10 = Option(
        '-kb-custom-10', help='Custom keybinding 10 @@@ Alt+0 (Default)'
    )
    kb_custom_11 = Option(
        '-kb-custom-11', help='Custom keybinding 11 @@@ Alt+exclam (Default)'
    )
    kb_custom_12 = Option(
        '-kb-custom-12', help='Custom keybinding 12 @@@ Alt+at (Default)'
    )
    kb_custom_13 = Option(
        '-kb-custom-13', help='Csutom keybinding 13 @@@ Alt+numbersign (Default)'
    )
    kb_custom_14 = Option(
        '-kb-custom-14', help='Custom keybinding 14 @@@ Alt+dollar (Default)'
    )
    kb_custom_15 = Option(
        '-kb-custom-15', help='Custom keybinding 15 @@@ Alt+percent (Default)'
    )
    kb_custom_16 = Option(
        '-kb-custom-16', help='Custom keybinding 16 @@@ Alt+dead_circumflex (Default)'
    )
    kb_custom_17 = Option(
        '-kb-custom-17', help='Custom keybinding 17 @@@ Alt+ampersand (Default)'
    )
    kb_custom_18 = Option(
        '-kb-custom-18', help='Custom keybinding 18 @@@ Alt+asterisk (Default)'
    )
    kb_custom_19 = Option(
        '-kb-custom-19', help='Custom Keybinding 19 @@@ Alt+parenleft (Default)'
    )
    kb_custom_2 = Option('-kb-custom-2', help='Custom keybinding 2 @@@ Alt+2 (Default)')
    kb_custom_3 = Option('-kb-custom-3', help='Custom keybinding 3 @@@ Alt+3 (Default)')
    kb_custom_4 = Option('-kb-custom-4', help='Custom keybinding 4 @@@ Alt+4 (Default)')
    kb_custom_5 = Option('-kb-custom-5', help='Custom Keybinding 5 @@@ Alt+5 (Default)')
    kb_custom_6 = Option('-kb-custom-6', help='Custom keybinding 6 @@@ Alt+6 (Default)')
    kb_custom_7 = Option('-kb-custom-7', help='Custom Keybinding 7 @@@ Alt+7 (Default)')
    kb_custom_8 = Option('-kb-custom-8', help='Custom keybinding 8 @@@ Alt+8 (Default)')
    kb_custom_9 = Option('-kb-custom-9', help='Custom keybinding 9 @@@ Alt+9 (Default)')
    kb_delete_entry = Option(
        '-kb-delete-entry', help='Delete entry from history @@@ Shift+Delete (Default)'
    )
    kb_mode_next = Option(
        '-kb-mode-next',
        help='Switch to the next mode. @@@ Shift+Right,Control+Tab (Default)'
    )
    kb_mode_previous = Option(
        '-kb-mode-previous',
        help='Switch to the previous mode. @@@ Shift+Left,Control+ISO_Left_Tab (Default)'
    )
    kb_move_char_back = Option(
        '-kb-move-char-back', help='Move back one char @@@ Left,Control+b (Default)'
    )
    kb_move_char_forward = Option(
        '-kb-move-char-forward',
        help='Move forward one char @@@ Right,Control+f (Default)'
    )
    kb_move_end = Option('-kb-move-end', help='End of line @@@ Control+e (Default)')
    kb_move_front = Option(
        '-kb-move-front', help='Beginning of line @@@ Control+a (Default)'
    )
    kb_move_word_back = Option(
        '-kb-move-word-back', help='Move back one word @@@ Alt+b (Default)'
    )
    kb_move_word_forward = Option(
        '-kb-move-word-forward', help='Move forward one word @@@ Alt+f (Default)'
    )
    kb_page_next = Option(
        '-kb-page-next', help='Go to the next page @@@ Page_Down (Default)'
    )
    kb_page_prev = Option(
        '-kb-page-prev', help='Go to the previous page @@@ Page_Up (Default)'
    )
    kb_primary_paste = Option(
        '-kb-primary-paste',
        help='Paste primary selection @@@ Control+V,Shift+Insert (Default)'
    )
    kb_remove_char_back = Option(
        '-kb-remove-char-back',
        help='Delete previous char @@@ BackSpace,Control+h (Default)'
    )
    kb_remove_char_forward = Option(
        '-kb-remove-char-forward', help='Delete next char @@@ Delete,Control+d (Default)'
    )
    kb_remove_to_eol = Option(
        '-kb-remove-to-eol', help='Delete till the end of line @@@ Control+k (Default)'
    )
    kb_remove_to_sol = Option(
        '-kb-remove-to-sol', help='Delete till the start of line @@@ Control+u (Default)'
    )
    kb_remove_word_back = Option(
        '-kb-remove-word-back',
        help='Delete previous word @@@ Control+Alt+h,Control+BackSpace (Default)'
    )
    kb_remove_word_forward = Option(
        '-kb-remove-word-forward', help='Delete next word @@@ Control+Alt+d (Default)'
    )
    kb_row_down = Option(
        '-kb-row-down', help='Select next entry @@@ Down,Control+n (Default)'
    )
    kb_row_first = Option(
        '-kb-row-first', help='Go to the first entry @@@ Home,KP_Home (Default)'
    )
    kb_row_last = Option(
        '-kb-row-last', help='Go to the last entry @@@ End,KP_End (Default)'
    )
    kb_row_left = Option(
        '-kb-row-left', help='Go to the previous column @@@ Control+Page_Up (Default)'
    )
    kb_row_right = Option(
        '-kb-row-right', help='Go to the next column @@@ Control+Page_Down (Default)'
    )
    kb_row_select = Option(
        '-kb-row-select',
        help='Set selected item as input text @@@ Control+space (Default)'
    )
    kb_row_tab = Option(
        '-kb-row-tab',
        help='Go to next row, if one left, accept it, if no left next mode. @@@ Tab (Default)')
    kb_row_up = Option(
        '-kb-row-up',
        help='Select previous entry @@@ Up,Control+p,ISO_Left_Tab (Default)'
    )
    kb_screenshot = Option(
        '-kb-screenshot', help='Take a screenshot of the rofi window @@@ Alt+S (Default)'
    )
    kb_secondary_paste = Option(
        '-kb-secondary-paste', help='Paste clipboard @@@ Control+v,Insert (Default)'
    )
    kb_select_1 = Option('-kb-select-1', help='Select row 1 @@@ Super+1 (Default)')
    kb_select_10 = Option('-kb-select-10', help='Select row 10 @@@ Super+0 (Default)')
    kb_select_2 = Option('-kb-select-2', help='Select row 2 @@@ Super+2 (Default)')
    kb_select_3 = Option('-kb-select-3', help='Select row 3 @@@ Super+3 (Default)')
    kb_select_4 = Option('-kb-select-4', help='Select row 4 @@@ Super+4 (Default)')
    kb_select_5 = Option('-kb-select-5', help='Select row 5 @@@ Super+5 (Default)')
    kb_select_6 = Option('-kb-select-6', help='Select row 6 @@@ Super+6 (Default)')
    kb_select_7 = Option('-kb-select-7', help='Select row 7 @@@ Super+7 (Default)')
    kb_select_8 = Option('-kb-select-8', help='Select row 8 @@@ Super+8 (Default)')
    kb_select_9 = Option('-kb-select-9', help='Select row 9 @@@ Super+9 (Default)')
    kb_toggle_case_sensitivity = Option(
        '-kb-toggle-case-sensitivity',
        help='Toggle case sensitivity @@@ grave,dead_grave (Default)'
    )
    kb_toggle_sort = Option('-kb-toggle-sort', help='Toggle sort @@@ Alt+grave (Default)')
    l = Option('-l', help='Number of rows to display')
    levenshtein_sort = Flag(
        '-levenshtein-sort',
        help='Use levenshtein sorting also for fuzzy matching @@@ False (Default)'
    )
    line_margin = Option(
        '-line-margin', help='Margin between rows *DEPRECATED* @@@ 2 (Default)'
    )
    line_padding = Option(
        '-line-padding', help='Padding within rows *DEPRECATED* @@@ 1 (Default)'
    )
    lines = Option('-lines', help='Number of lines @@@ 15 (Default)')
    location = Option('-location', help='Location on screen @@@ 0 (Default)')
    m = Option('-m', help='Monitor id to show on @@@ -5 (Default)')
    markup = Flag('-markup', help='Enable pango markup where possible.')
    markup_rows = Flag(
        '-markup-rows', help='Allow and render pango markup as input data.'
    )
    matching = Option(
        '-matching',
        help='Set the matching algorithm. (normal, regex, glob, fuzzy) @@@ normal (Default)')
    max_history_size = Option(
        '-max-history-size',
        help='Max history size (WARNING: can cause slowdowns when set to high). @@@ 25 (Default)')
    me_accept_custom = Option(
        '-me-accept-custom',
        help='Accept hovered row with custom action @@@ Control+MouseDPrimary (Default)'
    )
    me_accept_entry = Option(
        '-me-accept-entry', help='Accept hovered row @@@ MouseDPrimary (Default)'
    )
    me_select_entry = Option(
        '-me-select-entry', help='Select hovered row @@@ MousePrimary (Default)'
    )
    mesg = Option(
        '-mesg', help='Print a small user message under the prompt (uses pango markup)'
    )
    ml_row_down = Option(
        '-ml-row-down', help='Select next entry @@@ ScrollDown (Default)'
    )
    ml_row_left = Option(
        '-ml-row-left', help='Go to the previous column @@@ ScrollLeft (Default)'
    )
    ml_row_right = Option(
        '-ml-row-right', help='Go to the next column @@@ ScrollRight (Default)'
    )
    ml_row_up = Option('-ml-row-up', help='Select previous entry @@@ ScrollUp (Default)')
    modi = Option('-modi', help='Enabled modi @@@ window,run,ssh (Default)')
    no_auto_select = Flag(
        '-no-auto-select', help='Enable auto select mode @@@ False (Default)'
    )
    no_case_sensitive = Flag(
        '-no-case-sensitive', help='Set case-sensitivity @@@ False (Default)'
    )
    no_click_to_exit = Flag(
        '-no-click-to-exit', help='Click outside the window to exit @@@ True (Default)'
    )
    no_combi_hide_mode_prefix = Flag(
        '-no-combi-hide-mode-prefix',
        help='Hide the prefix mode prefix on the combi view. @@@ False (Default)'
    )
    no_config = Flag('-no-config', help='Do not load configuration, use default values.')
    no_custom = Flag('-no-custom', help="Don't accept custom entry")
    no_cycle = Flag('-no-cycle', help='Cycle through the results list @@@ True (Default)')
    no_disable_history = Flag(
        '-no-disable-history', help='Disable history in run/ssh @@@ False (Default)'
    )
    no_fake_transparency = Flag(
        '-no-fake-transparency',
        help='Fake transparency *DEPRECATED* @@@ False (Default)'
    )
    no_fixed_num_lines = Flag(
        '-no-fixed-num-lines', help='Always show number of lines @@@ True (Default)'
    )
    no_fullscreen = Flag('-no-fullscreen', help='Fullscreen @@@ False (Default)')
    no_hide_scrollbar = Flag(
        '-no-hide-scrollbar', help='Hide scroll-bar *DEPRECATED* @@@ False (Default)'
    )
    no_lazy_grab = Flag(
        '-no-lazy-grab',
        help='Disable lazy grab that, when fail to grab keyboard, does not block but retry later.'
    )
    no_levenshtein_sort = Flag(
        '-no-levenshtein-sort',
        help='Use levenshtein sorting also for fuzzy matching @@@ False (Default)'
    )
    no_parse_hosts = Flag(
        '-no-parse-hosts', help='Parse hosts file for ssh mode @@@ False (Default)'
    )
    no_parse_known_hosts = Flag(
        '-no-parse-known-hosts',
        help='Parse known_hosts file for ssh mode @@@ True (Default)'
    )
    no_plugins = Flag('-no-plugins', help='Disable loading of external plugins.')
    no_show_icons = Flag(
        '-no-show-icons', help='Whether to load and show icons @@@ False (Default)'
    )
    no_show_match = Flag(
        '-no-show-match',
        help='Indicate how it match by underlining it. @@@ True (Default)'
    )
    no_sidebar_mode = Flag(
        '-no-sidebar-mode', help='Enable sidebar-mode @@@ False (Default)'
    )
    no_sort = Flag('-no-sort', help='Use sorting @@@ False (Default)')
    no_tokenize = Flag('-no-tokenize', help='Tokenize input string @@@ True (Default)')
    normal_window = Flag(
        '-normal-window', help='In dmenu mode, behave as a normal window. (experimental)'
    )
    only_match = Flag('-only-match', help='Force selection or custom entry')
    p = Option('-p', help='Prompt to display left of entry field')
    padding = Option('-padding', help='Padding @@@ 5 (Default)')
    parse_hosts = Flag(
        '-parse-hosts', help='Parse hosts file for ssh mode @@@ False (Default)'
    )
    parse_known_hosts = Flag(
        '-parse-known-hosts',
        help='Parse known_hosts file for ssh mode @@@ True (Default)'
    )
    password = Flag(
        '-password', help="Do not show what the user inputs. Show '*' instead."
    )
    pid = Option('-pid', help='Pidfile location @@@ /run/user/1001/rofi.pid (Default)')
    plugin_path = Flag('-plugin-path', help='Directory used to search for rofi plugins.')
    run_command = Option(
        '-run-command', help='Run command to execute @@@ {cmd} (Default)'
    )
    run_list_command = Option(
        '-run-list-command', help='Command to get extra run targets @@@  (Default)'
    )
    run_shell_command = Option(
        '-run-shell-command',
        help='Run command to execute that runs in shell @@@ {terminal} -e {cmd} (Default)'
    )
    scroll_method = Option(
        '-scroll-method', help='Scrolling method. (0: Page, 1: Centered) @@@ 0 (Default)'
    )
    scrollbar_width = Option(
        '-scrollbar-width', help='Scrollbar width *DEPRECATED* @@@ 8 (Default)'
    )
    select = Option('-select', help='Select the first row that matches')
    selected_row = Option('-selected-row', help='Select row')
    sep = Option('-sep', default_value='\x00')
    separator_style = Option(
        '-separator-style',
        help='Separator style (none, dash, solid) *DEPRECATED* @@@ solid (XResources)'
    )
    show = Option(
        '-show', help="Show the mode 'mode' and exit. The mode has to be enabled."
    )
    show_icons = Flag(
        '-show-icons', help='Whether to load and show icons @@@ False (Default)'
    )
    show_match = Flag(
        '-show-match', help='Indicate how it match by underlining it. @@@ True (Default)'
    )
    sidebar_mode = Flag('-sidebar-mode', help='Enable sidebar-mode @@@ False (Default)')
    sort = Flag('-sort', help='Use sorting @@@ False (Default)')
    ssh_client = Option('-ssh-client', help='Ssh client to use @@@ ssh (Default)')
    ssh_command = Option(
        '-ssh-command',
        help='Ssh command to execute @@@ {terminal} -e {ssh-client} {host} (Default)'
    )
    sync = Flag(
        '-sync', help='Force dmenu to first read all input data, then show dialog.'
    )
    terminal = Option(
        '-terminal', help='Terminal to use @@@ rofi-sensible-terminal (Default)'
    )
    theme = Option('-theme', help='New style theme file @@@ (unset) (Default)')
    threads = Option(
        '-threads', help='Threads to use for string matching @@@ 0 (Default)'
    )
    tokenize = Flag('-tokenize', help='Tokenize input string @@@ True (Default)')
    u = Option('-u', help='List of row indexes to mark urgent')
    version = Flag('-version', help='Print the version number and exit.')
    w = Flag(
        '-w',
        help='windowid                            Position over window with X11 windowid.'
    )
    width = Option('-width', help='Window width @@@ 50 (Default)')
    window_command = Option(
        '-window-command',
        help='Command executed on accep-entry-custom for window modus @@@ xkill -id {window} (Default)'
    )
    window_format = Option(
        '-window-format',
        help='Window Format. w (desktop name), t (title), n (name), r (role), c (class) *DEPRECATED* @@@ {w}    {i}{c}   {t} (Default)'
    )
    window_match_fields = Option(
        '-window-match-fields',
        help='Window fields to match in window mode @@@ all (Default)'
    )
    xoffset = Option('-xoffset', help='X-offset relative to location @@@ 0 (Default)')
    yoffset = Option('-yoffset', help='Y-offset relative to location @@@ 0 (Default)')
