add comments to config file for keybinds

This commit is contained in:
speedie 2023-04-29 22:53:00 +02:00
parent ca7955126d
commit c3b9687e21
5 changed files with 80 additions and 28 deletions

View file

@ -218,30 +218,35 @@ spmenu = {
* *
* See https://spmenu.speedie.site/index.php/Configurable+keybindings for a list of valid options. * 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"; modifier = "None";
button = "Left Click"; button = "Left Click";
function = "clear"; function = "clear";
argument = "0"; argument = "0";
}, },
// Left click on prompt: Clear the input
{ click = "clickprompt"; { click = "clickprompt";
modifier = "None"; modifier = "None";
button = "Left Click"; button = "Left Click";
function = "clear"; function = "clear";
argument = "0"; argument = "0";
}, },
// Left click on the mode indicator: Toggle mode
{ click = "clickmode"; { click = "clickmode";
modifier = "None"; modifier = "None";
button = "Left Click"; button = "Left Click";
function = "switchmode"; function = "switchmode";
argument = "0"; argument = "0";
}, },
// Click on the match count: Toggle viewing history buffer
{ click = "clicknumber"; { click = "clicknumber";
modifier = "None"; modifier = "None";
button = "Left Click"; button = "Left Click";
function = "viewhist"; function = "viewhist";
argument = "0"; argument = "0";
}, },
// Left click on an item: Select it
{ click = "clickselitem"; { click = "clickselitem";
modifier = "None"; modifier = "None";
button = "Left Click"; button = "Left Click";
@ -256,366 +261,420 @@ spmenu = {
* *
* See https://spmenu.speedie.site/index.php/Configurable+keybindings for a list of valid options. * 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"; modifier = "None";
key = "Enter"; key = "Enter";
function = "selectitem"; function = "selectitem";
argument = "+1"; argument = "+1";
}, },
// Shift+Enter: Select input
{ mode = -1; { mode = -1;
modifier = "Shift"; modifier = "Shift";
key = "Enter"; key = "Enter";
function = "selectitem"; function = "selectitem";
argument = "0"; argument = "0";
}, },
// Tab: Tab complete
{ mode = -1; { mode = -1;
modifier = "None"; modifier = "None";
key = "Tab"; key = "Tab";
function = "complete"; function = "complete";
argument = "0"; argument = "0";
}, },
// Ctrl+v: Paste from clipboard
{ mode = -1; { mode = -1;
modifier = "Ctrl"; modifier = "Ctrl";
key = "v"; key = "v";
function = "paste"; function = "paste";
argument = "2"; argument = "2";
}, },
// Ctrl+Shift+v: Paste from selection
{ mode = -1; { mode = -1;
modifier = "Ctrl+Shift"; modifier = "Ctrl+Shift";
key = "v"; key = "v";
function = "paste"; function = "paste";
argument = "1"; argument = "1";
}, },
// Backspace: Backspace
{ mode = -1; { mode = -1;
modifier = "None"; modifier = "None";
key = "Backspace"; key = "Backspace";
function = "backspace"; function = "backspace";
argument = "0"; argument = "0";
}, },
// Ctrl+Backspace: Delete word
{ mode = -1; { mode = -1;
modifier = "Ctrl"; modifier = "Ctrl";
key = "Backspace"; key = "Backspace";
function = "deleteword"; function = "deleteword";
argument = "0"; argument = "0";
}, },
// Ctrl+Left: Move caret (cursor) one word to the left
{ mode = -1; { mode = -1;
modifier = "Ctrl"; modifier = "Ctrl";
key = "Left"; key = "Left";
function = "moveword"; function = "moveword";
argument = "-1"; argument = "-1";
}, },
// Ctrl+Right: Move caret (cursor) one word to the right
{ mode = -1; { mode = -1;
modifier = "Ctrl"; modifier = "Ctrl";
key = "Right"; key = "Right";
function = "moveword"; function = "moveword";
argument = "+1"; argument = "+1";
}, },
// Left: Move caret (cursor) one character to the left
{ mode = -1; { mode = -1;
modifier = "None"; modifier = "None";
key = "Left"; key = "Left";
function = "movecursor"; function = "movecursor";
argument = "-1"; argument = "-1";
}, },
// Right: Move caret (cursor) one character to the right
{ mode = -1; { mode = -1;
modifier = "None"; modifier = "None";
key = "Right"; key = "Right";
function = "movecursor"; function = "movecursor";
argument = "+1"; argument = "+1";
}, },
// Ctrl+Shift+p: Open profile menu
{ mode = -1; { mode = -1;
modifier = "Ctrl+Shift"; modifier = "Ctrl+Shift";
key = "p"; key = "p";
function = "setprofile"; function = "setprofile";
argument = "0"; argument = "0";
}, },
// Escape: Switch mode
{ mode = 1; { mode = 1;
modifier = "None"; modifier = "None";
key = "Esc"; key = "Esc";
function = "switchmode"; function = "switchmode";
argument = "0"; argument = "0";
}, },
// i: Switch mode
{ mode = 0; { mode = 0;
modifier = "None"; modifier = "None";
key = "i"; key = "i";
function = "switchmode"; function = "switchmode";
argument = "0"; argument = "0";
}, },
// /: Switch mode
{ mode = 0; { mode = 0;
modifier = "None"; modifier = "None";
key = "/"; key = "/";
function = "switchmode"; function = "switchmode";
argument = "0"; argument = "0";
}, },
// Ctrl+=: Increase image size by 1
{ mode = 0; { mode = 0;
modifier = "Ctrl"; modifier = "Ctrl";
key = "="; key = "=";
function = "setimgsize"; function = "setimgsize";
argument = "+1"; argument = "+1";
}, },
// Ctrl+-: Decrease image size by 1
{ mode = 0; { mode = 0;
modifier = "Ctrl"; modifier = "Ctrl";
key = "-"; key = "-";
function = "setimgsize"; function = "setimgsize";
argument = "-1"; argument = "-1";
}, },
{ mode = 0; // -: Increase image size by 10
modifier = "None";
key = "-";
function = "setimgsize";
argument = "-10";
},
{ mode = 0; { mode = 0;
modifier = "None"; modifier = "None";
key = "="; key = "=";
function = "setimgsize"; function = "setimgsize";
argument = "+10"; argument = "+10";
}, },
// =: Decrease image size by 10
{ mode = 0; { mode = 0;
modifier = "Shift"; modifier = "None";
key = "-"; key = "-";
function = "setimgsize"; function = "setimgsize";
argument = "-100"; argument = "-10";
}, },
// Shift+=: Increase image size by 100
{ mode = 0; { mode = 0;
modifier = "Shift"; modifier = "Shift";
key = "="; key = "=";
function = "setimgsize"; function = "setimgsize";
argument = "+100"; 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; { mode = 0;
modifier = "Shift"; modifier = "Shift";
key = "0"; key = "0";
function = "defaultimg"; function = "defaultimg";
argument = "0"; argument = "0";
}, },
// r: Rotate image
{ mode = 0; { mode = 0;
modifier = "None"; modifier = "None";
key = "r"; key = "r";
function = "rotateimg"; function = "rotateimg";
argument = "0"; argument = "0";
}, },
// p: Toggle image position
{ mode = 0; { mode = 0;
modifier = "None"; modifier = "None";
key = "p"; key = "p";
function = "setimgpos"; function = "setimgpos";
argument = "+1"; argument = "+1";
}, },
// Ctrl+1: Decrease image gaps by 1
{ mode = 0; { mode = 0;
modifier = "Ctrl"; modifier = "Ctrl";
key = "1"; key = "1";
function = "setimggaps"; function = "setimggaps";
argument = "-1"; argument = "-1";
}, },
// Ctrl+2: Increase image gaps by 1
{ mode = 0; { mode = 0;
modifier = "Ctrl"; modifier = "Ctrl";
key = "2"; key = "2";
function = "setimggaps"; function = "setimggaps";
argument = "+1"; argument = "+1";
}, },
// 1: Decrease image gaps by 10
{ mode = 0; { mode = 0;
modifier = "None"; modifier = "None";
key = "1"; key = "1";
function = "setimggaps"; function = "setimggaps";
argument = "-10"; argument = "-10";
}, },
// 2: Increase image gaps by 10
{ mode = 0; { mode = 0;
modifier = "None"; modifier = "None";
key = "2"; key = "2";
function = "setimggaps"; function = "setimggaps";
argument = "+10"; argument = "+10";
}, },
// Shift+1: Decrease image gaps by 100
{ mode = 0; { mode = 0;
modifier = "Shift"; modifier = "Shift";
key = "1"; key = "1";
function = "setimggaps"; function = "setimggaps";
argument = "-100"; argument = "-100";
}, },
// Shift+2: Increase image gaps by 100
{ mode = 0; { mode = 0;
modifier = "Shift"; modifier = "Shift";
key = "2"; key = "2";
function = "setimggaps"; function = "setimggaps";
argument = "+100"; argument = "+100";
}, },
// t: Toggle image
{ mode = 0; { mode = 0;
modifier = "None"; modifier = "None";
key = "t"; key = "t";
function = "toggleimg"; function = "toggleimg";
argument = "0"; argument = "0";
}, },
// h: Flip image horizontally
{ mode = 0; { mode = 0;
modifier = "None"; modifier = "None";
key = "h"; key = "h";
function = "flipimg"; function = "flipimg";
argument = "1"; argument = "1";
}, },
// v: Flip image vertically
{ mode = 0; { mode = 0;
modifier = "None"; modifier = "None";
key = "v"; key = "v";
function = "flipimg"; function = "flipimg";
argument = "0"; argument = "0";
}, },
// k: Move up 1 item
{ mode = 0; { mode = 0;
modifier = "None"; modifier = "None";
key = "k"; key = "k";
function = "moveup"; function = "moveup";
argument = "0"; argument = "0";
}, },
// j: Move down 1 item
{ mode = 0; { mode = 0;
modifier = "None"; modifier = "None";
key = "j"; key = "j";
function = "movedown"; function = "movedown";
argument = "0"; argument = "0";
}, },
// h: Move left 1 item
{ mode = 0; { mode = 0;
modifier = "None"; modifier = "None";
key = "h"; key = "h";
function = "moveleft"; function = "moveleft";
argument = "0"; argument = "0";
}, },
// l: Move right 1 item
{ mode = 0; { mode = 0;
modifier = "None"; modifier = "None";
key = "l"; key = "l";
function = "moveright"; function = "moveright";
argument = "0"; argument = "0";
}, },
// Ctrl+u: Move up 5 items
{ mode = 0; { mode = 0;
modifier = "Ctrl"; modifier = "Ctrl";
key = "u"; key = "u";
function = "moveup"; function = "moveup";
argument = "5"; argument = "5";
}, },
// Ctrl+d: Move down 5 items
{ mode = 0; { mode = 0;
modifier = "Ctrl"; modifier = "Ctrl";
key = "d"; key = "d";
function = "movedown"; function = "movedown";
argument = "5"; argument = "5";
}, },
// Ctrl+k: Increase lines by 1
{ mode = 0; { mode = 0;
modifier = "Ctrl"; modifier = "Ctrl";
key = "k"; key = "k";
function = "setlines"; function = "setlines";
argument = "+1"; argument = "+1";
}, },
// Ctrl+j: Decrease lines by 1
{ mode = 0; { mode = 0;
modifier = "Ctrl"; modifier = "Ctrl";
key = "j"; key = "j";
function = "setlines"; function = "setlines";
argument = "-1"; argument = "-1";
}, },
// Ctrl+Alt+Shift+k: Increase lines by 5
{ mode = 0; { mode = 0;
modifier = "Ctrl+Alt+Shift"; modifier = "Ctrl+Alt+Shift";
key = "k"; key = "k";
function = "setlines"; function = "setlines";
argument = "+5"; argument = "+5";
}, },
// Ctrl+Alt+Shift+j: Decrease lines by 5
{ mode = 0; { mode = 0;
modifier = "Ctrl+Alt+Shift"; modifier = "Ctrl+Alt+Shift";
key = "j"; key = "j";
function = "setlines"; function = "setlines";
argument = "-5"; argument = "-5";
}, },
// Ctrl+l: Increase columns by 1
{ mode = 0; { mode = 0;
modifier = "Ctrl"; modifier = "Ctrl";
key = "l"; key = "l";
function = "setcolumns"; function = "setcolumns";
argument = "+1"; argument = "+1";
}, },
// Ctrl+h: Decrease columns by 1
{ mode = 0; { mode = 0;
modifier = "Ctrl"; modifier = "Ctrl";
key = "h"; key = "h";
function = "setcolumns"; function = "setcolumns";
argument = "-1"; argument = "-1";
}, },
// Ctrl+Alt+Shift+h: Increase columns by 5
{ mode = 0; { mode = 0;
modifier = "Ctrl+Alt+Shift"; modifier = "Ctrl+Alt+Shift";
key = "h"; key = "h";
function = "setcolumns"; function = "setcolumns";
argument = "+5"; argument = "+5";
}, },
// Ctrl+Alt+Shift+l: Decrease columns by 5
{ mode = 0; { mode = 0;
modifier = "Ctrl+Alt+Shift"; modifier = "Ctrl+Alt+Shift";
key = "l"; key = "l";
function = "setcolumns"; function = "setcolumns";
argument = "-5"; argument = "-5";
}, },
{ mode = 0; // Ctrl+u: Toggle highlighting
modifier = "Ctrl";
key = "k";
function = "restoresel";
argument = "0";
},
{ mode = 0; { mode = 0;
modifier = "None"; modifier = "None";
key = "u"; key = "u";
function = "togglehighlight"; function = "togglehighlight";
argument = "0"; argument = "0";
}, },
// Ctrl+h: Toggle viewing history buffer
{ mode = 0; { mode = 0;
modifier = "Ctrl+Shift"; modifier = "Ctrl+Shift";
key = "h"; key = "h";
function = "viewhist"; function = "viewhist";
argument = "0"; argument = "0";
}, },
// d: Clear the input
{ mode = 0; { mode = 0;
modifier = "None"; modifier = "None";
key = "d"; key = "d";
function = "clear"; function = "clear";
argument = "0"; argument = "0";
}, },
// c: Clear the input and enter insert mode
{ mode = 0; { mode = 0;
modifier = "None"; modifier = "None";
key = "c"; key = "c";
function = "clearins"; function = "clearins";
argument = "0"; argument = "0";
}, },
// Esc: Exit
{ mode = 0; { mode = 0;
modifier = "None"; modifier = "None";
key = "Esc"; key = "Esc";
function = "quit"; function = "quit";
argument = "0"; argument = "0";
}, },
// Home: Move to the start
{ mode = 0; { mode = 0;
modifier = "None"; modifier = "None";
key = "Home"; key = "Home";
function = "movestart"; function = "movestart";
argument = "0"; argument = "0";
}, },
// End: Move to the end
{ mode = 0; { mode = 0;
modifier = "None"; modifier = "None";
key = "End"; key = "End";
function = "moveend"; function = "moveend";
argument = "0"; argument = "0";
}, },
// g: Move to the start
{ mode = 0; { mode = 0;
modifier = "None"; modifier = "None";
key = "g"; key = "g";
function = "movestart"; function = "movestart";
argument = "0"; argument = "0";
}, },
// Shift+g: Move to the end
{ mode = 0; { mode = 0;
modifier = "Shift"; modifier = "Shift";
key = "g"; key = "g";
function = "moveend"; function = "moveend";
argument = "0"; argument = "0";
}, },
// Next: Move to the next entry (redo)
{ mode = 0; { mode = 0;
modifier = "None"; modifier = "None";
key = "Next"; key = "Next";
function = "movenext"; function = "movenext";
argument = "0"; argument = "0";
}, },
// Prior: Move to the previous entry (undo)
{ mode = 0; { mode = 0;
modifier = "None"; modifier = "None";
key = "Prior"; key = "Prior";
function = "moveprev"; function = "moveprev";
argument = "0"; argument = "0";
}, },
// Alt+p: Navigate to the previous entry in the history buffer
{ mode = 0; { mode = 0;
modifier = "Alt"; modifier = "Alt";
key = "p"; key = "p";
function = "navhistory"; function = "navhistory";
argument = "-1"; argument = "-1";
}, },
// Alt+n: Navigate to the next entry in the history buffer
{ mode = 0; { mode = 0;
modifier = "Alt"; modifier = "Alt";
key = "n"; key = "n";

View file

@ -87,7 +87,6 @@ static Key keys[] = {
{ 0, CONTROL, XK_l, setcolumns, {.i = -1 } }, { 0, CONTROL, XK_l, setcolumns, {.i = -1 } },
{ 0, CONTROL|ALT|SHIFT, XK_h, setcolumns, {.i = +5 } }, { 0, CONTROL|ALT|SHIFT, XK_h, setcolumns, {.i = +5 } },
{ 0, CONTROL|ALT|SHIFT, XK_l, 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, 0, XK_u, togglehighlight, {0} },
{ 0, CONTROL|SHIFT, XK_h, viewhist, {0} }, { 0, CONTROL|SHIFT, XK_h, viewhist, {0} },
{ 0, 0, XK_d, clear, {0} }, { 0, 0, XK_d, clear, {0} },

View file

@ -328,14 +328,7 @@ clearins(Arg *arg)
curMode = 1; curMode = 1;
allowkeys = 0; allowkeys = 0;
strncpy(modetext, instext, 15);
if (!curMode) {
strcpy(modetext, normtext);
} else {
strcpy(modetext, instext);
}
if (hidemode) strcpy(modetext, "");
calcoffsets(); calcoffsets();
drawmenu(); drawmenu();

View file

@ -118,11 +118,11 @@ drawitemtext(struct item *item, int x, int y, int w)
} else if (nextchar == 22) { } else if (nextchar == 22) {
fg &= ~8; fg &= ~8;
scm[0] = textclrs[fg]; scm[0] = textclrs[fg];
} else if (nextchar == 38) {
bgfg = 2;
} else if (nextchar >= 30 && nextchar <= 37) { } else if (nextchar >= 30 && nextchar <= 37) {
fg = nextchar % 10 | (fg & 8); fg = nextchar % 10 | (fg & 8);
scm[0] = textclrs[fg]; scm[0] = textclrs[fg];
} else if (nextchar == 38) {
bgfg = 2;
} else if (nextchar >= 40 && nextchar <= 47) { } else if (nextchar >= 40 && nextchar <= 47) {
bg = nextchar % 10; bg = nextchar % 10;
scm[1] = textclrs[bg]; scm[1] = textclrs[bg];

View file

@ -13,6 +13,7 @@ resource_load(XrmDatabase db, char *name, enum resource_type rtype, void *dst)
snprintf(fullname, sizeof(fullname), "%s.%s", "spmenu", name); snprintf(fullname, sizeof(fullname), "%s.%s", "spmenu", name);
fullname[sizeof(fullname) - 1] = '\0'; fullname[sizeof(fullname) - 1] = '\0';
XrmGetResource(db, fullname, "*", &type, &ret); XrmGetResource(db, fullname, "*", &type, &ret);
if (!xresources) return;
if (!(ret.addr == NULL || strncmp("String", type, 64))) { if (!(ret.addr == NULL || strncmp("String", type, 64))) {
switch (rtype) { // type switch (rtype) { // type
case STRING: case STRING:
@ -37,7 +38,7 @@ load_xresources(void)
ResourcePref *p; ResourcePref *p;
display = XOpenDisplay(NULL); display = XOpenDisplay(NULL);
resm = XResourceManagerString(display); resm = XResourceManagerString(display);
if (!resm) if (!resm || !xresources)
return; return;
db = XrmGetStringDatabase(resm); db = XrmGetStringDatabase(resm);