forked from speedie/spmenu
add comments to config file for keybinds
This commit is contained in:
parent
ca7955126d
commit
c3b9687e21
|
@ -218,30 +218,35 @@ spmenu = {
|
|||
*
|
||||
* See https://spmenu.speedie.site/index.php/Configurable+keybindings for a list of valid options.
|
||||
*/
|
||||
mouse = ( { click = "clickinput";
|
||||
mouse = ( // Left click on input: Clear the input
|
||||
{ click = "clickinput";
|
||||
modifier = "None";
|
||||
button = "Left Click";
|
||||
function = "clear";
|
||||
argument = "0";
|
||||
},
|
||||
// Left click on prompt: Clear the input
|
||||
{ click = "clickprompt";
|
||||
modifier = "None";
|
||||
button = "Left Click";
|
||||
function = "clear";
|
||||
argument = "0";
|
||||
},
|
||||
// Left click on the mode indicator: Toggle mode
|
||||
{ click = "clickmode";
|
||||
modifier = "None";
|
||||
button = "Left Click";
|
||||
function = "switchmode";
|
||||
argument = "0";
|
||||
},
|
||||
// Click on the match count: Toggle viewing history buffer
|
||||
{ click = "clicknumber";
|
||||
modifier = "None";
|
||||
button = "Left Click";
|
||||
function = "viewhist";
|
||||
argument = "0";
|
||||
},
|
||||
// Left click on an item: Select it
|
||||
{ click = "clickselitem";
|
||||
modifier = "None";
|
||||
button = "Left Click";
|
||||
|
@ -256,366 +261,420 @@ spmenu = {
|
|||
*
|
||||
* See https://spmenu.speedie.site/index.php/Configurable+keybindings for a list of valid options.
|
||||
*/
|
||||
keys = ( { mode = -1;
|
||||
keys = ( // Enter: Select item
|
||||
{ mode = -1;
|
||||
modifier = "None";
|
||||
key = "Enter";
|
||||
function = "selectitem";
|
||||
argument = "+1";
|
||||
},
|
||||
// Shift+Enter: Select input
|
||||
{ mode = -1;
|
||||
modifier = "Shift";
|
||||
key = "Enter";
|
||||
function = "selectitem";
|
||||
argument = "0";
|
||||
},
|
||||
// Tab: Tab complete
|
||||
{ mode = -1;
|
||||
modifier = "None";
|
||||
key = "Tab";
|
||||
function = "complete";
|
||||
argument = "0";
|
||||
},
|
||||
// Ctrl+v: Paste from clipboard
|
||||
{ mode = -1;
|
||||
modifier = "Ctrl";
|
||||
key = "v";
|
||||
function = "paste";
|
||||
argument = "2";
|
||||
},
|
||||
// Ctrl+Shift+v: Paste from selection
|
||||
{ mode = -1;
|
||||
modifier = "Ctrl+Shift";
|
||||
key = "v";
|
||||
function = "paste";
|
||||
argument = "1";
|
||||
},
|
||||
// Backspace: Backspace
|
||||
{ mode = -1;
|
||||
modifier = "None";
|
||||
key = "Backspace";
|
||||
function = "backspace";
|
||||
argument = "0";
|
||||
},
|
||||
// Ctrl+Backspace: Delete word
|
||||
{ mode = -1;
|
||||
modifier = "Ctrl";
|
||||
key = "Backspace";
|
||||
function = "deleteword";
|
||||
argument = "0";
|
||||
},
|
||||
// Ctrl+Left: Move caret (cursor) one word to the left
|
||||
{ mode = -1;
|
||||
modifier = "Ctrl";
|
||||
key = "Left";
|
||||
function = "moveword";
|
||||
argument = "-1";
|
||||
},
|
||||
// Ctrl+Right: Move caret (cursor) one word to the right
|
||||
{ mode = -1;
|
||||
modifier = "Ctrl";
|
||||
key = "Right";
|
||||
function = "moveword";
|
||||
argument = "+1";
|
||||
},
|
||||
// Left: Move caret (cursor) one character to the left
|
||||
{ mode = -1;
|
||||
modifier = "None";
|
||||
key = "Left";
|
||||
function = "movecursor";
|
||||
argument = "-1";
|
||||
},
|
||||
// Right: Move caret (cursor) one character to the right
|
||||
{ mode = -1;
|
||||
modifier = "None";
|
||||
key = "Right";
|
||||
function = "movecursor";
|
||||
argument = "+1";
|
||||
},
|
||||
// Ctrl+Shift+p: Open profile menu
|
||||
{ mode = -1;
|
||||
modifier = "Ctrl+Shift";
|
||||
key = "p";
|
||||
function = "setprofile";
|
||||
argument = "0";
|
||||
},
|
||||
// Escape: Switch mode
|
||||
{ mode = 1;
|
||||
modifier = "None";
|
||||
key = "Esc";
|
||||
function = "switchmode";
|
||||
argument = "0";
|
||||
},
|
||||
// i: Switch mode
|
||||
{ mode = 0;
|
||||
modifier = "None";
|
||||
key = "i";
|
||||
function = "switchmode";
|
||||
argument = "0";
|
||||
},
|
||||
// /: Switch mode
|
||||
{ mode = 0;
|
||||
modifier = "None";
|
||||
key = "/";
|
||||
function = "switchmode";
|
||||
argument = "0";
|
||||
},
|
||||
// Ctrl+=: Increase image size by 1
|
||||
{ mode = 0;
|
||||
modifier = "Ctrl";
|
||||
key = "=";
|
||||
function = "setimgsize";
|
||||
argument = "+1";
|
||||
},
|
||||
// Ctrl+-: Decrease image size by 1
|
||||
{ mode = 0;
|
||||
modifier = "Ctrl";
|
||||
key = "-";
|
||||
function = "setimgsize";
|
||||
argument = "-1";
|
||||
},
|
||||
{ mode = 0;
|
||||
modifier = "None";
|
||||
key = "-";
|
||||
function = "setimgsize";
|
||||
argument = "-10";
|
||||
},
|
||||
// -: Increase image size by 10
|
||||
{ mode = 0;
|
||||
modifier = "None";
|
||||
key = "=";
|
||||
function = "setimgsize";
|
||||
argument = "+10";
|
||||
},
|
||||
// =: Decrease image size by 10
|
||||
{ mode = 0;
|
||||
modifier = "Shift";
|
||||
modifier = "None";
|
||||
key = "-";
|
||||
function = "setimgsize";
|
||||
argument = "-100";
|
||||
argument = "-10";
|
||||
},
|
||||
// Shift+=: Increase image size by 100
|
||||
{ mode = 0;
|
||||
modifier = "Shift";
|
||||
key = "=";
|
||||
function = "setimgsize";
|
||||
argument = "+100";
|
||||
},
|
||||
// Shift+-: Decrease image size by 100
|
||||
{ mode = 0;
|
||||
modifier = "Shift";
|
||||
key = "-";
|
||||
function = "setimgsize";
|
||||
argument = "-100";
|
||||
},
|
||||
// Shift+0: Set image size to the default
|
||||
{ mode = 0;
|
||||
modifier = "Shift";
|
||||
key = "0";
|
||||
function = "defaultimg";
|
||||
argument = "0";
|
||||
},
|
||||
// r: Rotate image
|
||||
{ mode = 0;
|
||||
modifier = "None";
|
||||
key = "r";
|
||||
function = "rotateimg";
|
||||
argument = "0";
|
||||
},
|
||||
// p: Toggle image position
|
||||
{ mode = 0;
|
||||
modifier = "None";
|
||||
key = "p";
|
||||
function = "setimgpos";
|
||||
argument = "+1";
|
||||
},
|
||||
// Ctrl+1: Decrease image gaps by 1
|
||||
{ mode = 0;
|
||||
modifier = "Ctrl";
|
||||
key = "1";
|
||||
function = "setimggaps";
|
||||
argument = "-1";
|
||||
},
|
||||
// Ctrl+2: Increase image gaps by 1
|
||||
{ mode = 0;
|
||||
modifier = "Ctrl";
|
||||
key = "2";
|
||||
function = "setimggaps";
|
||||
argument = "+1";
|
||||
},
|
||||
// 1: Decrease image gaps by 10
|
||||
{ mode = 0;
|
||||
modifier = "None";
|
||||
key = "1";
|
||||
function = "setimggaps";
|
||||
argument = "-10";
|
||||
},
|
||||
// 2: Increase image gaps by 10
|
||||
{ mode = 0;
|
||||
modifier = "None";
|
||||
key = "2";
|
||||
function = "setimggaps";
|
||||
argument = "+10";
|
||||
},
|
||||
// Shift+1: Decrease image gaps by 100
|
||||
{ mode = 0;
|
||||
modifier = "Shift";
|
||||
key = "1";
|
||||
function = "setimggaps";
|
||||
argument = "-100";
|
||||
},
|
||||
// Shift+2: Increase image gaps by 100
|
||||
{ mode = 0;
|
||||
modifier = "Shift";
|
||||
key = "2";
|
||||
function = "setimggaps";
|
||||
argument = "+100";
|
||||
},
|
||||
// t: Toggle image
|
||||
{ mode = 0;
|
||||
modifier = "None";
|
||||
key = "t";
|
||||
function = "toggleimg";
|
||||
argument = "0";
|
||||
},
|
||||
// h: Flip image horizontally
|
||||
{ mode = 0;
|
||||
modifier = "None";
|
||||
key = "h";
|
||||
function = "flipimg";
|
||||
argument = "1";
|
||||
},
|
||||
// v: Flip image vertically
|
||||
{ mode = 0;
|
||||
modifier = "None";
|
||||
key = "v";
|
||||
function = "flipimg";
|
||||
argument = "0";
|
||||
},
|
||||
// k: Move up 1 item
|
||||
{ mode = 0;
|
||||
modifier = "None";
|
||||
key = "k";
|
||||
function = "moveup";
|
||||
argument = "0";
|
||||
},
|
||||
// j: Move down 1 item
|
||||
{ mode = 0;
|
||||
modifier = "None";
|
||||
key = "j";
|
||||
function = "movedown";
|
||||
argument = "0";
|
||||
},
|
||||
// h: Move left 1 item
|
||||
{ mode = 0;
|
||||
modifier = "None";
|
||||
key = "h";
|
||||
function = "moveleft";
|
||||
argument = "0";
|
||||
},
|
||||
// l: Move right 1 item
|
||||
{ mode = 0;
|
||||
modifier = "None";
|
||||
key = "l";
|
||||
function = "moveright";
|
||||
argument = "0";
|
||||
},
|
||||
// Ctrl+u: Move up 5 items
|
||||
{ mode = 0;
|
||||
modifier = "Ctrl";
|
||||
key = "u";
|
||||
function = "moveup";
|
||||
argument = "5";
|
||||
},
|
||||
// Ctrl+d: Move down 5 items
|
||||
{ mode = 0;
|
||||
modifier = "Ctrl";
|
||||
key = "d";
|
||||
function = "movedown";
|
||||
argument = "5";
|
||||
},
|
||||
// Ctrl+k: Increase lines by 1
|
||||
{ mode = 0;
|
||||
modifier = "Ctrl";
|
||||
key = "k";
|
||||
function = "setlines";
|
||||
argument = "+1";
|
||||
},
|
||||
// Ctrl+j: Decrease lines by 1
|
||||
{ mode = 0;
|
||||
modifier = "Ctrl";
|
||||
key = "j";
|
||||
function = "setlines";
|
||||
argument = "-1";
|
||||
},
|
||||
// Ctrl+Alt+Shift+k: Increase lines by 5
|
||||
{ mode = 0;
|
||||
modifier = "Ctrl+Alt+Shift";
|
||||
key = "k";
|
||||
function = "setlines";
|
||||
argument = "+5";
|
||||
},
|
||||
// Ctrl+Alt+Shift+j: Decrease lines by 5
|
||||
{ mode = 0;
|
||||
modifier = "Ctrl+Alt+Shift";
|
||||
key = "j";
|
||||
function = "setlines";
|
||||
argument = "-5";
|
||||
},
|
||||
// Ctrl+l: Increase columns by 1
|
||||
{ mode = 0;
|
||||
modifier = "Ctrl";
|
||||
key = "l";
|
||||
function = "setcolumns";
|
||||
argument = "+1";
|
||||
},
|
||||
// Ctrl+h: Decrease columns by 1
|
||||
{ mode = 0;
|
||||
modifier = "Ctrl";
|
||||
key = "h";
|
||||
function = "setcolumns";
|
||||
argument = "-1";
|
||||
},
|
||||
// Ctrl+Alt+Shift+h: Increase columns by 5
|
||||
{ mode = 0;
|
||||
modifier = "Ctrl+Alt+Shift";
|
||||
key = "h";
|
||||
function = "setcolumns";
|
||||
argument = "+5";
|
||||
},
|
||||
// Ctrl+Alt+Shift+l: Decrease columns by 5
|
||||
{ mode = 0;
|
||||
modifier = "Ctrl+Alt+Shift";
|
||||
key = "l";
|
||||
function = "setcolumns";
|
||||
argument = "-5";
|
||||
},
|
||||
{ mode = 0;
|
||||
modifier = "Ctrl";
|
||||
key = "k";
|
||||
function = "restoresel";
|
||||
argument = "0";
|
||||
},
|
||||
// Ctrl+u: Toggle highlighting
|
||||
{ mode = 0;
|
||||
modifier = "None";
|
||||
key = "u";
|
||||
function = "togglehighlight";
|
||||
argument = "0";
|
||||
},
|
||||
// Ctrl+h: Toggle viewing history buffer
|
||||
{ mode = 0;
|
||||
modifier = "Ctrl+Shift";
|
||||
key = "h";
|
||||
function = "viewhist";
|
||||
argument = "0";
|
||||
},
|
||||
// d: Clear the input
|
||||
{ mode = 0;
|
||||
modifier = "None";
|
||||
key = "d";
|
||||
function = "clear";
|
||||
argument = "0";
|
||||
},
|
||||
// c: Clear the input and enter insert mode
|
||||
{ mode = 0;
|
||||
modifier = "None";
|
||||
key = "c";
|
||||
function = "clearins";
|
||||
argument = "0";
|
||||
},
|
||||
// Esc: Exit
|
||||
{ mode = 0;
|
||||
modifier = "None";
|
||||
key = "Esc";
|
||||
function = "quit";
|
||||
argument = "0";
|
||||
},
|
||||
// Home: Move to the start
|
||||
{ mode = 0;
|
||||
modifier = "None";
|
||||
key = "Home";
|
||||
function = "movestart";
|
||||
argument = "0";
|
||||
},
|
||||
// End: Move to the end
|
||||
{ mode = 0;
|
||||
modifier = "None";
|
||||
key = "End";
|
||||
function = "moveend";
|
||||
argument = "0";
|
||||
},
|
||||
// g: Move to the start
|
||||
{ mode = 0;
|
||||
modifier = "None";
|
||||
key = "g";
|
||||
function = "movestart";
|
||||
argument = "0";
|
||||
},
|
||||
// Shift+g: Move to the end
|
||||
{ mode = 0;
|
||||
modifier = "Shift";
|
||||
key = "g";
|
||||
function = "moveend";
|
||||
argument = "0";
|
||||
},
|
||||
// Next: Move to the next entry (redo)
|
||||
{ mode = 0;
|
||||
modifier = "None";
|
||||
key = "Next";
|
||||
function = "movenext";
|
||||
argument = "0";
|
||||
},
|
||||
// Prior: Move to the previous entry (undo)
|
||||
{ mode = 0;
|
||||
modifier = "None";
|
||||
key = "Prior";
|
||||
function = "moveprev";
|
||||
argument = "0";
|
||||
},
|
||||
// Alt+p: Navigate to the previous entry in the history buffer
|
||||
{ mode = 0;
|
||||
modifier = "Alt";
|
||||
key = "p";
|
||||
function = "navhistory";
|
||||
argument = "-1";
|
||||
},
|
||||
// Alt+n: Navigate to the next entry in the history buffer
|
||||
{ mode = 0;
|
||||
modifier = "Alt";
|
||||
key = "n";
|
||||
|
|
|
@ -87,7 +87,6 @@ static Key keys[] = {
|
|||
{ 0, CONTROL, XK_l, setcolumns, {.i = -1 } },
|
||||
{ 0, CONTROL|ALT|SHIFT, XK_h, setcolumns, {.i = +5 } },
|
||||
{ 0, CONTROL|ALT|SHIFT, XK_l, setcolumns, {.i = -5 } },
|
||||
{ 0, CONTROL, XK_k, restoresel, {0} },
|
||||
{ 0, 0, XK_u, togglehighlight, {0} },
|
||||
{ 0, CONTROL|SHIFT, XK_h, viewhist, {0} },
|
||||
{ 0, 0, XK_d, clear, {0} },
|
||||
|
|
|
@ -328,14 +328,7 @@ clearins(Arg *arg)
|
|||
|
||||
curMode = 1;
|
||||
allowkeys = 0;
|
||||
|
||||
if (!curMode) {
|
||||
strcpy(modetext, normtext);
|
||||
} else {
|
||||
strcpy(modetext, instext);
|
||||
}
|
||||
|
||||
if (hidemode) strcpy(modetext, "");
|
||||
strncpy(modetext, instext, 15);
|
||||
|
||||
calcoffsets();
|
||||
drawmenu();
|
||||
|
|
|
@ -118,11 +118,11 @@ drawitemtext(struct item *item, int x, int y, int w)
|
|||
} else if (nextchar == 22) {
|
||||
fg &= ~8;
|
||||
scm[0] = textclrs[fg];
|
||||
} else if (nextchar == 38) {
|
||||
bgfg = 2;
|
||||
} else if (nextchar >= 30 && nextchar <= 37) {
|
||||
fg = nextchar % 10 | (fg & 8);
|
||||
scm[0] = textclrs[fg];
|
||||
} else if (nextchar == 38) {
|
||||
bgfg = 2;
|
||||
} else if (nextchar >= 40 && nextchar <= 47) {
|
||||
bg = nextchar % 10;
|
||||
scm[1] = textclrs[bg];
|
||||
|
|
|
@ -13,6 +13,7 @@ resource_load(XrmDatabase db, char *name, enum resource_type rtype, void *dst)
|
|||
snprintf(fullname, sizeof(fullname), "%s.%s", "spmenu", name);
|
||||
fullname[sizeof(fullname) - 1] = '\0';
|
||||
XrmGetResource(db, fullname, "*", &type, &ret);
|
||||
if (!xresources) return;
|
||||
if (!(ret.addr == NULL || strncmp("String", type, 64))) {
|
||||
switch (rtype) { // type
|
||||
case STRING:
|
||||
|
@ -37,7 +38,7 @@ load_xresources(void)
|
|||
ResourcePref *p;
|
||||
display = XOpenDisplay(NULL);
|
||||
resm = XResourceManagerString(display);
|
||||
if (!resm)
|
||||
if (!resm || !xresources)
|
||||
return;
|
||||
db = XrmGetStringDatabase(resm);
|
||||
|
||||
|
|
Loading…
Reference in a new issue