mirror of
https://github.com/lbonn/rofi
synced 2024-11-15 00:27:36 +00:00
Improve error message when called with -show
This commit is contained in:
parent
d31fc5c8bc
commit
9ae1344d56
10 changed files with 223 additions and 209 deletions
|
@ -34,11 +34,11 @@ Settings config = {
|
|||
/** -modi */
|
||||
.modi = "window,run,ssh",
|
||||
/** The width of the switcher. (0100 in % > 100 in pixels) */
|
||||
.menu_width = 50,
|
||||
.menu_width = 50,
|
||||
/** Maximum number of options to show. */
|
||||
.menu_lines = 15,
|
||||
.menu_lines = 15,
|
||||
/** Number of columns */
|
||||
.menu_columns = 1,
|
||||
.menu_columns = 1,
|
||||
/** Font */
|
||||
.menu_font = "mono 12",
|
||||
|
||||
|
@ -69,9 +69,9 @@ Settings config = {
|
|||
*/
|
||||
.location = WL_CENTER,
|
||||
/** Y offset */
|
||||
.y_offset = 0,
|
||||
.y_offset = 0,
|
||||
/** X offset */
|
||||
.x_offset = 0,
|
||||
.x_offset = 0,
|
||||
/** Always show config.menu_lines lines, even if less lines are available */
|
||||
.fixed_num_lines = TRUE,
|
||||
/** Do not use history */
|
||||
|
@ -85,7 +85,7 @@ Settings config = {
|
|||
/** Cycle through in the element list */
|
||||
.cycle = TRUE,
|
||||
/** Height of an element in #chars */
|
||||
.element_height = 1,
|
||||
.element_height = 1,
|
||||
/** Sidebar mode, show the modi */
|
||||
.sidebar_mode = FALSE,
|
||||
/** auto select */
|
||||
|
@ -102,13 +102,13 @@ Settings config = {
|
|||
/** Monitor */
|
||||
.monitor = "-5",
|
||||
/** Set filter */
|
||||
.filter = NULL,
|
||||
.fullscreen = FALSE,
|
||||
.dpi = -1,
|
||||
.threads = 0,
|
||||
.scroll_method = 0,
|
||||
.window_format = "{w} {c} {t}",
|
||||
.click_to_exit = TRUE,
|
||||
.show_match = TRUE,
|
||||
.theme = NULL,
|
||||
.filter = NULL,
|
||||
.fullscreen = FALSE,
|
||||
.dpi = -1,
|
||||
.threads = 0,
|
||||
.scroll_method = 0,
|
||||
.window_format = "{w} {c} {t}",
|
||||
.click_to_exit = TRUE,
|
||||
.show_match = TRUE,
|
||||
.theme = NULL,
|
||||
};
|
||||
|
|
|
@ -1,87 +1,87 @@
|
|||
#ifndef ROFI_DEFAULT_THEME
|
||||
#define ROFI_DEFAULT_THEME
|
||||
#define ROFI_DEFAULT_THEME
|
||||
|
||||
const char *default_theme =
|
||||
"* {"
|
||||
" spacing: 2;"
|
||||
" background: #FFFDF6E3;"
|
||||
"}"
|
||||
"#window {"
|
||||
" border: 1;"
|
||||
" foreground: #FF002B36;"
|
||||
" padding: 5;"
|
||||
" background: @background;"
|
||||
"}"
|
||||
"#window.mainbox {"
|
||||
" border: 0;"
|
||||
" padding: 0;"
|
||||
"}"
|
||||
"#window.mainbox.message.box {"
|
||||
" border: 1px dash 0px 0px ;"
|
||||
" padding: 2px 0px 0px ;"
|
||||
"}"
|
||||
"#window.mainbox.message.normal {"
|
||||
" foreground: #FF002B36;"
|
||||
"}"
|
||||
"#window.mainbox.listview {"
|
||||
" fixed-height: 0;"
|
||||
" border: 1px dash 0px 0px ;"
|
||||
" columns: 1;"
|
||||
" padding: 2px 0px 0px ;"
|
||||
"}"
|
||||
"#window.mainbox.listview.element {"
|
||||
" border: 0;"
|
||||
"}"
|
||||
"#window.mainbox.listview.element.normal.normal {"
|
||||
" foreground: #FF002B36;"
|
||||
" background: #FFFDF6E3;"
|
||||
"}"
|
||||
"#window.mainbox.listview.element.normal.urgent {"
|
||||
" foreground: #FFDC322F;"
|
||||
" background: #FFFDF6E3;"
|
||||
"}"
|
||||
"#window.mainbox.listview.element.normal.active {"
|
||||
" foreground: #FF268BD2;"
|
||||
" background: #FFFDF6E3;"
|
||||
"}"
|
||||
"#window.mainbox.listview.element.selected.normal {"
|
||||
" foreground: #FFEEE8D5;"
|
||||
" background: #FF586E75;"
|
||||
"}"
|
||||
"#window.mainbox.listview.element.selected.urgent {"
|
||||
" foreground: #FFFDF6E3;"
|
||||
" background: #FFDC322F;"
|
||||
"}"
|
||||
"#window.mainbox.listview.element.selected.active {"
|
||||
" foreground: #FFFDF6E3;"
|
||||
" background: #FF268BD2;"
|
||||
"}"
|
||||
"#window.mainbox.listview.element.alternate.normal {"
|
||||
" foreground: #FF002B36;"
|
||||
" background: #FFEEE8D5;"
|
||||
"}"
|
||||
"#window.mainbox.listview.element.alternate.urgent {"
|
||||
" foreground: #FFDC322F;"
|
||||
" background: #FFEEE8D5;"
|
||||
"}"
|
||||
"#window.mainbox.listview.element.alternate.active {"
|
||||
" foreground: #FF268BD2;"
|
||||
" background: #FFEEE8D5;"
|
||||
"}"
|
||||
"#window.mainbox.listview.scrollbar {"
|
||||
" border: 0;"
|
||||
" padding: 0;"
|
||||
"}"
|
||||
"#window.mainbox.sidebar.box {"
|
||||
" border: 1px dash 0px 0px ;"
|
||||
"}"
|
||||
"#window.mainbox.inputbar {"
|
||||
" spacing: 0;"
|
||||
"}"
|
||||
"#window.mainbox.inputbar.box {"
|
||||
"}"
|
||||
"#window.mainbox.inputbar.normal {"
|
||||
" foreground: #FF002B36;"
|
||||
" background: @background;"
|
||||
"}";
|
||||
"* {"
|
||||
" spacing: 2;"
|
||||
" background: #FFFDF6E3;"
|
||||
"}"
|
||||
"#window {"
|
||||
" border: 1;"
|
||||
" foreground: #FF002B36;"
|
||||
" padding: 5;"
|
||||
" background: @background;"
|
||||
"}"
|
||||
"#window.mainbox {"
|
||||
" border: 0;"
|
||||
" padding: 0;"
|
||||
"}"
|
||||
"#window.mainbox.message.box {"
|
||||
" border: 1px dash 0px 0px ;"
|
||||
" padding: 2px 0px 0px ;"
|
||||
"}"
|
||||
"#window.mainbox.message.normal {"
|
||||
" foreground: #FF002B36;"
|
||||
"}"
|
||||
"#window.mainbox.listview {"
|
||||
" fixed-height: 0;"
|
||||
" border: 1px dash 0px 0px ;"
|
||||
" columns: 1;"
|
||||
" padding: 2px 0px 0px ;"
|
||||
"}"
|
||||
"#window.mainbox.listview.element {"
|
||||
" border: 0;"
|
||||
"}"
|
||||
"#window.mainbox.listview.element.normal.normal {"
|
||||
" foreground: #FF002B36;"
|
||||
" background: #FFFDF6E3;"
|
||||
"}"
|
||||
"#window.mainbox.listview.element.normal.urgent {"
|
||||
" foreground: #FFDC322F;"
|
||||
" background: #FFFDF6E3;"
|
||||
"}"
|
||||
"#window.mainbox.listview.element.normal.active {"
|
||||
" foreground: #FF268BD2;"
|
||||
" background: #FFFDF6E3;"
|
||||
"}"
|
||||
"#window.mainbox.listview.element.selected.normal {"
|
||||
" foreground: #FFEEE8D5;"
|
||||
" background: #FF586E75;"
|
||||
"}"
|
||||
"#window.mainbox.listview.element.selected.urgent {"
|
||||
" foreground: #FFFDF6E3;"
|
||||
" background: #FFDC322F;"
|
||||
"}"
|
||||
"#window.mainbox.listview.element.selected.active {"
|
||||
" foreground: #FFFDF6E3;"
|
||||
" background: #FF268BD2;"
|
||||
"}"
|
||||
"#window.mainbox.listview.element.alternate.normal {"
|
||||
" foreground: #FF002B36;"
|
||||
" background: #FFEEE8D5;"
|
||||
"}"
|
||||
"#window.mainbox.listview.element.alternate.urgent {"
|
||||
" foreground: #FFDC322F;"
|
||||
" background: #FFEEE8D5;"
|
||||
"}"
|
||||
"#window.mainbox.listview.element.alternate.active {"
|
||||
" foreground: #FF268BD2;"
|
||||
" background: #FFEEE8D5;"
|
||||
"}"
|
||||
"#window.mainbox.listview.scrollbar {"
|
||||
" border: 0;"
|
||||
" padding: 0;"
|
||||
"}"
|
||||
"#window.mainbox.sidebar.box {"
|
||||
" border: 1px dash 0px 0px ;"
|
||||
"}"
|
||||
"#window.mainbox.inputbar {"
|
||||
" spacing: 0;"
|
||||
"}"
|
||||
"#window.mainbox.inputbar.box {"
|
||||
"}"
|
||||
"#window.mainbox.inputbar.normal {"
|
||||
" foreground: #FF002B36;"
|
||||
" background: @background;"
|
||||
"}";
|
||||
#endif
|
||||
|
|
|
@ -104,7 +104,7 @@ typedef char* ( *_mode_preprocess_input )( Mode *sw, const char *input );
|
|||
*
|
||||
* @returns the (valid pango markup) message to display.
|
||||
*/
|
||||
typedef char * (*_mode_get_message )( const Mode *sw );
|
||||
typedef char * ( *_mode_get_message )( const Mode *sw );
|
||||
|
||||
/**
|
||||
* Structure defining a switcher.
|
||||
|
|
|
@ -45,16 +45,16 @@ typedef struct
|
|||
*/
|
||||
typedef enum
|
||||
{
|
||||
TB_AUTOHEIGHT = 1 << 0,
|
||||
TB_AUTOWIDTH = 1 << 1,
|
||||
TB_LEFT = 1 << 16,
|
||||
TB_RIGHT = 1 << 17,
|
||||
TB_CENTER = 1 << 18,
|
||||
TB_EDITABLE = 1 << 19,
|
||||
TB_MARKUP = 1 << 20,
|
||||
TB_WRAP = 1 << 21,
|
||||
TB_PASSWORD = 1 << 22,
|
||||
TB_INDICATOR = 1 << 23,
|
||||
TB_AUTOHEIGHT = 1 << 0,
|
||||
TB_AUTOWIDTH = 1 << 1,
|
||||
TB_LEFT = 1 << 16,
|
||||
TB_RIGHT = 1 << 17,
|
||||
TB_CENTER = 1 << 18,
|
||||
TB_EDITABLE = 1 << 19,
|
||||
TB_MARKUP = 1 << 20,
|
||||
TB_WRAP = 1 << 21,
|
||||
TB_PASSWORD = 1 << 22,
|
||||
TB_INDICATOR = 1 << 23,
|
||||
} TextboxFlags;
|
||||
/**
|
||||
* Flags indicating current state of the textbox.
|
||||
|
|
|
@ -196,7 +196,6 @@ extern xcb_colormap_t map;
|
|||
*/
|
||||
void x11_create_visual_and_colormap ( void );
|
||||
|
||||
|
||||
/**
|
||||
* Gets a surface containing the background image of the desktop.
|
||||
*
|
||||
|
|
|
@ -206,7 +206,7 @@ static char **read_hosts_file ( char ** retv, unsigned int *length )
|
|||
// Reading one line per time.
|
||||
while ( getline ( &buffer, &buffer_length, fd ) > 0 ) {
|
||||
// Evaluate one line.
|
||||
unsigned int index = 0, ti = 0;
|
||||
unsigned int index = 0, ti = 0;
|
||||
char *token = buffer;
|
||||
|
||||
// Tokenize it.
|
||||
|
|
|
@ -255,7 +255,7 @@ GRegex **tokenize ( const char *input, int case_sensitive )
|
|||
}
|
||||
|
||||
char *saveptr = NULL, *token;
|
||||
GRegex **retv = NULL;
|
||||
GRegex **retv = NULL;
|
||||
if ( !config.tokenize ) {
|
||||
retv = g_malloc0 ( sizeof ( GRegex* ) * 2 );
|
||||
retv[0] = (GRegex *) create_regex ( input, case_sensitive );
|
||||
|
@ -866,8 +866,8 @@ int rofi_scorer_fuzzy_evaluate ( const char *pattern, glong plen, const char *st
|
|||
// uleft: value of the upper left cell; ulefts: maximum value of uleft and cells on the left. The arbitrary initial
|
||||
// values suppress warnings.
|
||||
int uleft = 0, ulefts = 0, left, lefts;
|
||||
const gchar *pit = pattern, *sit;
|
||||
enum CharClass prev = NON_WORD, cur;
|
||||
const gchar *pit = pattern, *sit;
|
||||
enum CharClass prev = NON_WORD, cur;
|
||||
for ( si = 0, sit = str; si < slen; si++, sit = g_utf8_next_char ( sit ) ) {
|
||||
cur = rofi_scorer_get_character_class ( g_utf8_get_char ( sit ) );
|
||||
score[si] = rofi_scorer_get_score_for ( prev, cur );
|
||||
|
|
128
source/keyb.c
128
source/keyb.c
|
@ -37,70 +37,70 @@ ActionBindingEntry abe[NUM_ABE];
|
|||
*/
|
||||
DefaultBinding bindings[NUM_ABE] =
|
||||
{
|
||||
{ .id = PASTE_PRIMARY, .name = "kb-primary-paste", .keybinding = "Control+V,Shift+Insert", .comment = "Paste primary selection" },
|
||||
{ .id = PASTE_SECONDARY, .name = "kb-secondary-paste", .keybinding = "Control+v,Insert", .comment = "Paste clipboard" },
|
||||
{ .id = CLEAR_LINE, .name = "kb-clear-line", .keybinding = "Control+w", .comment = "Clear input line" },
|
||||
{ .id = MOVE_FRONT, .name = "kb-move-front", .keybinding = "Control+a", .comment = "Beginning of line" },
|
||||
{ .id = MOVE_END, .name = "kb-move-end", .keybinding = "Control+e", .comment = "End of line" },
|
||||
{ .id = MOVE_WORD_BACK, .name = "kb-move-word-back", .keybinding = "Alt+b", .comment = "Move back one word" },
|
||||
{ .id = MOVE_WORD_FORWARD, .name = "kb-move-word-forward", .keybinding = "Alt+f", .comment = "Move forward one word" },
|
||||
{ .id = MOVE_CHAR_BACK, .name = "kb-move-char-back", .keybinding = "Left,Control+b", .comment = "Move back one char" },
|
||||
{ .id = MOVE_CHAR_FORWARD, .name = "kb-move-char-forward", .keybinding = "Right,Control+f", .comment = "Move forward one char" },
|
||||
{ .id = REMOVE_WORD_BACK, .name = "kb-remove-word-back", .keybinding = "Control+Alt+h,Control+BackSpace", .comment = "Delete previous word" },
|
||||
{ .id = REMOVE_WORD_FORWARD, .name = "kb-remove-word-forward", .keybinding = "Control+Alt+d", .comment = "Delete next word" },
|
||||
{ .id = REMOVE_CHAR_FORWARD, .name = "kb-remove-char-forward", .keybinding = "Delete,Control+d", .comment = "Delete next char" },
|
||||
{ .id = REMOVE_CHAR_BACK, .name = "kb-remove-char-back", .keybinding = "BackSpace,Control+h", .comment = "Delete previous char" },
|
||||
{ .id = REMOVE_TO_EOL, .name = "kb-remove-to-eol", .keybinding = "Control+k", .comment = "Delete till the end of line" },
|
||||
{ .id = REMOVE_TO_SOL, .name = "kb-remove-to-sol", .keybinding = "Control+u", .comment = "Delete till the start of line" },
|
||||
{ .id = ACCEPT_ENTRY, .name = "kb-accept-entry", .keybinding = "Control+j,Control+m,Return,KP_Enter", .comment = "Accept entry" },
|
||||
{ .id = ACCEPT_CUSTOM, .name = "kb-accept-custom", .keybinding = "Control+Return", .comment = "Use entered text as command (in ssh/run modi)" },
|
||||
{ .id = ACCEPT_ALT, .name = "kb-accept-alt", .keybinding = "Shift+Return", .comment = "Use alternate accept command." },
|
||||
{ .id = DELETE_ENTRY, .name = "kb-delete-entry", .keybinding = "Shift+Delete", .comment = "Delete entry from history" },
|
||||
{ .id = MODE_NEXT, .name = "kb-mode-next", .keybinding = "Shift+Right,Control+Tab", .comment = "Switch to the next mode." },
|
||||
{ .id = MODE_PREVIOUS, .name = "kb-mode-previous", .keybinding = "Shift+Left,Control+ISO_Left_Tab", .comment = "Switch to the previous mode." },
|
||||
{ .id = ROW_LEFT, .name = "kb-row-left", .keybinding = "Control+Page_Up", .comment = "Go to the previous column" },
|
||||
{ .id = ROW_RIGHT, .name = "kb-row-right", .keybinding = "Control+Page_Down", .comment = "Go to the next column" },
|
||||
{ .id = ROW_UP, .name = "kb-row-up", .keybinding = "Up,Control+p,ISO_Left_Tab", .comment = "Select previous entry" },
|
||||
{ .id = ROW_DOWN, .name = "kb-row-down", .keybinding = "Down,Control+n", .comment = "Select next entry" },
|
||||
{ .id = ROW_TAB, .name = "kb-row-tab", .keybinding = "Tab", .comment = "Go to next row, if one left, accept it, if no left next mode." },
|
||||
{ .id = PAGE_PREV, .name = "kb-page-prev", .keybinding = "Page_Up", .comment = "Go to the previous page" },
|
||||
{ .id = PAGE_NEXT, .name = "kb-page-next", .keybinding = "Page_Down", .comment = "Go to the next page" },
|
||||
{ .id = ROW_FIRST, .name = "kb-row-first", .keybinding = "Home,KP_Home", .comment = "Go to the first entry" },
|
||||
{ .id = ROW_LAST, .name = "kb-row-last", .keybinding = "End,KP_End", .comment = "Go to the last entry" },
|
||||
{ .id = ROW_SELECT, .name = "kb-row-select", .keybinding = "Control+space", .comment = "Set selected item as input text" },
|
||||
{ .id = SCREENSHOT, .name = "kb-screenshot", .keybinding = "Alt+S", .comment = "Take a screenshot of the rofi window" },
|
||||
{ .id = TOGGLE_CASE_SENSITIVITY, .name = "kb-toggle-case-sensitivity", .keybinding = "grave,dead_grave", .comment = "Toggle case sensitivity" },
|
||||
{ .id = TOGGLE_SORT, .name = "kb-toggle-sort", .keybinding = "Alt+grave", .comment = "Toggle sort" },
|
||||
{ .id = CANCEL, .name = "kb-cancel", .keybinding = "Escape,Control+g,Control+bracketleft", .comment = "Quit rofi" },
|
||||
{ .id = CUSTOM_1, .name = "kb-custom-1", .keybinding = "Alt+1", .comment = "Custom keybinding 1" },
|
||||
{ .id = CUSTOM_2, .name = "kb-custom-2", .keybinding = "Alt+2", .comment = "Custom keybinding 2" },
|
||||
{ .id = CUSTOM_3, .name = "kb-custom-3", .keybinding = "Alt+3", .comment = "Custom keybinding 3" },
|
||||
{ .id = CUSTOM_4, .name = "kb-custom-4", .keybinding = "Alt+4", .comment = "Custom keybinding 4" },
|
||||
{ .id = CUSTOM_5, .name = "kb-custom-5", .keybinding = "Alt+5", .comment = "Custom Keybinding 5" },
|
||||
{ .id = CUSTOM_6, .name = "kb-custom-6", .keybinding = "Alt+6", .comment = "Custom keybinding 6" },
|
||||
{ .id = CUSTOM_7, .name = "kb-custom-7", .keybinding = "Alt+7", .comment = "Custom Keybinding 7" },
|
||||
{ .id = CUSTOM_8, .name = "kb-custom-8", .keybinding = "Alt+8", .comment = "Custom keybinding 8" },
|
||||
{ .id = CUSTOM_9, .name = "kb-custom-9", .keybinding = "Alt+9", .comment = "Custom keybinding 9" },
|
||||
{ .id = CUSTOM_10, .name = "kb-custom-10", .keybinding = "Alt+0", .comment = "Custom keybinding 10" },
|
||||
{ .id = CUSTOM_11, .name = "kb-custom-11", .keybinding = "Alt+exclam", .comment = "Custom keybinding 11" },
|
||||
{ .id = CUSTOM_12, .name = "kb-custom-12", .keybinding = "Alt+at", .comment = "Custom keybinding 12" },
|
||||
{ .id = CUSTOM_13, .name = "kb-custom-13", .keybinding = "Alt+numbersign", .comment = "Csutom keybinding 13" },
|
||||
{ .id = CUSTOM_14, .name = "kb-custom-14", .keybinding = "Alt+dollar", .comment = "Custom keybinding 14" },
|
||||
{ .id = CUSTOM_15, .name = "kb-custom-15", .keybinding = "Alt+percent", .comment = "Custom keybinding 15" },
|
||||
{ .id = CUSTOM_16, .name = "kb-custom-16", .keybinding = "Alt+dead_circumflex", .comment = "Custom keybinding 16" },
|
||||
{ .id = CUSTOM_17, .name = "kb-custom-17", .keybinding = "Alt+ampersand", .comment = "Custom keybinding 17" },
|
||||
{ .id = CUSTOM_18, .name = "kb-custom-18", .keybinding = "Alt+asterisk", .comment = "Custom keybinding 18" },
|
||||
{ .id = CUSTOM_19, .name = "kb-custom-19", .keybinding = "Alt+parenleft", .comment = "Custom Keybinding 19" },
|
||||
{ .id = SELECT_ELEMENT_1, .name = "kb-select-1", .keybinding = "Super+1", .comment = "Select row 1" },
|
||||
{ .id = SELECT_ELEMENT_2, .name = "kb-select-2", .keybinding = "Super+2", .comment = "Select row 2" },
|
||||
{ .id = SELECT_ELEMENT_3, .name = "kb-select-3", .keybinding = "Super+3", .comment = "Select row 3" },
|
||||
{ .id = SELECT_ELEMENT_4, .name = "kb-select-4", .keybinding = "Super+4", .comment = "Select row 4" },
|
||||
{ .id = SELECT_ELEMENT_5, .name = "kb-select-5", .keybinding = "Super+5", .comment = "Select row 5" },
|
||||
{ .id = SELECT_ELEMENT_6, .name = "kb-select-6", .keybinding = "Super+6", .comment = "Select row 6" },
|
||||
{ .id = SELECT_ELEMENT_7, .name = "kb-select-7", .keybinding = "Super+7", .comment = "Select row 7" },
|
||||
{ .id = SELECT_ELEMENT_8, .name = "kb-select-8", .keybinding = "Super+8", .comment = "Select row 8" },
|
||||
{ .id = SELECT_ELEMENT_9, .name = "kb-select-9", .keybinding = "Super+9", .comment = "Select row 9" },
|
||||
{ .id = SELECT_ELEMENT_10, .name = "kb-select-10", .keybinding = "Super+0", .comment = "Select row 10" },
|
||||
{ .id = PASTE_PRIMARY, .name = "kb-primary-paste", .keybinding = "Control+V,Shift+Insert", .comment = "Paste primary selection" },
|
||||
{ .id = PASTE_SECONDARY, .name = "kb-secondary-paste", .keybinding = "Control+v,Insert", .comment = "Paste clipboard" },
|
||||
{ .id = CLEAR_LINE, .name = "kb-clear-line", .keybinding = "Control+w", .comment = "Clear input line" },
|
||||
{ .id = MOVE_FRONT, .name = "kb-move-front", .keybinding = "Control+a", .comment = "Beginning of line" },
|
||||
{ .id = MOVE_END, .name = "kb-move-end", .keybinding = "Control+e", .comment = "End of line" },
|
||||
{ .id = MOVE_WORD_BACK, .name = "kb-move-word-back", .keybinding = "Alt+b", .comment = "Move back one word" },
|
||||
{ .id = MOVE_WORD_FORWARD, .name = "kb-move-word-forward", .keybinding = "Alt+f", .comment = "Move forward one word" },
|
||||
{ .id = MOVE_CHAR_BACK, .name = "kb-move-char-back", .keybinding = "Left,Control+b", .comment = "Move back one char" },
|
||||
{ .id = MOVE_CHAR_FORWARD, .name = "kb-move-char-forward", .keybinding = "Right,Control+f", .comment = "Move forward one char" },
|
||||
{ .id = REMOVE_WORD_BACK, .name = "kb-remove-word-back", .keybinding = "Control+Alt+h,Control+BackSpace", .comment = "Delete previous word" },
|
||||
{ .id = REMOVE_WORD_FORWARD, .name = "kb-remove-word-forward", .keybinding = "Control+Alt+d", .comment = "Delete next word" },
|
||||
{ .id = REMOVE_CHAR_FORWARD, .name = "kb-remove-char-forward", .keybinding = "Delete,Control+d", .comment = "Delete next char" },
|
||||
{ .id = REMOVE_CHAR_BACK, .name = "kb-remove-char-back", .keybinding = "BackSpace,Control+h", .comment = "Delete previous char" },
|
||||
{ .id = REMOVE_TO_EOL, .name = "kb-remove-to-eol", .keybinding = "Control+k", .comment = "Delete till the end of line" },
|
||||
{ .id = REMOVE_TO_SOL, .name = "kb-remove-to-sol", .keybinding = "Control+u", .comment = "Delete till the start of line" },
|
||||
{ .id = ACCEPT_ENTRY, .name = "kb-accept-entry", .keybinding = "Control+j,Control+m,Return,KP_Enter", .comment = "Accept entry" },
|
||||
{ .id = ACCEPT_CUSTOM, .name = "kb-accept-custom", .keybinding = "Control+Return", .comment = "Use entered text as command (in ssh/run modi)" },
|
||||
{ .id = ACCEPT_ALT, .name = "kb-accept-alt", .keybinding = "Shift+Return", .comment = "Use alternate accept command." },
|
||||
{ .id = DELETE_ENTRY, .name = "kb-delete-entry", .keybinding = "Shift+Delete", .comment = "Delete entry from history" },
|
||||
{ .id = MODE_NEXT, .name = "kb-mode-next", .keybinding = "Shift+Right,Control+Tab", .comment = "Switch to the next mode." },
|
||||
{ .id = MODE_PREVIOUS, .name = "kb-mode-previous", .keybinding = "Shift+Left,Control+ISO_Left_Tab", .comment = "Switch to the previous mode." },
|
||||
{ .id = ROW_LEFT, .name = "kb-row-left", .keybinding = "Control+Page_Up", .comment = "Go to the previous column" },
|
||||
{ .id = ROW_RIGHT, .name = "kb-row-right", .keybinding = "Control+Page_Down", .comment = "Go to the next column" },
|
||||
{ .id = ROW_UP, .name = "kb-row-up", .keybinding = "Up,Control+p,ISO_Left_Tab", .comment = "Select previous entry" },
|
||||
{ .id = ROW_DOWN, .name = "kb-row-down", .keybinding = "Down,Control+n", .comment = "Select next entry" },
|
||||
{ .id = ROW_TAB, .name = "kb-row-tab", .keybinding = "Tab", .comment = "Go to next row, if one left, accept it, if no left next mode." },
|
||||
{ .id = PAGE_PREV, .name = "kb-page-prev", .keybinding = "Page_Up", .comment = "Go to the previous page" },
|
||||
{ .id = PAGE_NEXT, .name = "kb-page-next", .keybinding = "Page_Down", .comment = "Go to the next page" },
|
||||
{ .id = ROW_FIRST, .name = "kb-row-first", .keybinding = "Home,KP_Home", .comment = "Go to the first entry" },
|
||||
{ .id = ROW_LAST, .name = "kb-row-last", .keybinding = "End,KP_End", .comment = "Go to the last entry" },
|
||||
{ .id = ROW_SELECT, .name = "kb-row-select", .keybinding = "Control+space", .comment = "Set selected item as input text" },
|
||||
{ .id = SCREENSHOT, .name = "kb-screenshot", .keybinding = "Alt+S", .comment = "Take a screenshot of the rofi window" },
|
||||
{ .id = TOGGLE_CASE_SENSITIVITY, .name = "kb-toggle-case-sensitivity", .keybinding = "grave,dead_grave", .comment = "Toggle case sensitivity" },
|
||||
{ .id = TOGGLE_SORT, .name = "kb-toggle-sort", .keybinding = "Alt+grave", .comment = "Toggle sort" },
|
||||
{ .id = CANCEL, .name = "kb-cancel", .keybinding = "Escape,Control+g,Control+bracketleft", .comment = "Quit rofi" },
|
||||
{ .id = CUSTOM_1, .name = "kb-custom-1", .keybinding = "Alt+1", .comment = "Custom keybinding 1" },
|
||||
{ .id = CUSTOM_2, .name = "kb-custom-2", .keybinding = "Alt+2", .comment = "Custom keybinding 2" },
|
||||
{ .id = CUSTOM_3, .name = "kb-custom-3", .keybinding = "Alt+3", .comment = "Custom keybinding 3" },
|
||||
{ .id = CUSTOM_4, .name = "kb-custom-4", .keybinding = "Alt+4", .comment = "Custom keybinding 4" },
|
||||
{ .id = CUSTOM_5, .name = "kb-custom-5", .keybinding = "Alt+5", .comment = "Custom Keybinding 5" },
|
||||
{ .id = CUSTOM_6, .name = "kb-custom-6", .keybinding = "Alt+6", .comment = "Custom keybinding 6" },
|
||||
{ .id = CUSTOM_7, .name = "kb-custom-7", .keybinding = "Alt+7", .comment = "Custom Keybinding 7" },
|
||||
{ .id = CUSTOM_8, .name = "kb-custom-8", .keybinding = "Alt+8", .comment = "Custom keybinding 8" },
|
||||
{ .id = CUSTOM_9, .name = "kb-custom-9", .keybinding = "Alt+9", .comment = "Custom keybinding 9" },
|
||||
{ .id = CUSTOM_10, .name = "kb-custom-10", .keybinding = "Alt+0", .comment = "Custom keybinding 10" },
|
||||
{ .id = CUSTOM_11, .name = "kb-custom-11", .keybinding = "Alt+exclam", .comment = "Custom keybinding 11" },
|
||||
{ .id = CUSTOM_12, .name = "kb-custom-12", .keybinding = "Alt+at", .comment = "Custom keybinding 12" },
|
||||
{ .id = CUSTOM_13, .name = "kb-custom-13", .keybinding = "Alt+numbersign", .comment = "Csutom keybinding 13" },
|
||||
{ .id = CUSTOM_14, .name = "kb-custom-14", .keybinding = "Alt+dollar", .comment = "Custom keybinding 14" },
|
||||
{ .id = CUSTOM_15, .name = "kb-custom-15", .keybinding = "Alt+percent", .comment = "Custom keybinding 15" },
|
||||
{ .id = CUSTOM_16, .name = "kb-custom-16", .keybinding = "Alt+dead_circumflex", .comment = "Custom keybinding 16" },
|
||||
{ .id = CUSTOM_17, .name = "kb-custom-17", .keybinding = "Alt+ampersand", .comment = "Custom keybinding 17" },
|
||||
{ .id = CUSTOM_18, .name = "kb-custom-18", .keybinding = "Alt+asterisk", .comment = "Custom keybinding 18" },
|
||||
{ .id = CUSTOM_19, .name = "kb-custom-19", .keybinding = "Alt+parenleft", .comment = "Custom Keybinding 19" },
|
||||
{ .id = SELECT_ELEMENT_1, .name = "kb-select-1", .keybinding = "Super+1", .comment = "Select row 1" },
|
||||
{ .id = SELECT_ELEMENT_2, .name = "kb-select-2", .keybinding = "Super+2", .comment = "Select row 2" },
|
||||
{ .id = SELECT_ELEMENT_3, .name = "kb-select-3", .keybinding = "Super+3", .comment = "Select row 3" },
|
||||
{ .id = SELECT_ELEMENT_4, .name = "kb-select-4", .keybinding = "Super+4", .comment = "Select row 4" },
|
||||
{ .id = SELECT_ELEMENT_5, .name = "kb-select-5", .keybinding = "Super+5", .comment = "Select row 5" },
|
||||
{ .id = SELECT_ELEMENT_6, .name = "kb-select-6", .keybinding = "Super+6", .comment = "Select row 6" },
|
||||
{ .id = SELECT_ELEMENT_7, .name = "kb-select-7", .keybinding = "Super+7", .comment = "Select row 7" },
|
||||
{ .id = SELECT_ELEMENT_8, .name = "kb-select-8", .keybinding = "Super+8", .comment = "Select row 8" },
|
||||
{ .id = SELECT_ELEMENT_9, .name = "kb-select-9", .keybinding = "Super+9", .comment = "Select row 9" },
|
||||
{ .id = SELECT_ELEMENT_10, .name = "kb-select-10", .keybinding = "Super+0", .comment = "Select row 10" },
|
||||
};
|
||||
|
||||
void setup_abe ( void )
|
||||
|
|
|
@ -102,9 +102,14 @@ struct xkb_stuff xkb = {
|
|||
};
|
||||
|
||||
/** Path to the configuration file */
|
||||
char *config_path = NULL;
|
||||
char *config_path = NULL;
|
||||
/** Array holding all activated modi. */
|
||||
Mode **modi = NULL;
|
||||
Mode **modi = NULL;
|
||||
|
||||
/** List of (possibly uninitialized) modi's */
|
||||
Mode ** available_modi = NULL;
|
||||
/** Length of #num_available_modi */
|
||||
unsigned int num_available_modi = 0;
|
||||
/** Number of activated modi in #modi array */
|
||||
unsigned int num_modi = 0;
|
||||
/** Current selected mode */
|
||||
|
@ -334,6 +339,41 @@ static void help ( G_GNUC_UNUSED int argc, char **argv )
|
|||
}
|
||||
}
|
||||
|
||||
static void help_print_no_arguments ( void )
|
||||
{
|
||||
int is_term = isatty ( fileno ( stdout ) );
|
||||
// Daemon mode
|
||||
fprintf ( stderr, "Rofi is unsure what to show.\n" );
|
||||
fprintf ( stderr, "Please specify the mode you want to show.\n\n" );
|
||||
fprintf ( stderr, " %srofi%s -show %s{mode}%s\n\n",
|
||||
is_term ? color_bold : "", is_term ? color_reset : "",
|
||||
is_term ? color_green : "", is_term ? color_reset : "" );
|
||||
fprintf ( stderr, "The following modi are enabled:\n" );
|
||||
for ( unsigned int j = 0; j < num_modi; j++ ) {
|
||||
fprintf ( stderr, " * %s%s%s\n",
|
||||
is_term ? color_green : "",
|
||||
modi[j]->name,
|
||||
is_term ? color_reset : "" );
|
||||
}
|
||||
fprintf ( stderr, "\nThe following can be enabled:\n" );
|
||||
for ( unsigned int i = 0; i < num_available_modi; i++ ) {
|
||||
gboolean active = FALSE;
|
||||
for ( unsigned int j = 0; j < num_modi; j++ ) {
|
||||
if ( modi[j] == available_modi[i] ) {
|
||||
active = TRUE;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if ( !active ) {
|
||||
fprintf ( stderr, " * %s%s%s\n",
|
||||
is_term ? color_red : "",
|
||||
available_modi[i]->name,
|
||||
is_term ? color_reset : "" );
|
||||
}
|
||||
}
|
||||
fprintf ( stderr, "\nTo activate a mode, add it to the list of modi in the 'modi' setting." );
|
||||
}
|
||||
|
||||
/**
|
||||
* Cleanup globally allocated memory.
|
||||
*/
|
||||
|
@ -407,10 +447,6 @@ static void cleanup ()
|
|||
/**
|
||||
* Collected modi
|
||||
*/
|
||||
/** List of (possibly uninitialized) modi's */
|
||||
Mode ** available_modi = NULL;
|
||||
/** Length of #num_available_modi */
|
||||
unsigned int num_available_modi = 0;
|
||||
|
||||
/**
|
||||
* @param name Search for mode with this name.
|
||||
|
@ -548,7 +584,7 @@ static int add_mode ( const char * token )
|
|||
}
|
||||
else {
|
||||
// Report error, don't continue.
|
||||
fprintf ( stderr, "Invalid script switcher: %s\n", token );
|
||||
fprintf ( stderr, "Invalid script mode: %s\n", token );
|
||||
}
|
||||
}
|
||||
return ( index == num_modi ) ? -1 : (int) index;
|
||||
|
@ -806,27 +842,7 @@ static gboolean startup ( G_GNUC_UNUSED gpointer data )
|
|||
run_switcher ( 0 );
|
||||
}
|
||||
else{
|
||||
// Daemon mode
|
||||
fprintf ( stderr, "Please specify the mode you want to show.\n\n" );
|
||||
fprintf ( stderr, " rofi -show {mode}\n\n");
|
||||
fprintf ( stderr, "The following modi are available:\n" );
|
||||
for ( unsigned int j = 0; j < num_modi; j++ ) {
|
||||
fprintf ( stderr, " * %s\n", modi[j]->name);
|
||||
}
|
||||
fprintf ( stderr, "\nThe following can be enabled:\n" );
|
||||
for ( unsigned int i = 0; i < num_available_modi; i++ ) {
|
||||
gboolean active = FALSE;
|
||||
for ( unsigned int j = 0; j < num_modi; j++ ) {
|
||||
if ( modi[j] == available_modi[i] ){
|
||||
active = TRUE;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if ( ! active ) {
|
||||
fprintf ( stderr, " * %s\n", available_modi[i]->name);
|
||||
}
|
||||
}
|
||||
fprintf ( stderr, "\nTo activate a mode, add it to the list of modi in the 'modi' setting.");
|
||||
help_print_no_arguments ( );
|
||||
|
||||
g_main_loop_quit ( main_loop );
|
||||
}
|
||||
|
@ -1104,8 +1120,8 @@ int main ( int argc, char *argv[] )
|
|||
g_free ( theme_str );
|
||||
}
|
||||
if ( rofi_theme_is_empty ( ) ) {
|
||||
if ( rofi_theme_parse_string ( default_theme ) ){
|
||||
fprintf(stderr, "Failed to parse default theme. Giving up..\n");
|
||||
if ( rofi_theme_parse_string ( default_theme ) ) {
|
||||
fprintf ( stderr, "Failed to parse default theme. Giving up..\n" );
|
||||
rofi_theme = NULL;
|
||||
cleanup ();
|
||||
return EXIT_FAILURE;
|
||||
|
|
|
@ -807,7 +807,6 @@ void x11_create_visual_and_colormap ( void )
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
xcb_window_t xcb_stuff_get_root_window ( xcb_stuff *xcb )
|
||||
{
|
||||
return xcb->screen->root;
|
||||
|
|
Loading…
Reference in a new issue