center by default, add comments to config file

This commit is contained in:
speedie 2023-04-29 15:30:51 +02:00
parent 7abdb2cdb0
commit 45312afc7c
3 changed files with 197 additions and 188 deletions

View file

@ -120,7 +120,7 @@ spmenu.sortmatches: 1
spmenu.casesensitive: 0 spmenu.casesensitive: 0
!! Menu !! Menu
spmenu.menuposition: 1 spmenu.menuposition: 2
spmenu.menupaddingv: 0 spmenu.menupaddingv: 0
spmenu.menupaddingh: 0 spmenu.menupaddingh: 0
spmenu.menuwidth: 0 spmenu.menuwidth: 0

View file

@ -3,217 +3,221 @@
* Copy to ~/.config/spmenu/spmenu.conf to use. * Copy to ~/.config/spmenu/spmenu.conf to use.
* Note that you can @include other config files if you want * Note that you can @include other config files if you want
* *
* Arguments will always override options in this configuration file.
*
* Example: @include "config.conf" * Example: @include "config.conf"
*/ */
spmenu = spmenu = {
{ /* General window options */
// General window options window = ( { position = 2; // Menu position (0: Bottom, 1: Top, 2: Center)
window = ( { position = 1; border = 0; // Window border size (px)
border = 0; margin-vertical = 0; // Inner vertical padding (px)
margin-vertical = 0; margin-horizontal = 0; // Inner horizontal padding (px)
margin-horizontal = 0; padding-vertical = 0; // Outer vertical padding (px)
padding-vertical = 0; padding-horizontal = 0; // Outer horizontal padding (px)
padding-horizontal = 0; x = 0; // X position offset (px)
x = 0; y = 0; // Y position offset (px)
y = 0; width = 0; // Width when X and/or Y offset is set, 0 is the default (px)
width = 0; monitor = -1; // Monitor to spawn spmenu on, (-1, 0, 1, ...)
monitor = -1; managed = 0; // Allow your window manager to manage spmenu as a window (0/1)
managed = 0; alpha = 1; // Enable alpha/transparency (0/1)
alpha = 1;
} ); } );
// Properties /* X11 properties */
properties = ( { class = "spmenu"; properties = ( { class = "spmenu"; // _WM_CLASS property, for compatibility you may want to set it to 'dmenu'. (text)
dock = 1; dock = 1; // Set _NET_WM_WINDOW_TYPE_DOCK (0/1)
} ); } );
// Text /* Text */
text = ( { font = "Noto Sans Mono 8"; text = ( { font = "Noto Sans Mono 8"; // Font to use for all text (text)
padding = 0; padding = 0; // Horizontal padding around the text (px)
leftarrow = "<"; leftarrow = "<"; // Left arrow text (text)
rightarrow = ">"; rightarrow = ">"; // Right arrow text (text)
password = "*"; password = "*"; // Password character (text)
prompt = ""; prompt = ""; // Prompt text (text)
input = ""; input = ""; // Input text (text)
capslockon = "Caps Lock"; capslockon = "Caps Lock"; // Caps Lock On text (text)
capslockoff = ""; capslockoff = ""; // Caps Lock Off text (text)
} ); } );
// Color /* Colors */
color = ( { itemnormfg = "#bbbbbb"; color = ( { itemnormfg = "#bbbbbb"; // Normal item foreground color (#RRGGBB)
itemnormbg = "#222222"; itemnormbg = "#222222"; // Normal item background color (#RRGGBB)
itemselfg = "#eeeeee"; itemselfg = "#eeeeee"; // Selected item foreground color (#RRGGBB)
itemselbg = "#35638A"; itemselbg = "#35638A"; // Selected item background color (#RRGGBB)
itemnormprifg = "#bbbbbb"; itemnormprifg = "#bbbbbb"; // Normal priority item foreground color (#RRGGBB)
itemnormpribg = "#222222"; itemnormpribg = "#222222"; // Normal priority item background color (#RRGGBB)
itemselprifg = "#eeeeee"; itemselprifg = "#eeeeee"; // Selected priority item foreground color (#RRGGBB)
itemselpribg = "#35638A"; itemselpribg = "#35638A"; // Selected priority item background color (#RRGGBB)
inputfg = "#eeeeee"; inputfg = "#eeeeee"; // Input foreground color (#RRGGBB)
inputbg = "#222222"; inputbg = "#222222"; // Input background color (#RRGGBB)
menu = "#222222"; menu = "#222222"; // Menu color (#RRGGBB)
promptfg = "#eeeeee"; promptfg = "#eeeeee"; // Prompt foreground color (#RRGGBB)
promptbg = "#35526b"; promptbg = "#35526b"; // Prompt background color (#RRGGBB)
larrowfg = "#bbbbbb"; larrowfg = "#bbbbbb"; // Left arrow foreground color (#RRGGBB)
larrowbg = "#222222"; larrowbg = "#222222"; // Left arrow background color (#RRGGBB)
rarrowfg = "#bbbbbb"; rarrowfg = "#bbbbbb"; // Right arrow foreground color (#RRGGBB)
rarrowbg = "#222222"; rarrowbg = "#222222"; // Right arrow background color (#RRGGBB)
hlnormfg = "#ffffff"; hlnormfg = "#ffffff"; // Normal highlight foreground color (#RRGGBB)
hlnormbg = "#000000"; hlnormbg = "#000000"; // Normal highlight background color (#RRGGBB)
hlselfg = "#ffffff"; hlselfg = "#ffffff"; // Selected highlight foreground color (#RRGGBB)
hlselbg = "#000000"; hlselbg = "#000000"; // Selected highlight background color (#RRGGBB)
numfg = "#ffffff"; numfg = "#ffffff"; // Match count foreground color (#RRGGBB)
numbg = "#2d3856"; numbg = "#2d3856"; // Match count background color (#RRGGBB)
modefg = "#ffffff"; modefg = "#ffffff"; // Mode indicator foreground color (#RRGGBB)
modebg = "#35638A"; modebg = "#35638A"; // Mode indicator background color (#RRGGBB)
capsfg = "#ffffff"; capsfg = "#ffffff"; // Caps lock indicator foreground color (#RRGGBB)
capsbg = "#45638A"; capsbg = "#45638A"; // Caps lock indicator background color (#RRGGBB)
border = "#35638A"; border = "#35638A"; // Border color (#RRGGBB)
caretfg = "#ffffff"; caretfg = "#ffffff"; // Caret (cursor) foreground color (#RRGGBB)
caretbg = "#222222"; caretbg = "#222222"; // Caret (cursor) background color (#RRGGBB)
sgr0 = "#000000"; sgr0 = "#000000"; // SGR 0 color (#RRGGBB)
sgr1 = "#7f0000"; sgr1 = "#7f0000"; // SGR 1 color (#RRGGBB)
sgr2 = "#007f00"; sgr2 = "#007f00"; // SGR 2 color (#RRGGBB)
sgr3 = "#7f7f00"; sgr3 = "#7f7f00"; // SGR 3 color (#RRGGBB)
sgr4 = "#00007f"; sgr4 = "#00007f"; // SGR 4 color (#RRGGBB)
sgr5 = "#7f007f"; sgr5 = "#7f007f"; // SGR 5 color (#RRGGBB)
sgr6 = "#007f7f"; sgr6 = "#007f7f"; // SGR 6 color (#RRGGBB)
sgr7 = "#cccccc"; sgr7 = "#cccccc"; // SGR 7 color (#RRGGBB)
sgr8 = "#333333"; sgr8 = "#333333"; // SGR 8 color (#RRGGBB)
sgr9 = "#ff0000"; sgr9 = "#ff0000"; // SGR 9 color (#RRGGBB)
sgr10 = "#00ff00"; sgr10 = "#00ff00"; // SGR 10 color (#RRGGBB)
sgr11 = "#ffff00"; sgr11 = "#ffff00"; // SGR 11 color (#RRGGBB)
sgr12 = "#0000ff"; sgr12 = "#0000ff"; // SGR 12 color (#RRGGBB)
sgr13 = "#ff00ff"; sgr13 = "#ff00ff"; // SGR 13 color (#RRGGBB)
sgr14 = "#00ffff"; sgr14 = "#00ffff"; // SGR 14 color (#RRGGBB)
sgr15 = "#ffffff"; sgr15 = "#ffffff"; // SGR 15 color (#RRGGBB)
coloritems = 1; coloritems = 1; // Color the selected item (0/1)
sgr = 1; sgr = 1; // Interpret SGR sequences (0/1)
} ); } );
// Alpha options /* Alpha */
alpha = ( { itemnormfg = 255; alpha = ( { itemnormfg = 255; // Normal item foreground alpha (0-255)
itemnormbg = 200; itemnormbg = 200; // Normal item background alpha (0-255)
itemselfg = 255; itemselfg = 255; // Selected item foreground alpha (0-255)
itemselbg = 200; itemselbg = 200; // Selected item background alpha (0-255)
itemnormprifg = 255; itemnormprifg = 255; // Normal priority item foreground alpha (0-255)
itemnormpribg = 200; itemnormpribg = 200; // Normal priority item background alpha (0-255)
itemselprifg = 255; itemselprifg = 255; // Selected priority item foreground alpha (0-255)
itemselpribg = 200; itemselpribg = 200; // Selected priority item background alpha (0-255)
inputfg = 255; inputfg = 255; // Input foreground alpha (0-255)
inputbg = 200; inputbg = 200; // Input background alpha (0-255)
menu = 200; menu = 200; // Menu alpha (0-255)
promptfg = 255; promptfg = 255; // Prompt foreground alpha (0-255)
promptbg = 200; promptbg = 200; // Prompt background alpha (0-255)
larrowfg = 255; larrowfg = 255; // Left arrow foreground alpha (0-255)
larrowbg = 200; larrowbg = 200; // Left arrow background alpha (0-255)
rarrowfg = 255; rarrowfg = 255; // Right arrow foreground alpha (0-255)
rarrowbg = 200; rarrowbg = 200; // Right arrow background alpha (0-255)
hlnormfg = 255; hlnormfg = 255; // Normal highlight foreground alpha (0-255)
hlnormbg = 200; hlnormbg = 200; // Normal highlight background alpha (0-255)
hlselfg = 255; hlselfg = 255; // Selected highlight foreground alpha (0-255)
hlselbg = 200; hlselbg = 200; // Selected highlight background alpha (0-255)
numfg = 255; numfg = 255; // Match count foreground alpha (0-255)
numbg = 200; numbg = 200; // Match count background alpha (0-255)
border = 255; border = 255; // Border alpha (0-255)
caretfg = 255; caretfg = 255; // Caret (cursor) foreground alpha (0-255)
caretbg = 200; caretbg = 200; // Caret (cursor) background alpha (0-255)
modefg = 255; modefg = 255; // Mode indicator foreground alpha (0-255)
modebg = 200; modebg = 200; // Mode indicator background alpha (0-255)
capsfg = 255; capsfg = 255; // Caps Lock indicator foreground alpha (0-255)
capsbg = 200; capsbg = 200; // Caps Lock indicator background alpha (0-255)
} ); } );
// Powerline options /* Powerline options */
powerline = ( { promptstyle = 0; powerline = ( { promptstyle = 0; // Prompt powerline style (0: >, 1: \)
matchcountstyle = 0; matchcountstyle = 0; // Match count powerline style (0: <, 1: /)
modestyle = 0; modestyle = 0; // Mode indicator powerline style (0: <, 1: /)
capsstyle = 0; capsstyle = 0; // Caps lock indicator powerline style (0: <, 1: /)
prompt = 1; prompt = 1; // Enable prompt powerline (0/1)
matchcount = 1; matchcount = 1; // Enable match count powerline (0/1)
mode = 1; mode = 1; // Enable mode indicator powerline (0/1)
caps = 1; caps = 1; // Enable caps lock indicator powerline (0/1)
} ); } );
// Hide options /* Hide options */
hide = ( { input = 0; hide = ( { input = 0; // Hide input (0/1)
larrow = 0; larrow = 0; // Hide left arrow (0/1)
rarrow = 0; rarrow = 0; // Hide right arrow (0/1)
items = 0; items = 0; // Hide items (0/1)
prompt = 0; prompt = 0; // Hide prompt (0/1)
powerline = 0; powerline = 0; // Hide powerline (0/1)
caret = 0; caret = 0; // Hide caret (cursor) (0/1)
highlight = 0; highlight = 0; // Hide highlighting (0/1)
matchcount = 0; matchcount = 0; // Hide match count (0/1)
mode = 0; mode = 0; // Hide mode indicator (0/1)
caps = 0; caps = 0; // Hide caps lock indicator (0/1)
image = 0; image = 0; // Hide images (0/1)
} ); } );
// Match options /* Match options */
match = ( { sort = 1; match = ( { sort = 1; // Sort items (0/1)
casesensitive = 0; casesensitive = 0; // Enable case sensitivity when matching (0/1)
fuzzy = 1; fuzzy = 1; // Enable fuzzy finding (0/1)
preselected = 0; preselected = 0; // Preselect an item, 0 is the first item (number)
accuratewidth = 1; accuratewidth = 1; // Enable accurate width, could be noticeably slower in some cases (0/1)
delimiters = " "; delimiters = " "; // Word delimiter, used to delete words (text)
} ); } );
// Line options /* Line options */
line = ( { height = 1; line = ( { height = 1; // Height of each line (px)
lines = 0; lines = 0; // Number of lines (number)
columns = 10; columns = 10; // Number of columns (number)
indentitems = 1; indentitems = 1; // Indent items to prompt width (0/1)
} ); } );
// History options /* History options */
history = ( { max = 64; history = ( { max = 64; // Max number of entries (number)
duplicate = 0; duplicate = 0; // Save duplicate entries (0/1)
} ); } );
// Centered menu /* Centered options */
center = ( { width = 1000; center = ( { width = 1000; // Menu width when centered (px)
} ); } );
// Image /* Image options */
image = ( { width = 200; image = ( { width = 200; // Image width (px)
height = 200; height = 200; // Image height (px)
gaps = 0; gaps = 0; // Image gaps (px)
position = 0; position = 0; // Image position (0: Top, 1: Bottom, 2: Center, 3: Top center)
cache = 1; cache = 1; // Cache images (0/1)
maxcache = 512; maxcache = 512; // Max image width/height to cache (px)
} );
/* .Xresources/Xrdb options */
xrdb = ( { xresources = 1; // Load .Xresources on startup (0/1)
global = 1; // Read global .Xresources colors, programs like Pywal use this. (*.color0, *.color1, etc.) (0/1)
} );
/* 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)
} );
/* 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)
} ); } );
// Xrdb /* Pango markup options */
xrdb = ( { xresources = 1; pango = ( { item = 1; // Interpret Pango markup for items (0/1)
global = 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)
// Input leftarrow = 0; // Interpret Pango markup for the left arrow (0/1)
input = ( { fast = 1; rightarrow = 0; // Interpret Pango markup for the right arrow (0/1)
type = 1; numbers = 0; // Interpret Pango markup for the match count (0/1)
password = 0; 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)
// Mode
mode = ( { default = 0;
normal_text = "Normal";
insert_text = "Insert";
} );
// Pango
pango = ( { item = 1;
highlight = 1;
prompt = 1;
input = 1;
leftarrow = 0;
rightarrow = 0;
numbers = 0;
mode = 0;
caps = 0;
password = 0;
} ); } );
// Mouse /* Mouse bindings
*
* See https://spmenu.speedie.site/index.php/Configurable+keybindings for a list of valid options.
*/
mouse = ( { click = "clickinput"; mouse = ( { click = "clickinput";
modifier = "None"; modifier = "None";
button = "Left Click"; button = "Left Click";
@ -245,9 +249,13 @@ spmenu =
argument = "0"; argument = "0";
}, },
{ ignoreglobalmouse = 1; } ); { ignoreglobalmouse = 1; // Ignore hardcoded mouse binds (0/1)
} );
// Keys /* Keys
*
* See https://spmenu.speedie.site/index.php/Configurable+keybindings for a list of valid options.
*/
keys = ( { mode = -1; keys = ( { mode = -1;
modifier = "None"; modifier = "None";
key = "Enter"; key = "Enter";
@ -615,5 +623,6 @@ spmenu =
argument = "+1"; argument = "+1";
}, },
{ ignoreglobalkeys = 1; } ), { ignoreglobalkeys = 1; // Ignore hardcoded keybinds (0/1)
} ),
}; };

View file

@ -14,7 +14,7 @@ static int mon = -1; /* Monitor to run spmenu on */
/* Window options */ /* Window options */
static int alpha = 1; /* Enable alpha */ static int alpha = 1; /* Enable alpha */
static int menuposition = 1; /* Position of the menu (0: Bottom, 1: Top, 2: Center */ static int menuposition = 2; /* Position of the menu (0: Bottom, 1: Top, 2: Center */
static int menupaddingv = 0; /* Vertical padding inside the menu (in pixels) */ static int menupaddingv = 0; /* Vertical padding inside the menu (in pixels) */
static int menupaddingh = 0; /* Horizontal padding inside the menu (in pixels) */ static int menupaddingh = 0; /* Horizontal padding inside the menu (in pixels) */
static int menuwidth = 0; /* spmenu width when setting X/Y position */ static int menuwidth = 0; /* spmenu width when setting X/Y position */