31 #include "nkutils-bindings.h"
48 { .
id =
PASTE_PRIMARY, .name =
"kb-primary-paste", .binding =
"Control+V,Shift+Insert", .comment =
"Paste primary selection" },
49 { .id =
PASTE_SECONDARY, .name =
"kb-secondary-paste", .binding =
"Control+v,Insert", .comment =
"Paste clipboard" },
50 { .id =
CLEAR_LINE, .name =
"kb-clear-line", .binding =
"Control+w", .comment =
"Clear input line" },
51 { .id =
MOVE_FRONT, .name =
"kb-move-front", .binding =
"Control+a", .comment =
"Beginning of line" },
52 { .id =
MOVE_END, .name =
"kb-move-end", .binding =
"Control+e", .comment =
"End of line" },
53 { .id =
MOVE_WORD_BACK, .name =
"kb-move-word-back", .binding =
"Alt+b,Control+Left", .comment =
"Move back one word" },
54 { .id =
MOVE_WORD_FORWARD, .name =
"kb-move-word-forward", .binding =
"Alt+f,Control+Right", .comment =
"Move forward one word" },
55 { .id =
MOVE_CHAR_BACK, .name =
"kb-move-char-back", .binding =
"Left,Control+b", .comment =
"Move back one char" },
56 { .id =
MOVE_CHAR_FORWARD, .name =
"kb-move-char-forward", .binding =
"Right,Control+f", .comment =
"Move forward one char" },
57 { .id =
REMOVE_WORD_BACK, .name =
"kb-remove-word-back", .binding =
"Control+Alt+h,Control+BackSpace", .comment =
"Delete previous word" },
58 { .id =
REMOVE_WORD_FORWARD, .name =
"kb-remove-word-forward", .binding =
"Control+Alt+d", .comment =
"Delete next word" },
59 { .id =
REMOVE_CHAR_FORWARD, .name =
"kb-remove-char-forward", .binding =
"Delete,Control+d", .comment =
"Delete next char" },
60 { .id =
REMOVE_CHAR_BACK, .name =
"kb-remove-char-back", .binding =
"BackSpace,Shift+BackSpace,Control+h", .comment =
"Delete previous char" },
61 { .id =
REMOVE_TO_EOL, .name =
"kb-remove-to-eol", .binding =
"Control+k", .comment =
"Delete till the end of line" },
62 { .id =
REMOVE_TO_SOL, .name =
"kb-remove-to-sol", .binding =
"Control+u", .comment =
"Delete till the start of line" },
63 { .id =
ACCEPT_ENTRY, .name =
"kb-accept-entry", .binding =
"Control+j,Control+m,Return,KP_Enter", .comment =
"Accept entry" },
64 { .id =
ACCEPT_CUSTOM, .name =
"kb-accept-custom", .binding =
"Control+Return", .comment =
"Use entered text as command (in ssh/run modi)" },
65 { .id =
ACCEPT_ALT, .name =
"kb-accept-alt", .binding =
"Shift+Return", .comment =
"Use alternate accept command." },
66 { .id =
DELETE_ENTRY, .name =
"kb-delete-entry", .binding =
"Shift+Delete", .comment =
"Delete entry from history" },
67 { .id =
MODE_NEXT, .name =
"kb-mode-next", .binding =
"Shift+Right,Control+Tab", .comment =
"Switch to the next mode." },
68 { .id =
MODE_PREVIOUS, .name =
"kb-mode-previous", .binding =
"Shift+Left,Control+ISO_Left_Tab", .comment =
"Switch to the previous mode." },
69 { .id =
ROW_LEFT, .name =
"kb-row-left", .binding =
"Control+Page_Up", .comment =
"Go to the previous column" },
70 { .id =
ROW_RIGHT, .name =
"kb-row-right", .binding =
"Control+Page_Down", .comment =
"Go to the next column" },
71 { .id =
ROW_UP, .name =
"kb-row-up", .binding =
"Up,Control+p,ISO_Left_Tab", .comment =
"Select previous entry" },
72 { .id =
ROW_DOWN, .name =
"kb-row-down", .binding =
"Down,Control+n", .comment =
"Select next entry" },
73 { .id =
ROW_TAB, .name =
"kb-row-tab", .binding =
"Tab", .comment =
"Go to next row, if one left, accept it, if no left next mode." },
74 { .id =
PAGE_PREV, .name =
"kb-page-prev", .binding =
"Page_Up", .comment =
"Go to the previous page" },
75 { .id =
PAGE_NEXT, .name =
"kb-page-next", .binding =
"Page_Down", .comment =
"Go to the next page" },
76 { .id =
ROW_FIRST, .name =
"kb-row-first", .binding =
"Home,KP_Home", .comment =
"Go to the first entry" },
77 { .id =
ROW_LAST, .name =
"kb-row-last", .binding =
"End,KP_End", .comment =
"Go to the last entry" },
78 { .id =
ROW_SELECT, .name =
"kb-row-select", .binding =
"Control+space", .comment =
"Set selected item as input text" },
79 { .id =
SCREENSHOT, .name =
"kb-screenshot", .binding =
"Alt+S", .comment =
"Take a screenshot of the rofi window" },
80 { .id =
CHANGE_ELLIPSIZE, .name =
"kb-ellipsize", .binding =
"Alt+period", .comment =
"Toggle between ellipsize modes for displayed data" },
81 { .id =
TOGGLE_CASE_SENSITIVITY, .name =
"kb-toggle-case-sensitivity", .binding =
"grave,dead_grave", .comment =
"Toggle case sensitivity" },
82 { .id =
TOGGLE_SORT, .name =
"kb-toggle-sort", .binding =
"Alt+grave", .comment =
"Toggle sort" },
83 { .id =
CANCEL, .name =
"kb-cancel", .binding =
"Escape,Control+g,Control+bracketleft", .comment =
"Quit rofi" },
84 { .id =
CUSTOM_1, .name =
"kb-custom-1", .binding =
"Alt+1", .comment =
"Custom keybinding 1" },
85 { .id =
CUSTOM_2, .name =
"kb-custom-2", .binding =
"Alt+2", .comment =
"Custom keybinding 2" },
86 { .id =
CUSTOM_3, .name =
"kb-custom-3", .binding =
"Alt+3", .comment =
"Custom keybinding 3" },
87 { .id =
CUSTOM_4, .name =
"kb-custom-4", .binding =
"Alt+4", .comment =
"Custom keybinding 4" },
88 { .id =
CUSTOM_5, .name =
"kb-custom-5", .binding =
"Alt+5", .comment =
"Custom Keybinding 5" },
89 { .id =
CUSTOM_6, .name =
"kb-custom-6", .binding =
"Alt+6", .comment =
"Custom keybinding 6" },
90 { .id =
CUSTOM_7, .name =
"kb-custom-7", .binding =
"Alt+7", .comment =
"Custom Keybinding 7" },
91 { .id =
CUSTOM_8, .name =
"kb-custom-8", .binding =
"Alt+8", .comment =
"Custom keybinding 8" },
92 { .id =
CUSTOM_9, .name =
"kb-custom-9", .binding =
"Alt+9", .comment =
"Custom keybinding 9" },
93 { .id =
CUSTOM_10, .name =
"kb-custom-10", .binding =
"Alt+0", .comment =
"Custom keybinding 10" },
94 { .id =
CUSTOM_11, .name =
"kb-custom-11", .binding =
"Alt+exclam", .comment =
"Custom keybinding 11" },
95 { .id =
CUSTOM_12, .name =
"kb-custom-12", .binding =
"Alt+at", .comment =
"Custom keybinding 12" },
96 { .id =
CUSTOM_13, .name =
"kb-custom-13", .binding =
"Alt+numbersign", .comment =
"Csutom keybinding 13" },
97 { .id =
CUSTOM_14, .name =
"kb-custom-14", .binding =
"Alt+dollar", .comment =
"Custom keybinding 14" },
98 { .id =
CUSTOM_15, .name =
"kb-custom-15", .binding =
"Alt+percent", .comment =
"Custom keybinding 15" },
99 { .id =
CUSTOM_16, .name =
"kb-custom-16", .binding =
"Alt+dead_circumflex", .comment =
"Custom keybinding 16" },
100 { .id =
CUSTOM_17, .name =
"kb-custom-17", .binding =
"Alt+ampersand", .comment =
"Custom keybinding 17" },
101 { .id =
CUSTOM_18, .name =
"kb-custom-18", .binding =
"Alt+asterisk", .comment =
"Custom keybinding 18" },
102 { .id =
CUSTOM_19, .name =
"kb-custom-19", .binding =
"Alt+parenleft", .comment =
"Custom Keybinding 19" },
103 { .id =
SELECT_ELEMENT_1, .name =
"kb-select-1", .binding =
"Super+1", .comment =
"Select row 1" },
104 { .id =
SELECT_ELEMENT_2, .name =
"kb-select-2", .binding =
"Super+2", .comment =
"Select row 2" },
105 { .id =
SELECT_ELEMENT_3, .name =
"kb-select-3", .binding =
"Super+3", .comment =
"Select row 3" },
106 { .id =
SELECT_ELEMENT_4, .name =
"kb-select-4", .binding =
"Super+4", .comment =
"Select row 4" },
107 { .id =
SELECT_ELEMENT_5, .name =
"kb-select-5", .binding =
"Super+5", .comment =
"Select row 5" },
108 { .id =
SELECT_ELEMENT_6, .name =
"kb-select-6", .binding =
"Super+6", .comment =
"Select row 6" },
109 { .id =
SELECT_ELEMENT_7, .name =
"kb-select-7", .binding =
"Super+7", .comment =
"Select row 7" },
110 { .id =
SELECT_ELEMENT_8, .name =
"kb-select-8", .binding =
"Super+8", .comment =
"Select row 8" },
111 { .id =
SELECT_ELEMENT_9, .name =
"kb-select-9", .binding =
"Super+9", .comment =
"Select row 9" },
112 { .id =
SELECT_ELEMENT_10, .name =
"kb-select-10", .binding =
"Super+0", .comment =
"Select row 10" },
136 for ( gsize i = 0; i < G_N_ELEMENTS (
rofi_bindings ); ++i ) {
150 GError *error = NULL;
151 GString *error_msg = g_string_new (
"" );
152 for ( gsize i = 0; i < G_N_ELEMENTS (
rofi_bindings ); ++i ) {
154 char *keystr = g_strdup ( b->
binding );
158 const char *
const sep =
",";
159 for (
char *entry = strtok_r ( keystr, sep, &sp ); entry != NULL; entry = strtok_r ( NULL, sep, &sp ) ) {
161 char *str = g_markup_printf_escaped (
"Failed to set binding <i>%s</i> for: <i>%s (%s)</i>:\n\t<span size=\"smaller\" style=\"italic\">%s</span>\n",
163 g_string_append ( error_msg, str );
165 g_clear_error ( &error );
171 if ( error_msg->len > 0 ) {
184 g_string_free ( error_msg, TRUE );