From e7c944a5d6ab71ddcedeff7765e5d8ede95aedbb Mon Sep 17 00:00:00 2001 From: speedie Date: Thu, 8 Jun 2023 08:17:42 +0200 Subject: [PATCH 1/6] Improve SGR sequence colors --- docs/example.Xresources | 32 ++++++++++++++++---------------- docs/spmenu.conf | 32 ++++++++++++++++---------------- options.h | 32 ++++++++++++++++---------------- 3 files changed, 48 insertions(+), 48 deletions(-) diff --git a/docs/example.Xresources b/docs/example.Xresources index f5bac0f..935404e 100644 --- a/docs/example.Xresources +++ b/docs/example.Xresources @@ -46,22 +46,22 @@ spmenu.col_modefg: #ffffff spmenu.col_modebg: #35638A spmenu.col_capsfg: #ffffff spmenu.col_capsbg: #45638A -spmenu.col_sgr0: #000000 -spmenu.col_sgr1: #7f0000 -spmenu.col_sgr2: #007f00 -spmenu.col_sgr3: #7f7f00 -spmenu.col_sgr4: #00007f -spmenu.col_sgr5: #7f007f -spmenu.col_sgr6: #007f7f -spmenu.col_sgr7: #cccccc -spmenu.col_sgr8: #333333 -spmenu.col_sgr9: #ff0000 -spmenu.col_sgr10: #00ff00 -spmenu.col_sgr11: #ffff00 -spmenu.col_sgr12: #0000ff -spmenu.col_sgr13: #ff00ff -spmenu.col_sgr14: #00ffff -spmenu.col_sgr15: #ffffff +spmenu.col_sgr0: #20201d +spmenu.col_sgr1: #d73737 +spmenu.col_sgr2: #60ac39 +spmenu.col_sgr3: #cfb017 +spmenu.col_sgr4: #6684e1 +spmenu.col_sgr5: #b854d4 +spmenu.col_sgr6: #1fad83 +spmenu.col_sgr7: #a6a28c +spmenu.col_sgr8: #7d7a68 +spmenu.col_sgr9: #d73737 +spmenu.col_sgr10: #60ac39 +spmenu.col_sgr11: #cfb017 +spmenu.col_sgr12: #6684e1 +spmenu.col_sgr13: #b854d4 +spmenu.col_sgr14: #1fad83 +spmenu.col_sgr15: #fefbec !! Alpha spmenu.alpha_itemnormfg: 255 diff --git a/docs/spmenu.conf b/docs/spmenu.conf index aa59040..82f32c1 100644 --- a/docs/spmenu.conf +++ b/docs/spmenu.conf @@ -79,22 +79,22 @@ spmenu = { border = "#35638A"; // Border color (#RRGGBB) caretfg = "#ffffff"; // Caret (cursor) foreground color (#RRGGBB) caretbg = "#222222"; // Caret (cursor) background color (#RRGGBB) - sgr0 = "#000000"; // SGR 0 color (#RRGGBB) - sgr1 = "#7f0000"; // SGR 1 color (#RRGGBB) - sgr2 = "#007f00"; // SGR 2 color (#RRGGBB) - sgr3 = "#7f7f00"; // SGR 3 color (#RRGGBB) - sgr4 = "#00007f"; // SGR 4 color (#RRGGBB) - sgr5 = "#7f007f"; // SGR 5 color (#RRGGBB) - sgr6 = "#007f7f"; // SGR 6 color (#RRGGBB) - sgr7 = "#cccccc"; // SGR 7 color (#RRGGBB) - sgr8 = "#333333"; // SGR 8 color (#RRGGBB) - sgr9 = "#ff0000"; // SGR 9 color (#RRGGBB) - sgr10 = "#00ff00"; // SGR 10 color (#RRGGBB) - sgr11 = "#ffff00"; // SGR 11 color (#RRGGBB) - sgr12 = "#0000ff"; // SGR 12 color (#RRGGBB) - sgr13 = "#ff00ff"; // SGR 13 color (#RRGGBB) - sgr14 = "#00ffff"; // SGR 14 color (#RRGGBB) - sgr15 = "#ffffff"; // SGR 15 color (#RRGGBB) + sgr0 = "#20201d"; // SGR 0 color (#RRGGBB) + sgr1 = "#d73737"; // SGR 1 color (#RRGGBB) + sgr2 = "#60ac39"; // SGR 2 color (#RRGGBB) + sgr3 = "#cfb017"; // SGR 3 color (#RRGGBB) + sgr4 = "#6684e1"; // SGR 4 color (#RRGGBB) + sgr5 = "#b854d4"; // SGR 5 color (#RRGGBB) + sgr6 = "#1fad83"; // SGR 6 color (#RRGGBB) + sgr7 = "#a6a28c"; // SGR 7 color (#RRGGBB) + sgr8 = "#7d7a68"; // SGR 8 color (#RRGGBB) + sgr9 = "#d73737"; // SGR 9 color (#RRGGBB) + sgr10 = "#60ac39"; // SGR 10 color (#RRGGBB) + sgr11 = "#cfb017"; // SGR 11 color (#RRGGBB) + sgr12 = "#6684e1"; // SGR 12 color (#RRGGBB) + sgr13 = "#b854d4"; // SGR 13 color (#RRGGBB) + sgr14 = "#1fad83"; // SGR 14 color (#RRGGBB) + sgr15 = "#fefbec"; // SGR 15 color (#RRGGBB) coloritems = 1; // Color the selected item (0/1) sgr = 1; // Interpret SGR sequences (0/1) } ); diff --git a/options.h b/options.h index 2a71bf7..1f6da6f 100644 --- a/options.h +++ b/options.h @@ -178,22 +178,22 @@ static char col_capsfg[] = "#ffffff"; /* Caps lock text color */ static char col_capsbg[] = "#45638A"; /* Caps lock background color */ /* SGR colors */ -static char col_sgr0[] = "#000000"; /* SGR color #0 */ -static char col_sgr1[] = "#7f0000"; /* SGR color #1 */ -static char col_sgr2[] = "#007f00"; /* SGR color #2 */ -static char col_sgr3[] = "#7f7f00"; /* SGR color #3 */ -static char col_sgr4[] = "#00007f"; /* SGR color #4 */ -static char col_sgr5[] = "#7f007f"; /* SGR color #5 */ -static char col_sgr6[] = "#007f7f"; /* SGR color #6 */ -static char col_sgr7[] = "#cccccc"; /* SGR color #7 */ -static char col_sgr8[] = "#333333"; /* SGR color #8 */ -static char col_sgr9[] = "#ff0000"; /* SGR color #9 */ -static char col_sgr10[] = "#00ff00"; /* SGR color #10 */ -static char col_sgr11[] = "#ffff00"; /* SGR color #11 */ -static char col_sgr12[] = "#0000ff"; /* SGR color #12 */ -static char col_sgr13[] = "#ff00ff"; /* SGR color #13 */ -static char col_sgr14[] = "#00ffff"; /* SGR color #14 */ -static char col_sgr15[] = "#ffffff"; /* SGR color #15 */ +static char col_sgr0[] = "#20201d"; /* SGR color #0 */ +static char col_sgr1[] = "#d73737"; /* SGR color #1 */ +static char col_sgr2[] = "#60ac39"; /* SGR color #2 */ +static char col_sgr3[] = "#cfb017"; /* SGR color #3 */ +static char col_sgr4[] = "#6684e1"; /* SGR color #4 */ +static char col_sgr5[] = "#b854d4"; /* SGR color #5 */ +static char col_sgr6[] = "#1fad83"; /* SGR color #6 */ +static char col_sgr7[] = "#a6a28c"; /* SGR color #7 */ +static char col_sgr8[] = "#7d7a68"; /* SGR color #8 */ +static char col_sgr9[] = "#d73737"; /* SGR color #9 */ +static char col_sgr10[] = "#60ac39"; /* SGR color #10 */ +static char col_sgr11[] = "#cfb017"; /* SGR color #11 */ +static char col_sgr12[] = "#6684e1"; /* SGR color #12 */ +static char col_sgr13[] = "#b854d4"; /* SGR color #13 */ +static char col_sgr14[] = "#1fad83"; /* SGR color #14 */ +static char col_sgr15[] = "#fefbec"; /* SGR color #15 */ /* Alpha options */ static int alpha_itemnormfg = 255; /* Alpha for normal item foreground (0-255) */ From a78dddb597a5c3c762ae487564de3dc33fa8a4df Mon Sep 17 00:00:00 2001 From: speedie Date: Thu, 8 Jun 2023 13:46:28 +0200 Subject: [PATCH 2/6] Use rounded powerlines in the default config --- docs/example.Xresources | 8 ++++---- docs/spmenu.conf | 8 ++++---- options.h | 8 ++++---- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/docs/example.Xresources b/docs/example.Xresources index 935404e..37c549d 100644 --- a/docs/example.Xresources +++ b/docs/example.Xresources @@ -104,10 +104,10 @@ spmenu.powerlineprompt: 1 spmenu.powerlinecount: 1 spmenu.powerlinemode: 1 spmenu.powerlinecaps: 1 -spmenu.promptpwlstyle: 0 -spmenu.matchcountpwlstyle: 0 -spmenu.modepwlstyle: 0 -spmenu.capspwlstyle: 0 +spmenu.promptpwlstyle: 2 +spmenu.matchcountpwlstyle: 2 +spmenu.modepwlstyle: 2 +spmenu.capspwlstyle: 2 !! Misc color spmenu.globalcolors: 1 diff --git a/docs/spmenu.conf b/docs/spmenu.conf index 82f32c1..a1d75ff 100644 --- a/docs/spmenu.conf +++ b/docs/spmenu.conf @@ -137,10 +137,10 @@ spmenu = { } ); /* Powerline options */ - powerline = ( { promptstyle = 0; // Prompt powerline style (0: >, 1: \, 2: )) - matchcountstyle = 0; // Match count powerline style (0: <, 1: /, 2: () - modestyle = 0; // Mode indicator powerline style (0: <, 1: /, 2: () - capsstyle = 0; // Caps lock indicator powerline style (0: <, 1: /, 2: () + powerline = ( { promptstyle = 2; // Prompt powerline style (0: >, 1: \, 2: )) + matchcountstyle = 2; // Match count powerline style (0: <, 1: /, 2: () + modestyle = 2; // Mode indicator powerline style (0: <, 1: /, 2: () + capsstyle = 2; // Caps lock indicator powerline style (0: <, 1: /, 2: () prompt = 1; // Enable prompt powerline (0/1) matchcount = 1; // Enable match count powerline (0/1) mode = 1; // Enable mode indicator powerline (0/1) diff --git a/options.h b/options.h index 1f6da6f..dae8444 100644 --- a/options.h +++ b/options.h @@ -40,10 +40,10 @@ static int powerlineprompt = 1; /* Enable powerline for the prompt * static int powerlinecount = 1; /* Enable powerline for the match count */ static int powerlinemode = 1; /* Enable powerline for the mode indicator */ static int powerlinecaps = 1; /* Enable powerline for the caps lock indicator */ -static int promptpwlstyle = 0; /* Prompt powerline style (0: >, 1: \, 2: )) */ -static int matchcountpwlstyle = 0; /* Match count powerline style (0: <, 1: /, 2: () */ -static int modepwlstyle = 0; /* Mode indicator powerline style (0: <, 1: /, 2: () */ -static int capspwlstyle = 0; /* Caps lock indicator powerline style (0: <, 1: /, 2: () */ +static int promptpwlstyle = 2; /* Prompt powerline style (0: >, 1: \, 2: )) */ +static int matchcountpwlstyle = 2; /* Match count powerline style (0: <, 1: /, 2: () */ +static int modepwlstyle = 2; /* Mode indicator powerline style (0: <, 1: /, 2: () */ +static int capspwlstyle = 2; /* Caps lock indicator powerline style (0: <, 1: /, 2: () */ /* Window properties */ static int dockproperty = 1; /* Set _NET_WM_WINDOW_TYPE_DOCK */ From 505f06ac6c217538e9eede989f534868510dc9e2 Mon Sep 17 00:00:00 2001 From: speedie Date: Fri, 9 Jun 2023 00:48:19 +0200 Subject: [PATCH 3/6] Combine the long keybinds into one liners, meaning the default config is a lot more approachable to a beginner. --- docs/spmenu.conf | 503 +++++++---------------------------------------- 1 file changed, 67 insertions(+), 436 deletions(-) diff --git a/docs/spmenu.conf b/docs/spmenu.conf index 2f3421f..4bd7fce 100644 --- a/docs/spmenu.conf +++ b/docs/spmenu.conf @@ -276,444 +276,75 @@ spmenu = { } ); /* Keys + * + * Please note that at least on the US standard keyboard layout, + * `key` will differ if Shift is held down and the key is a number or symbol. * * See https://spmenu.speedie.site/index.php/Configurable+keybindings for a list of valid options. */ - 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"; - }, - // Ctrl+Enter: Mark input - { mode = -1; - modifier = "Ctrl"; - key = "Enter"; - function = "markitem"; - 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"; - }, - // -: Increase image size by 10 - { mode = 0; - modifier = "None"; - key = "="; - function = "setimgsize"; - argument = "+10"; - }, - // =: Decrease image size by 10 - { mode = 0; - modifier = "None"; - key = "-"; - function = "setimgsize"; - argument = "-10"; - }, - // Shift+=: Increase image size by 100 - { mode = 0; - modifier = "Shift"; - key = "+"; // Note that + is used instead of = because Shift is held down. - function = "setimgsize"; - argument = "+100"; - }, - // Shift+-: Decrease image size by 100 - { mode = 0; - modifier = "Shift"; - key = "_"; // Note that _ is used instead of - because Shift is held down. - function = "setimgsize"; - argument = "-100"; - }, - // Shift+0: Set image size to the default - { mode = 0; - modifier = "Shift"; - key = ")"; // Note that ) is used instead of 0 because Shift is held down. - function = "defaultimg"; - argument = "0"; - }, - // o: Toggle image position - { mode = 0; - modifier = "None"; - key = "o"; - function = "setimgpos"; - argument = "+1"; - }, - // p: Paste from clipboard - { mode = 0; - modifier = "None"; - key = "p"; - function = "paste"; - argument = "2"; - }, - // 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 = "!"; // Note that ! is used instead of 1 because Shift is held down. - function = "setimggaps"; - argument = "-100"; - }, - // Shift+2: Increase image gaps by 100 - { mode = 0; - modifier = "Shift"; - key = "@"; // Note that @ is used instead of 2 because Shift is held down. - function = "setimggaps"; - argument = "+100"; - }, - // t: Toggle image - { mode = 0; - modifier = "None"; - key = "t"; - function = "toggleimg"; - argument = "0"; - }, - // f: Toggle image full screen mode - { mode = 0; - modifier = "None"; - key = "f"; - function = "togglefullimg"; - 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"; - }, - // 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"; - }, - // Shift+d: Clear the input and enter insert mode - { mode = 0; - modifier = "Shift"; - key = "d"; - 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"; - function = "navhistory"; - argument = "+1"; - }, + keys = ( + { mode = -1; modifier = "None"; key = "Enter"; function = "selectitem"; argument = "+1"; }, // Enter: Select item + { mode = -1; modifier = "Shift"; key = "Enter"; function = "selectitem"; argument = "0"; }, // Shift+Enter: Select input + { mode = -1; modifier = "Ctrl"; key = "Enter"; function = "markitem"; argument = "0"; }, // Ctrl+Enter: Mark input + { mode = -1; modifier = "None"; key = "Tab"; function = "complete"; argument = "0"; }, // Tab: Tab complete + { mode = -1; modifier = "Ctrl"; key = "v"; function = "paste"; argument = "2"; }, // Ctrl+v: Paste from clipboard + { mode = -1; modifier = "Ctrl+Shift"; key = "v"; function = "paste"; argument = "1"; }, // Ctrl+Shift+v: Paste from selection + { mode = -1; modifier = "None"; key = "Backspace"; function = "backspace"; argument = "0"; }, // Backspace: Backspace + { mode = -1; modifier = "Ctrl"; key = "Backspace"; function = "deleteword"; argument = "0"; }, // Ctrl+Backspace: Delete word + { mode = -1; modifier = "Ctrl"; key = "Left"; function = "moveword"; argument = "-1"; }, // Ctrl+Left: Move caret (cursor) one word to the left + { mode = -1; modifier = "Ctrl"; key = "Right"; function = "moveword"; argument = "+1"; }, // Ctrl+Right: Move caret (cursor) one word to the right + { mode = -1; modifier = "None"; key = "Left"; function = "movecursor"; argument = "-1"; }, // Left: Move caret (cursor) one character to the left + { mode = -1; modifier = "None"; key = "Right"; function = "movecursor"; argument = "+1"; }, // Right: Move caret (cursor) one character to the right + { mode = -1; modifier = "Ctrl+Shift"; key = "p"; function = "setprofile"; argument = "0"; }, // Ctrl+Shift+p: Open profile menu + { mode = 1; modifier = "None"; key = "Esc"; function = "switchmode"; argument = "0"; }, // Escape: Switch mode + { mode = 0; modifier = "None"; key = "i"; function = "switchmode"; argument = "0"; }, // i: Switch mode + { mode = 0; modifier = "None"; key = "/"; function = "switchmode"; argument = "0"; }, // /: Switch mode + { mode = 0; modifier = "Ctrl"; key = "="; function = "setimgsize"; argument = "+1"; }, // Ctrl+=: Increase image size by 1 + { mode = 0; modifier = "Ctrl"; key = "-"; function = "setimgsize"; argument = "-1"; }, // Ctrl+-: Decrease image size by 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"; key = "+"; function = "setimgsize"; argument = "+100"; }, // 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 = "defaultimg"; argument = "0"; }, // Shift+0: Set image size to the default + { mode = 0; modifier = "None"; key = "o"; function = "setimgpos"; argument = "+1"; }, // o: Toggle image position + { mode = 0; modifier = "None"; key = "p"; function = "paste"; argument = "2"; }, // p: Paste from clipboard + { mode = 0; modifier = "Ctrl"; key = "1"; function = "setimggaps"; argument = "-1"; }, // Ctrl+1: Decrease image gaps by 1 + { mode = 0; modifier = "Ctrl"; key = "2"; function = "setimggaps"; argument = "+1"; }, // Ctrl+2: Increase image gaps by 1 + { mode = 0; modifier = "None"; key = "1"; function = "setimggaps"; argument = "-10"; }, // 1: Decrease image gaps by 10 + { mode = 0; modifier = "None"; key = "2"; function = "setimggaps"; argument = "+10"; }, // 2: Increase image gaps by 10 + { mode = 0; modifier = "Shift"; key = "!"; function = "setimggaps"; argument = "-100"; }, // Shift+1: Decrease image gaps by 100 + { mode = 0; modifier = "Shift"; key = "@"; function = "setimggaps"; argument = "+100"; }, // Shift+2: Increase image gaps by 100 + { mode = 0; modifier = "None"; key = "t"; function = "toggleimg"; argument = "0"; }, // t: Toggle image + { mode = 0; modifier = "None"; key = "f"; function = "togglefullimg"; argument = "0"; }, // f: Toggle image full screen mode + { mode = 0; modifier = "None"; key = "h"; function = "flipimg"; argument = "1"; }, // h: Flip image horizontally + { mode = 0; modifier = "None"; key = "v"; function = "flipimg"; argument = "0"; }, // v: Flip image vertically + { mode = 0; modifier = "None"; key = "k"; function = "moveup"; argument = "0"; }, // k: Move up 1 item + { mode = 0; modifier = "None"; key = "j"; function = "movedown"; argument = "0"; }, // j: Move down 1 item + { mode = 0; modifier = "None"; key = "h"; function = "moveleft"; argument = "0"; }, // h: Move left 1 item + { mode = 0; modifier = "None"; key = "l"; function = "moveright"; argument = "0"; }, // l: Move right 1 item + { mode = 0; modifier = "Ctrl"; key = "u"; function = "moveup"; argument = "5"; }, // Ctrl+u: Move up 5 items + { mode = 0; modifier = "Ctrl"; key = "d"; function = "movedown"; argument = "5"; }, // Ctrl+d: Move down 5 items + { mode = 0; modifier = "Ctrl"; key = "k"; function = "setlines"; argument = "+1"; }, // Ctrl+k: Increase lines by 1 + { mode = 0; modifier = "Ctrl"; key = "j"; function = "setlines"; argument = "-1"; }, // Ctrl+j: Decrease lines by 1 + { mode = 0; modifier = "Ctrl+Alt+Shift"; key = "k"; function = "setlines"; argument = "+5"; }, // Ctrl+Alt+Shift+k: Increase lines by 5 + { mode = 0; modifier = "Ctrl+Alt+Shift"; key = "j"; function = "setlines"; argument = "-5"; }, // Ctrl+Alt+Shift+j: Decrease lines by 5 + { mode = 0; modifier = "Ctrl"; key = "l"; function = "setcolumns"; argument = "+1"; }, // Ctrl+l: Increase columns by 1 + { mode = 0; modifier = "Ctrl"; key = "h"; function = "setcolumns"; argument = "-1"; }, // Ctrl+h: Decrease columns by 1 + { mode = 0; modifier = "Ctrl+Alt+Shift"; key = "h"; function = "setcolumns"; argument = "+5"; }, // Ctrl+Alt+Shift+h: Increase columns by 5 + { mode = 0; modifier = "Ctrl+Alt+Shift"; key = "l"; function = "setcolumns"; argument = "-5"; }, // Ctrl+Alt+Shift+l: Decrease columns by 5 + { mode = 0; modifier = "None"; key = "u"; function = "togglehighlight"; argument = "0"; }, // Ctrl+u: Toggle highlighting + { mode = 0; modifier = "Ctrl+Shift"; key = "h"; function = "viewhist"; argument = "0"; }, // Ctrl+h: Toggle viewing history buffer + { mode = 0; modifier = "None"; key = "d"; function = "clear"; argument = "0"; }, // d: Clear the input + { mode = 0; modifier = "Shift"; key = "d"; function = "clearins"; argument = "0"; }, // Shift+d: Clear the input and enter insert mode + { mode = 0; modifier = "None"; key = "Esc"; function = "quit"; argument = "0"; }, // Esc: Exit + { mode = 0; modifier = "None"; key = "Home"; function = "movestart"; argument = "0"; }, // Home: Move to the start + { mode = 0; modifier = "None"; key = "End"; function = "moveend"; argument = "0"; }, // End: Move to the end + { mode = 0; modifier = "None"; key = "g"; function = "movestart"; argument = "0"; }, // g: Move to the start + { mode = 0; modifier = "Shift"; key = "g"; function = "moveend"; argument = "0"; }, // Shift+g: Move to the end + { mode = 0; modifier = "None"; key = "Next"; function = "movenext"; argument = "0"; }, // Next: Move to the next entry (redo) + { mode = 0; modifier = "None"; key = "Prior"; function = "moveprev"; argument = "0"; }, // Prior: Move to the previous entry (undo) + { mode = 0; modifier = "Alt"; key = "p"; function = "navhistory"; argument = "-1"; }, // Alt+p: Navigate to the previous entry in the history buffer + { mode = 0; modifier = "Alt"; key = "n"; function = "navhistory"; argument = "+1"; }, // Alt+n: Navigate to the next entry in the history buffer - { ignoreglobalkeys = 1; // Ignore hardcoded keybinds (0/1) - } ), + { ignoreglobalkeys = 1; } ), // Ignore hardcoded keybinds (0/1) }; From da0faccfa3f9456b6697f69b39625e271991a830 Mon Sep 17 00:00:00 2001 From: speedie Date: Fri, 9 Jun 2023 02:52:53 +0200 Subject: [PATCH 4/6] Move some configuration stuff around --- docs/spmenu.conf | 45 +++++++++++---------------------------------- libs/conf/config.c | 12 ++++++------ 2 files changed, 17 insertions(+), 40 deletions(-) diff --git a/docs/spmenu.conf b/docs/spmenu.conf index 4bd7fce..ad34bbd 100644 --- a/docs/spmenu.conf +++ b/docs/spmenu.conf @@ -40,6 +40,8 @@ spmenu = { password = "*"; // Password character (text) prompt = ""; // Prompt text (text) input = ""; // Input text (text) + normal = "Normal"; // Normal mode text (text) + insert = "Insert"; // Insert mode text (text) capslockon = "Caps Lock"; // Caps Lock On text (text) capslockoff = ""; // Caps Lock Off text (text) } ); @@ -220,8 +222,6 @@ spmenu = { /* Mode options */ mode = ( { default = 0; // Mode to start spmenu in (0: Normal mode, 1: Insert mode) - normal_text = "Normal"; // Normal mode text (text) - insert_text = "Insert"; // Insert mode text (text) } ); /* Pango markup options */ @@ -241,39 +241,15 @@ spmenu = { * * See https://spmenu.speedie.site/index.php/Configurable+keybindings for a list of valid options. */ - mouse = ( // Left click on input: Clear the input - { click = "ClickInput"; - button = "Left Click"; - function = "clear"; - argument = "0"; - }, - // Left click on prompt: Clear the input - { click = "ClickPrompt"; - button = "Left Click"; - function = "clear"; - argument = "0"; - }, - // Left click on the mode indicator: Toggle mode - { click = "ClickMode"; - button = "Left Click"; - function = "switchmode"; - argument = "0"; - }, - // Click on the match count: Toggle viewing history buffer - { click = "ClickNumber"; - button = "Left Click"; - function = "viewhist"; - argument = "0"; - }, - // Left click on an item: Select it - { click = "ClickSelItem"; - button = "Left Click"; - function = "None"; - argument = "0"; - }, + mouse = ( + /* Click Button Function Argument */ + { click = "ClickInput"; button = "Left Click"; function = "clear"; argument = "0"; }, // Left click on input: Clear the input + { click = "ClickPrompt"; button = "Left Click"; function = "clear"; argument = "0"; }, // Left click on prompt: Clear the input + { click = "ClickMode"; button = "Left Click"; function = "switchmode"; argument = "0"; }, // Left click on the mode indicator: Toggle mode + { click = "ClickNumber"; button = "Left Click"; function = "viewhist"; argument = "0"; }, // Click on the match count: Toggle viewing history buffer + { click = "ClickSelItem"; button = "Left Click"; function = "None"; argument = "0"; }, // Left click on an item: Select it - { ignoreglobalmouse = 1; // Ignore hardcoded mouse binds (0/1) - } ); + { ignoreglobalmouse = 1; } ); // Ignore hardcoded mouse binds (0/1) /* Keys * @@ -283,6 +259,7 @@ spmenu = { * See https://spmenu.speedie.site/index.php/Configurable+keybindings for a list of valid options. */ keys = ( + /* Mode Modifier Key Function Argument */ { mode = -1; modifier = "None"; key = "Enter"; function = "selectitem"; argument = "+1"; }, // Enter: Select item { mode = -1; modifier = "Shift"; key = "Enter"; function = "selectitem"; argument = "0"; }, // Shift+Enter: Select input { mode = -1; modifier = "Ctrl"; key = "Enter"; function = "markitem"; argument = "0"; }, // Ctrl+Enter: Mark input diff --git a/libs/conf/config.c b/libs/conf/config.c index 773c175..f55cd2e 100644 --- a/libs/conf/config.c +++ b/libs/conf/config.c @@ -158,6 +158,12 @@ void conf_init(void) { if (config_setting_lookup_string(conf, "capslockoff", &dest)) capslockofftext = strdup(dest); + if (config_setting_lookup_string(conf, "normal", &dest)) + normtext = strdup(dest); + + if (config_setting_lookup_string(conf, "insert", &dest)) + instext = strdup(dest); + if (config_setting_lookup_string(conf, "input", &dest)) input = strdup(dest); } @@ -468,12 +474,6 @@ void conf_init(void) { // look up config_setting_lookup_int(conf, "default", &mode); // spmenu.mode.default - - config_setting_lookup_string(conf, "normal_text", &dest); // spmenu.mode.normal_text - normtext = strdup(dest); - - config_setting_lookup_string(conf, "insert_text", &dest); // spmenu.mode.insert_text - instext = strdup(dest); } } From 807b37858266a3672882bc7137d92204db9ae9b1 Mon Sep 17 00:00:00 2001 From: speedie Date: Fri, 9 Jun 2023 03:36:56 +0200 Subject: [PATCH 5/6] Indent lines in config file, replace many colors. Colors still need to be replaced in options.h and example.Xresources though. --- docs/spmenu.conf | 353 ++++++++++++++++++++++++----------------------- 1 file changed, 177 insertions(+), 176 deletions(-) diff --git a/docs/spmenu.conf b/docs/spmenu.conf index ad34bbd..a87875b 100644 --- a/docs/spmenu.conf +++ b/docs/spmenu.conf @@ -9,232 +9,233 @@ */ spmenu = { /* General window options */ - window = ( { position = 2; // Menu position (0: Bottom, 1: Top, 2: Center) - border = 0; // Window border size (px) - margin-vertical = 0; // Inner vertical padding (px) - margin-horizontal = 0; // Inner horizontal padding (px) - padding-vertical = 0; // Outer vertical padding (px) + window = ( { position = 2; // Menu position (0: Bottom, 1: Top, 2: Center) + monitor = -1; // Monitor to spawn spmenu on, (-1, 0, 1, ...) + protocol = 1; // Protocol to attempt to use by default (0: X11, 1: Wayland) + border = 0; // X11 window border size (px) + margin-vertical = 0; // Inner vertical padding (px) + margin-horizontal = 0; // Inner horizontal padding (px) + padding-vertical = 0; // Outer vertical padding (px) padding-horizontal = 0; // Outer horizontal padding (px) - x = 0; // X position offset (px) - y = 0; // Y position offset (px) - width = 0; // Width when X and/or Y offset is set, 0 is the default (px) - monitor = -1; // Monitor to spawn spmenu on, (-1, 0, 1, ...) - managed = 0; // Allow your window manager to manage spmenu as a window (0/1) - alpha = 1; // Enable alpha/transparency (0/1) - protocol = 1; // Protocol to attempt to use by default (0: X11, 1: Wayland) + width = 0; // Width when X and/or Y offset is set, 0 is the default (px) + managed = 0; // Allow your window manager to manage spmenu as a window (0/1) + alpha = 1; // Enable alpha/transparency (0/1) + x = 0; // X position offset (px) + y = 0; // Y position offset (px) } ); /* X11 properties */ - properties = ( { class = "spmenu"; // _WM_CLASS property, for compatibility you may want to set it to 'dmenu'. (text) - dock = 1; // Set _NET_WM_WINDOW_TYPE_DOCK (0/1) + properties = ( { class = "spmenu"; // _WM_CLASS property, for compatibility you may want to set it to 'dmenu'. (text) + dock = 1; // Set _NET_WM_WINDOW_TYPE_DOCK (0/1) } ); /* Text */ - text = ( { font = "Noto Sans Mono 8"; // Font to use for all text (text) - padding = 0; // Horizontal padding around the text globally (px) - normitempadding = 0; // Horizontal padding around the normal item text (px) - selitempadding = 0; // Horizontal padding around the selected item text (px) - priitempadding = 0; // Horizontal padding around the high priority item text (px) - leftarrow = "<"; // Left arrow text (text) - rightarrow = ">"; // Right arrow text (text) - password = "*"; // Password character (text) - prompt = ""; // Prompt text (text) - input = ""; // Input text (text) - normal = "Normal"; // Normal mode text (text) - insert = "Insert"; // Insert mode text (text) - capslockon = "Caps Lock"; // Caps Lock On text (text) - capslockoff = ""; // Caps Lock Off text (text) + text = ( { font = "Noto Sans Mono 8"; // Font to use for all text (text) + padding = 0; // Horizontal padding around the text globally (px) + normitempadding = 0; // Horizontal padding around the normal item text (px) + selitempadding = 0; // Horizontal padding around the selected item text (px) + priitempadding = 0; // Horizontal padding around the high priority item text (px) + leftarrow = "<"; // Left arrow text (text) + rightarrow = ">"; // Right arrow text (text) + password = "*"; // Password character (text) + prompt = ""; // Prompt text (text) + input = ""; // Input text (text) + normal = "Normal"; // Normal mode text (text) + insert = "Insert"; // Insert mode text (text) + capslockon = "Caps Lock"; // Caps Lock On text (text) + capslockoff = ""; // Caps Lock Off text (text) } ); /* Colors */ - color = ( { itemnormfg = "#bbbbbb"; // Normal item foreground color (#RRGGBB) - itemnormbg = "#222222"; // Normal item background color (#RRGGBB) - itemnormfg2 = "#bbbbbb"; // Normal next item foreground color (#RRGGBB) - itemnormbg2 = "#222222"; // Normal next item background color (#RRGGBB) - itemselfg = "#eeeeee"; // Selected item foreground color (#RRGGBB) - itemselbg = "#35638A"; // Selected item background color (#RRGGBB) - itemmarkedfg = "#eeeeee"; // Marked item foreground color (#RRGGBB) - itemmarkedbg = "#35638A"; // Marked item background color (#RRGGBB) - itemnormprifg = "#bbbbbb"; // Normal priority item foreground color (#RRGGBB) - itemnormpribg = "#222222"; // Normal priority item background color (#RRGGBB) - itemselprifg = "#eeeeee"; // Selected priority item foreground color (#RRGGBB) - itemselpribg = "#35638A"; // Selected priority item background color (#RRGGBB) - inputfg = "#eeeeee"; // Input foreground color (#RRGGBB) - inputbg = "#222222"; // Input background color (#RRGGBB) - menu = "#222222"; // Menu color (#RRGGBB) - promptfg = "#eeeeee"; // Prompt foreground color (#RRGGBB) - promptbg = "#35526b"; // Prompt background color (#RRGGBB) - larrowfg = "#bbbbbb"; // Left arrow foreground color (#RRGGBB) - larrowbg = "#222222"; // Left arrow background color (#RRGGBB) - rarrowfg = "#bbbbbb"; // Right arrow foreground color (#RRGGBB) - rarrowbg = "#222222"; // Right arrow background color (#RRGGBB) - hlnormfg = "#ffffff"; // Normal highlight foreground color (#RRGGBB) - hlnormbg = "#000000"; // Normal highlight background color (#RRGGBB) - hlselfg = "#ffffff"; // Selected highlight foreground color (#RRGGBB) - hlselbg = "#000000"; // Selected highlight background color (#RRGGBB) - numfg = "#ffffff"; // Match count foreground color (#RRGGBB) - numbg = "#2d3856"; // Match count background color (#RRGGBB) - modefg = "#ffffff"; // Mode indicator foreground color (#RRGGBB) - modebg = "#35638A"; // Mode indicator background color (#RRGGBB) - capsfg = "#ffffff"; // Caps lock indicator foreground color (#RRGGBB) - capsbg = "#45638A"; // Caps lock indicator background color (#RRGGBB) - border = "#35638A"; // Border color (#RRGGBB) - caretfg = "#ffffff"; // Caret (cursor) foreground color (#RRGGBB) - caretbg = "#222222"; // Caret (cursor) background color (#RRGGBB) - sgr0 = "#20201d"; // SGR 0 color (#RRGGBB) - sgr1 = "#d73737"; // SGR 1 color (#RRGGBB) - sgr2 = "#60ac39"; // SGR 2 color (#RRGGBB) - sgr3 = "#cfb017"; // SGR 3 color (#RRGGBB) - sgr4 = "#6684e1"; // SGR 4 color (#RRGGBB) - sgr5 = "#b854d4"; // SGR 5 color (#RRGGBB) - sgr6 = "#1fad83"; // SGR 6 color (#RRGGBB) - sgr7 = "#a6a28c"; // SGR 7 color (#RRGGBB) - sgr8 = "#7d7a68"; // SGR 8 color (#RRGGBB) - sgr9 = "#d73737"; // SGR 9 color (#RRGGBB) - sgr10 = "#60ac39"; // SGR 10 color (#RRGGBB) - sgr11 = "#cfb017"; // SGR 11 color (#RRGGBB) - sgr12 = "#6684e1"; // SGR 12 color (#RRGGBB) - sgr13 = "#b854d4"; // SGR 13 color (#RRGGBB) - sgr14 = "#1fad83"; // SGR 14 color (#RRGGBB) - sgr15 = "#fefbec"; // SGR 15 color (#RRGGBB) - coloritems = 1; // Color the selected item (0/1) - sgr = 1; // Interpret SGR sequences (0/1) + color = ( { itemnormfg = "#bbbbbb"; // Normal item foreground color (#RRGGBB) + itemnormbg = "#110f1f"; // Normal item background color (#RRGGBB) + itemnormfg2 = "#bbbbbb"; // Normal next item foreground color (#RRGGBB) + itemnormbg2 = "#110f1f"; // Normal next item background color (#RRGGBB) + itemselfg = "#eeeeee"; // Selected item foreground color (#RRGGBB) + itemselbg = "#8e93c2"; // Selected item background color (#RRGGBB) + itemmarkedfg = "#eeeeee"; // Marked item foreground color (#RRGGBB) + itemmarkedbg = "#ece0dc"; // Marked item background color (#RRGGBB) + itemnormprifg = "#bbbbbb"; // Normal priority item foreground color (#RRGGBB) + itemnormpribg = "#110f1f"; // Normal priority item background color (#RRGGBB) + itemselprifg = "#eeeeee"; // Selected priority item foreground color (#RRGGBB) + itemselpribg = "#ece0dc"; // Selected priority item background color (#RRGGBB) + inputfg = "#eeeeee"; // Input foreground color (#RRGGBB) + inputbg = "#110f1f"; // Input background color (#RRGGBB) + menu = "#110f1f"; // Menu color (#RRGGBB) + promptfg = "#110f1f"; // Prompt foreground color (#RRGGBB) + promptbg = "#c66e5b"; // Prompt background color (#RRGGBB) + larrowfg = "#bbbbbb"; // Left arrow foreground color (#RRGGBB) + larrowbg = "#110f1f"; // Left arrow background color (#RRGGBB) + rarrowfg = "#bbbbbb"; // Right arrow foreground color (#RRGGBB) + rarrowbg = "#110f1f"; // Right arrow background color (#RRGGBB) + hlnormfg = "#ffffff"; // Normal highlight foreground color (#RRGGBB) + hlnormbg = "#000000"; // Normal highlight background color (#RRGGBB) + hlselfg = "#ffffff"; // Selected highlight foreground color (#RRGGBB) + hlselbg = "#000000"; // Selected highlight background color (#RRGGBB) + numfg = "#110f1f"; // Match count foreground color (#RRGGBB) + numbg = "#eba62a"; // Match count background color (#RRGGBB) + modefg = "#110f1f"; // Mode indicator foreground color (#RRGGBB) + modebg = "#92c94b"; // Mode indicator background color (#RRGGBB) + capsfg = "#110f1f"; // Caps lock indicator foreground color (#RRGGBB) + capsbg = "#f8d3e6"; // Caps lock indicator background color (#RRGGBB) + border = "#ece0dc"; // Border color (#RRGGBB) + caretfg = "#ffffff"; // Caret (cursor) foreground color (#RRGGBB) + caretbg = "#110f1f"; // Caret (cursor) background color (#RRGGBB) + sgr0 = "#20201d"; // SGR 0 color (#RRGGBB) + sgr1 = "#d73737"; // SGR 1 color (#RRGGBB) + sgr2 = "#60ac39"; // SGR 2 color (#RRGGBB) + sgr3 = "#cfb017"; // SGR 3 color (#RRGGBB) + sgr4 = "#6684e1"; // SGR 4 color (#RRGGBB) + sgr5 = "#b854d4"; // SGR 5 color (#RRGGBB) + sgr6 = "#1fad83"; // SGR 6 color (#RRGGBB) + sgr7 = "#a6a28c"; // SGR 7 color (#RRGGBB) + sgr8 = "#7d7a68"; // SGR 8 color (#RRGGBB) + sgr9 = "#d73737"; // SGR 9 color (#RRGGBB) + sgr10 = "#60ac39"; // SGR 10 color (#RRGGBB) + sgr11 = "#cfb017"; // SGR 11 color (#RRGGBB) + sgr12 = "#6684e1"; // SGR 12 color (#RRGGBB) + sgr13 = "#b854d4"; // SGR 13 color (#RRGGBB) + sgr14 = "#1fad83"; // SGR 14 color (#RRGGBB) + sgr15 = "#fefbec"; // SGR 15 color (#RRGGBB) + + coloritems = 1; // Color the selected item (0/1) + sgr = 1; // Interpret SGR sequences (0/1) } ); /* Alpha */ - alpha = ( { itemnormfg = 255; // Normal item foreground alpha (0-255) - itemnormbg = 200; // Normal item background alpha (0-255) - itemnormfg2 = 255; // Normal next item foreground alpha (0-255) - itemnormbg2 = 200; // Normal next item background alpha (0-255) - itemselfg = 255; // Selected item foreground alpha (0-255) - itemselbg = 200; // Selected item background alpha (0-255) - itemmarkedfg = 255; // Marked item foreground alpha (0-255) - itemmarkedbg = 200; // Marked item background alpha (0-255) - itemnormprifg = 255; // Normal priority item foreground alpha (0-255) - itemnormpribg = 200; // Normal priority item background alpha (0-255) - itemselprifg = 255; // Selected priority item foreground alpha (0-255) - itemselpribg = 200; // Selected priority item background alpha (0-255) - inputfg = 255; // Input foreground alpha (0-255) - inputbg = 200; // Input background alpha (0-255) - menu = 200; // Menu alpha (0-255) - promptfg = 255; // Prompt foreground alpha (0-255) - promptbg = 200; // Prompt background alpha (0-255) - larrowfg = 255; // Left arrow foreground alpha (0-255) - larrowbg = 200; // Left arrow background alpha (0-255) - rarrowfg = 255; // Right arrow foreground alpha (0-255) - rarrowbg = 200; // Right arrow background alpha (0-255) - hlnormfg = 255; // Normal highlight foreground alpha (0-255) - hlnormbg = 200; // Normal highlight background alpha (0-255) - hlselfg = 255; // Selected highlight foreground alpha (0-255) - hlselbg = 200; // Selected highlight background alpha (0-255) - numfg = 255; // Match count foreground alpha (0-255) - numbg = 200; // Match count background alpha (0-255) - border = 255; // Border alpha (0-255) - caretfg = 255; // Caret (cursor) foreground alpha (0-255) - caretbg = 200; // Caret (cursor) background alpha (0-255) - modefg = 255; // Mode indicator foreground alpha (0-255) - modebg = 200; // Mode indicator background alpha (0-255) - capsfg = 255; // Caps Lock indicator foreground alpha (0-255) - capsbg = 200; // Caps Lock indicator background alpha (0-255) + alpha = ( { itemnormfg = 255; // Normal item foreground alpha (0-255) + itemnormbg = 200; // Normal item background alpha (0-255) + itemnormfg2 = 255; // Normal next item foreground alpha (0-255) + itemnormbg2 = 200; // Normal next item background alpha (0-255) + itemselfg = 255; // Selected item foreground alpha (0-255) + itemselbg = 200; // Selected item background alpha (0-255) + itemmarkedfg = 255; // Marked item foreground alpha (0-255) + itemmarkedbg = 200; // Marked item background alpha (0-255) + itemnormprifg = 255; // Normal priority item foreground alpha (0-255) + itemnormpribg = 200; // Normal priority item background alpha (0-255) + itemselprifg = 255; // Selected priority item foreground alpha (0-255) + itemselpribg = 200; // Selected priority item background alpha (0-255) + inputfg = 255; // Input foreground alpha (0-255) + inputbg = 200; // Input background alpha (0-255) + menu = 200; // Menu alpha (0-255) + promptfg = 255; // Prompt foreground alpha (0-255) + promptbg = 200; // Prompt background alpha (0-255) + larrowfg = 255; // Left arrow foreground alpha (0-255) + larrowbg = 200; // Left arrow background alpha (0-255) + rarrowfg = 255; // Right arrow foreground alpha (0-255) + rarrowbg = 200; // Right arrow background alpha (0-255) + hlnormfg = 255; // Normal highlight foreground alpha (0-255) + hlnormbg = 200; // Normal highlight background alpha (0-255) + hlselfg = 255; // Selected highlight foreground alpha (0-255) + hlselbg = 200; // Selected highlight background alpha (0-255) + numfg = 255; // Match count foreground alpha (0-255) + numbg = 200; // Match count background alpha (0-255) + border = 255; // Border alpha (0-255) + caretfg = 255; // Caret (cursor) foreground alpha (0-255) + caretbg = 200; // Caret (cursor) background alpha (0-255) + modefg = 255; // Mode indicator foreground alpha (0-255) + modebg = 200; // Mode indicator background alpha (0-255) + capsfg = 255; // Caps Lock indicator foreground alpha (0-255) + capsbg = 200; // Caps Lock indicator background alpha (0-255) } ); /* Powerline options */ - powerline = ( { promptstyle = 2; // Prompt powerline style (0: >, 1: \, 2: )) + powerline = ( { promptstyle = 2; // Prompt powerline style (0: >, 1: \, 2: )) matchcountstyle = 2; // Match count powerline style (0: <, 1: /, 2: () - modestyle = 2; // Mode indicator powerline style (0: <, 1: /, 2: () - capsstyle = 2; // Caps lock indicator powerline style (0: <, 1: /, 2: () - prompt = 1; // Enable prompt powerline (0/1) - matchcount = 1; // Enable match count powerline (0/1) - mode = 1; // Enable mode indicator powerline (0/1) - caps = 1; // Enable caps lock indicator powerline (0/1) + modestyle = 2; // Mode indicator powerline style (0: <, 1: /, 2: () + capsstyle = 2; // Caps lock indicator powerline style (0: <, 1: /, 2: () + prompt = 1; // Enable prompt powerline (0/1) + matchcount = 1; // Enable match count powerline (0/1) + mode = 1; // Enable mode indicator powerline (0/1) + caps = 1; // Enable caps lock indicator powerline (0/1) } ); /* Hide options */ - hide = ( { input = 0; // Hide input (0/1) - larrow = 0; // Hide left arrow (0/1) - rarrow = 0; // Hide right arrow (0/1) - items = 0; // Hide items (0/1) - prompt = 0; // Hide prompt (0/1) - powerline = 0; // Hide powerline (0/1) - caret = 0; // Hide caret (cursor) (0/1) - highlight = 0; // Hide highlighting (0/1) - matchcount = 0; // Hide match count (0/1) - mode = 0; // Hide mode indicator (0/1) - caps = 0; // Hide caps lock indicator (0/1) - image = 0; // Hide images (0/1) + hide = ( { input = 0; // Hide input (0/1) + larrow = 0; // Hide left arrow (0/1) + rarrow = 0; // Hide right arrow (0/1) + items = 0; // Hide items (0/1) + prompt = 0; // Hide prompt (0/1) + powerline = 0; // Hide powerline (0/1) + caret = 0; // Hide caret (cursor) (0/1) + highlight = 0; // Hide highlighting (0/1) + matchcount = 0; // Hide match count (0/1) + mode = 0; // Hide mode indicator (0/1) + caps = 0; // Hide caps lock indicator (0/1) + image = 0; // Hide images (0/1) } ); /* Match options */ - match = ( { sort = 1; // Sort items (0/1) - casesensitive = 0; // Enable case sensitivity when matching (0/1) - fuzzy = 1; // Enable fuzzy finding (0/1) - preselected = 0; // Preselect an item, 0 is the first item (number) - mark = 1; // Allow marking/selecting multiple items (0/1) - delimiters = " "; // Word delimiter, used to delete words (text) - listfile = "NULL"; // File to read entries from. If set to NULL standard input is read. This is read every time a key is pressed. (text) + match = ( { sort = 1; // Sort items (0/1) + casesensitive = 0; // Enable case sensitivity when matching (0/1) + fuzzy = 1; // Enable fuzzy finding (0/1) + preselected = 0; // Preselect an item, 0 is the first item (number) + mark = 1; // Allow marking/selecting multiple items (0/1) + delimiters = " "; // Word delimiter, used to delete words (text) + listfile = "NULL"; // File to read entries from. If set to NULL standard input is read. This is read every time a key is pressed. (text) } ); /* Line options */ - line = ( { height = 1; // Height of each line (px) - lines = 0; // Number of lines (number) - columns = 10; // Number of columns (number) - indentitems = 1; // Indent items to prompt width (0/1) + line = ( { height = 1; // Height of each line (px) + lines = 0; // Number of lines (number) + columns = 10; // Number of columns (number) + indentitems = 1; // Indent items to prompt width (0/1) } ); /* History options */ - history = ( { max = 64; // Max number of entries (number) - duplicate = 0; // Save duplicate entries (0/1) + history = ( { max = 64; // Max number of entries (number) + duplicate = 0; // Save duplicate entries (0/1) } ); /* Centered options */ - center = ( { width = 1000; // Menu width when centered (px) + center = ( { width = 1000; // Menu width when centered (px) } ); /* Image options */ - image = ( { width = 200; // Image width (px) - height = 200; // Image height (px) - gaps = 0; // Image gaps (px) - position = 0; // Image position (0: Top, 1: Bottom, 2: Center, 3: Top center) - cache = 1; // Cache images (0/1) - maxcache = 512; // Max image size to cache (px) - cachedir = "default"; // Cache directory. "default" means spmenu will determine automatically based on $XDG_CACHE_DIR + image = ( { width = 200; // Image width (px) + height = 200; // Image height (px) + gaps = 0; // Image gaps (px) + position = 0; // Image position (0: Top, 1: Bottom, 2: Center, 3: Top center) + cache = 1; // Cache images (0/1) + maxcache = 512; // Max image size to cache (px) + cachedir = "default"; // Cache directory. "default" means spmenu will determine automatically based on $XDG_CACHE_DIR } ); /* File options */ - file = ( { xresources = 1; // Load .Xresources on startup (0/1) - global = 1; // Read global .Xresources colors, programs like Pywal use this. (*.color0, *.color1, etc.) (0/1) - theme = 1; // Load theme (~/.config/spmenu/theme.conf) on runtime - binds = 1; // Load binds (~/.config/spmenu/binds.conf) on runtime - themefile = "NULL"; // Path to theme file to load on runtime. NULL means default. - bindsfile = "NULL"; // Path to binds file to load on runtime. NULL means default. + file = ( { xresources = 1; // Load .Xresources on startup (0/1) + global = 1; // Read global .Xresources colors, programs like Pywal use this. (*.color0, *.color1, etc.) (0/1) + theme = 1; // Load theme (~/.config/spmenu/theme.conf) on runtime + binds = 1; // Load binds (~/.config/spmenu/binds.conf) on runtime + themefile = "NULL"; // Path to theme file to load on runtime. NULL means default. + bindsfile = "NULL"; // Path to binds file to load on runtime. NULL means default. } ); /* Input options */ - input = ( { fast = 1; // Grab keyboard before matching entries (0/1) - type = 1; // Allow typing - password = 0; // Don't read standard input and replace all characters with the password character (0/1) + input = ( { fast = 1; // Grab keyboard before matching entries (0/1) + type = 1; // Allow typing + password = 0; // Don't read standard input and replace all characters with the password character (0/1) } ); /* Output options */ - output = ( { printindex = 0; // Print index instead of actual text (0/1) - incremental = 0; // Print text on every keypress (0/1) + output = ( { printindex = 0; // Print index instead of actual text (0/1) + incremental = 0; // Print text on every keypress (0/1) } ); /* Mode options */ - mode = ( { default = 0; // Mode to start spmenu in (0: Normal mode, 1: Insert mode) + mode = ( { default = 0; // Mode to start spmenu in (0: Normal mode, 1: Insert mode) } ); /* Pango markup options */ - pango = ( { item = 1; // Interpret Pango markup for items (0/1) - highlight = 1; // Intepret Pango markup for highlighting (0/1) - prompt = 1; // Interpret Pango markup for the prompt (0/1) - input = 1; // Interpret Pango markup for the input (0/1) - leftarrow = 0; // Interpret Pango markup for the left arrow (0/1) - rightarrow = 0; // Interpret Pango markup for the right arrow (0/1) - numbers = 0; // Interpret Pango markup for the match count (0/1) - mode = 0; // Interpret Pango markup for the mode indicator (0/1) - caps = 0; // Interpret Pango markup for the caps lock indicator (0/1) - password = 0; // Interpret Pango markup for password input (0/1) + pango = ( { item = 1; // Interpret Pango markup for items (0/1) + highlight = 1; // Intepret Pango markup for highlighting (0/1) + prompt = 1; // Interpret Pango markup for the prompt (0/1) + input = 1; // Interpret Pango markup for the input (0/1) + leftarrow = 0; // Interpret Pango markup for the left arrow (0/1) + rightarrow = 0; // Interpret Pango markup for the right arrow (0/1) + numbers = 0; // Interpret Pango markup for the match count (0/1) + mode = 0; // Interpret Pango markup for the mode indicator (0/1) + caps = 0; // Interpret Pango markup for the caps lock indicator (0/1) + password = 0; // Interpret Pango markup for password input (0/1) } ); /* Mouse bindings From 498b786b234fb79dfcbb7a6383b3e3bad2358db3 Mon Sep 17 00:00:00 2001 From: speedie Date: Fri, 9 Jun 2023 03:50:31 +0200 Subject: [PATCH 6/6] Some more colorscheme changes, update options.h and example.Xresources --- docs/example.Xresources | 46 +++++++++++++++++++-------------------- docs/spmenu.conf | 14 ++++++------ options.h | 48 ++++++++++++++++++++--------------------- 3 files changed, 54 insertions(+), 54 deletions(-) diff --git a/docs/example.Xresources b/docs/example.Xresources index 37c549d..ae07ef7 100644 --- a/docs/example.Xresources +++ b/docs/example.Xresources @@ -13,39 +13,39 @@ spmenu.priitempadding: 0 !! Colors spmenu.col_itemnormfg: #bbbbbb -spmenu.col_itemnormbg: #222222 +spmenu.col_itemnormbg: #110f1f spmenu.col_itemnormfg2: #bbbbbb -spmenu.col_itemnormbg2: #222222 -spmenu.col_itemselfg: #eeeeee -spmenu.col_itemselbg: #35638A -spmenu.col_itemmarkedfg: #eeeeee -spmenu.col_itemmarkedbg: #35638A -spmenu.col_itemnormprifg: #bbbbbb -spmenu.col_itemnormpribg: #222222 -spmenu.col_itemselprifg: #eeeeee -spmenu.col_itemselpribg: #35638A -spmenu.col_menu: #222222 -spmenu.col_promptfg: #eeeeee -spmenu.col_promptbg: #35526b +spmenu.col_itemnormbg2: #110f1f +spmenu.col_itemselfg: #110f1f +spmenu.col_itemselbg: #8e93c2 +spmenu.col_itemmarkedfg: #110f1f +spmenu.col_itemmarkedbg: #8e93c2 +spmenu.col_itemnormprifg: #110f1f +spmenu.col_itemnormpribg: #110f1f +spmenu.col_itemselprifg: #110f1f +spmenu.col_itemselpribg: #8e93c2 +spmenu.col_menu: #110f1f +spmenu.col_promptfg: #110f1f +spmenu.col_promptbg: #c66e5b spmenu.col_larrowfg: #bbbbbb spmenu.col_rarrowfg: #bbbbbb -spmenu.col_larrowbg: #222222 -spmenu.col_rarrowbg: #222222 +spmenu.col_larrowbg: #110f1f +spmenu.col_rarrowbg: #110f1f spmenu.col_inputfg: #eeeeee -spmenu.col_inputbg: #222222 -spmenu.col_numfg: #ffffff +spmenu.col_inputbg: #110f1f +spmenu.col_numfg: #110f1f spmenu.col_numbg: #2d3856 spmenu.col_hlnormfg: #ffffff spmenu.col_hlnormbg: #000000 spmenu.col_hlselfg: #ffffff spmenu.col_hlselbg: #000000 spmenu.col_caretfg: #ffffff -spmenu.col_caretbg: #222222 -spmenu.col_border: #35638A -spmenu.col_modefg: #ffffff -spmenu.col_modebg: #35638A -spmenu.col_capsfg: #ffffff -spmenu.col_capsbg: #45638A +spmenu.col_caretbg: #110f1f +spmenu.col_border: #8e93c2 +spmenu.col_modefg: #110f1f +spmenu.col_modebg: #92c94b +spmenu.col_capsfg: #110f1f +spmenu.col_capsbg: #f8d3e6 spmenu.col_sgr0: #20201d spmenu.col_sgr1: #d73737 spmenu.col_sgr2: #60ac39 diff --git a/docs/spmenu.conf b/docs/spmenu.conf index a87875b..ac8bd27 100644 --- a/docs/spmenu.conf +++ b/docs/spmenu.conf @@ -51,14 +51,14 @@ spmenu = { itemnormbg = "#110f1f"; // Normal item background color (#RRGGBB) itemnormfg2 = "#bbbbbb"; // Normal next item foreground color (#RRGGBB) itemnormbg2 = "#110f1f"; // Normal next item background color (#RRGGBB) - itemselfg = "#eeeeee"; // Selected item foreground color (#RRGGBB) + itemselfg = "#110f1f"; // Selected item foreground color (#RRGGBB) itemselbg = "#8e93c2"; // Selected item background color (#RRGGBB) - itemmarkedfg = "#eeeeee"; // Marked item foreground color (#RRGGBB) - itemmarkedbg = "#ece0dc"; // Marked item background color (#RRGGBB) - itemnormprifg = "#bbbbbb"; // Normal priority item foreground color (#RRGGBB) + itemmarkedfg = "#110f1f"; // Marked item foreground color (#RRGGBB) + itemmarkedbg = "#8e93c2"; // Marked item background color (#RRGGBB) + itemnormprifg = "#110f1f"; // Normal priority item foreground color (#RRGGBB) itemnormpribg = "#110f1f"; // Normal priority item background color (#RRGGBB) - itemselprifg = "#eeeeee"; // Selected priority item foreground color (#RRGGBB) - itemselpribg = "#ece0dc"; // Selected priority item background color (#RRGGBB) + itemselprifg = "#110f1f"; // Selected priority item foreground color (#RRGGBB) + itemselpribg = "#8e93c2"; // Selected priority item background color (#RRGGBB) inputfg = "#eeeeee"; // Input foreground color (#RRGGBB) inputbg = "#110f1f"; // Input background color (#RRGGBB) menu = "#110f1f"; // Menu color (#RRGGBB) @@ -78,7 +78,7 @@ spmenu = { modebg = "#92c94b"; // Mode indicator background color (#RRGGBB) capsfg = "#110f1f"; // Caps lock indicator foreground color (#RRGGBB) capsbg = "#f8d3e6"; // Caps lock indicator background color (#RRGGBB) - border = "#ece0dc"; // Border color (#RRGGBB) + border = "#8e93c2"; // Border color (#RRGGBB) caretfg = "#ffffff"; // Caret (cursor) foreground color (#RRGGBB) caretbg = "#110f1f"; // Caret (cursor) background color (#RRGGBB) sgr0 = "#20201d"; // SGR 0 color (#RRGGBB) diff --git a/options.h b/options.h index dae8444..e685a39 100644 --- a/options.h +++ b/options.h @@ -121,34 +121,34 @@ static int hideimage = 0; /* Hide image (0/1) */ * * Item colors */ static char col_itemnormfg[] = "#bbbbbb"; /* Normal foreground item color */ -static char col_itemnormbg[] = "#222222"; /* Normal background item color */ +static char col_itemnormbg[] = "#110f1f"; /* Normal background item color */ static char col_itemnormfg2[] = "#bbbbbb"; /* Normal foreground item colors for the next item */ -static char col_itemnormbg2[] = "#222222"; /* Normal background item colors for the next item */ -static char col_itemselfg[] = "#eeeeee"; /* Selected foreground item color */ -static char col_itemselbg[] = "#35638A"; /* Selected background item color */ -static char col_itemmarkedfg[] = "#eeeeee"; /* Marked foreground item color */ -static char col_itemmarkedbg[] = "#35638A"; /* Marked background item color */ -static char col_itemnormprifg[] = "#bbbbbb"; /* Normal foreground item (high priority) color */ -static char col_itemnormpribg[] = "#222222"; /* Normal background item (high priority) color */ -static char col_itemselprifg[] = "#eeeeee"; /* Selected foreground item (high priority) color */ -static char col_itemselpribg[] = "#35638A"; /* Selected background item (high priority) color */ +static char col_itemnormbg2[] = "#110f1f"; /* Normal background item colors for the next item */ +static char col_itemselfg[] = "#110f1f"; /* Selected foreground item color */ +static char col_itemselbg[] = "#8e93c2"; /* Selected background item color */ +static char col_itemmarkedfg[] = "#110f1f"; /* Marked foreground item color */ +static char col_itemmarkedbg[] = "#8e93c2"; /* Marked background item color */ +static char col_itemnormprifg[] = "#110f1f"; /* Normal foreground item (high priority) color */ +static char col_itemnormpribg[] = "#110f1f"; /* Normal background item (high priority) color */ +static char col_itemselprifg[] = "#110f1f"; /* Selected foreground item (high priority) color */ +static char col_itemselpribg[] = "#8e93c2"; /* Selected background item (high priority) color */ /* Input colors */ -static char col_inputbg[] = "#222222"; /* Input field background color */ +static char col_inputbg[] = "#110f1f"; /* Input field background color */ static char col_inputfg[] = "#eeeeee"; /* Input field foreground color */ /* Menu colors */ -static char col_menu[] = "#222222"; /* Menu background color */ +static char col_menu[] = "#110f1f"; /* Menu background color */ /* Prompt colors */ -static char col_promptfg[] = "#eeeeee"; /* Prompt foreground color */ -static char col_promptbg[] = "#35526b"; /* Prompt background color */ +static char col_promptfg[] = "#110f1f"; /* Prompt foreground color */ +static char col_promptbg[] = "#c66e5b"; /* Prompt background color */ /* Arrow colors */ static char col_larrowfg[] = "#bbbbbb"; /* Left arrow color */ static char col_rarrowfg[] = "#bbbbbb"; /* Right arrow color */ -static char col_larrowbg[] = "#222222"; /* Left arrow color */ -static char col_rarrowbg[] = "#222222"; /* Right arrow color */ +static char col_larrowbg[] = "#110f1f"; /* Left arrow color */ +static char col_rarrowbg[] = "#110f1f"; /* Right arrow color */ /* Normal highlight colors */ static char col_hlnormfg[] = "#ffffff"; /* Normal text highlight color */ @@ -159,23 +159,23 @@ static char col_hlselfg[] = "#ffffff"; /* Selected text highlight c static char col_hlselbg[] = "#000000"; /* Selected background highlight color */ /* Match count colors */ -static char col_numfg[] = "#ffffff"; /* Match count text color */ -static char col_numbg[] = "#2d3856"; /* Match count background color */ +static char col_numfg[] = "#110f1f"; /* Match count text color */ +static char col_numbg[] = "#eba62a"; /* Match count background color */ /* Border color */ -static char col_border[] = "#35638A"; /* Border color */ +static char col_border[] = "#8e93c2"; /* Border color */ /* Caret colors */ static char col_caretfg[] = "#ffffff"; /* Foreground caret color */ -static char col_caretbg[] = "#222222"; /* Background caret color */ +static char col_caretbg[] = "#110f1f"; /* Background caret color */ /* Mode colors */ -static char col_modefg[] = "#ffffff"; /* Mode text color */ -static char col_modebg[] = "#35638A"; /* Mode background color */ +static char col_modefg[] = "#110f1f"; /* Mode text color */ +static char col_modebg[] = "#92c94b"; /* Mode background color */ /* Caps lock colors */ -static char col_capsfg[] = "#ffffff"; /* Caps lock text color */ -static char col_capsbg[] = "#45638A"; /* Caps lock background color */ +static char col_capsfg[] = "#110f1f"; /* Caps lock text color */ +static char col_capsbg[] = "#f8d3e6"; /* Caps lock background color */ /* SGR colors */ static char col_sgr0[] = "#20201d"; /* SGR color #0 */