From dea326e173a9f8354d8dbc6d239b377265c6089d Mon Sep 17 00:00:00 2001 From: speedie Date: Wed, 29 Mar 2023 21:37:48 +0200 Subject: [PATCH] add -txp/--text-padding option --- docs/docs.md | 3 +++ docs/example.Xresources | 1 + libs/argv.c | 3 +++ libs/xresources.h | 1 + options.h | 1 + spmenu.1 | 3 +++ spmenu.c | 2 +- 7 files changed, 13 insertions(+), 1 deletion(-) diff --git a/docs/docs.md b/docs/docs.md index 3c375e0..f31bc7e 100644 --- a/docs/docs.md +++ b/docs/docs.md @@ -226,6 +226,9 @@ You may use long, descriptive arguments or the shorter arguments. `-ig, --image-gaps gaps ` : Set image gaps to gaps +`-txp, --text-padding padding ` +: Set text padding to padding + `-lp, --vertical-padding padding ` : Set the vertical padding diff --git a/docs/example.Xresources b/docs/example.Xresources index 5ccbd80..6733210 100644 --- a/docs/example.Xresources +++ b/docs/example.Xresources @@ -5,6 +5,7 @@ !! Fonts spmenu.font: Noto Sans Mono 8 +spmenu.textpadding: 0 !! Colors spmenu.col_itemnormfg: #bbbbbb diff --git a/libs/argv.c b/libs/argv.c index bd93eb1..36286ee 100644 --- a/libs/argv.c +++ b/libs/argv.c @@ -176,6 +176,8 @@ readargs(int argc, char *argv[]) if (columns == 0) columns = 1; } else if (!strcmp(argv[i], "-mw") || (!strcmp(argv[i], "--min-width"))) { // line height minwidth = atoi(argv[++i]); + } else if (!strcmp(argv[i], "-txp") || (!strcmp(argv[i], "--text-padding"))) { // text padding + textpadding = atoi(argv[++i]); } else if (!strcmp(argv[i], "-lp") || (!strcmp(argv[i], "--vertical-padding"))) { // vertical padding menupaddingv = atoi(argv[++i]); } else if (!strcmp(argv[i], "-hp") || (!strcmp(argv[i], "--horizontal-padding"))) { // horizontal padding @@ -416,6 +418,7 @@ usage(void) "spmenu -w, --embed Embed spmenu inside \n" "spmenu -H, --hist-file Specify a path to save the history to\n" "spmenu -ig, --image-gaps Set image gaps to \n" + "spmenu -txp, --text-padding Set text padding to \n" "spmenu -lp, --vertical-padding Set the vertical padding\n" "spmenu -hp, --horizontal-padding Set the horizontal padding\n" "spmenu -la, --left-arrow-symbol Set the left arrow to \n" diff --git a/libs/xresources.h b/libs/xresources.h index 032277f..6e6b887 100644 --- a/libs/xresources.h +++ b/libs/xresources.h @@ -98,6 +98,7 @@ ResourcePref resources[] = { { "menuposition", INTEGER, &menuposition }, { "menupaddingv", INTEGER, &menupaddingv }, { "menupaddingh", INTEGER, &menupaddingh }, + { "textpadding", INTEGER, &textpadding }, { "indentitems", INTEGER, &indentitems }, { "accuratewidth", INTEGER, &accuratewidth }, { "alpha", INTEGER, &alpha }, diff --git a/options.h b/options.h index 2d88816..2f2d7df 100644 --- a/options.h +++ b/options.h @@ -36,6 +36,7 @@ static int borderwidth = 2; /* Width of the border */ /* Font options */ static char font[] = "Noto Sans Mono 8"; /* Font to draw text and Pango markup with. */ +static int textpadding = 0; /* Text padding (lrpad) */ /* Symbol options */ static char *leftarrow = "<"; /* Left arrow, used to indicate you can move to the left */ diff --git a/spmenu.1 b/spmenu.1 index c0a808e..ee34a47 100644 --- a/spmenu.1 +++ b/spmenu.1 @@ -243,6 +243,9 @@ Specify a path to save the history to \f[V]-ig, --image-gaps gaps\f[R] Set image gaps to gaps .TP +\f[V]-txp, --text-padding padding\f[R] +Set text padding to padding +.TP \f[V]-lp, --vertical-padding padding\f[R] Set the vertical padding .TP diff --git a/spmenu.c b/spmenu.c index b690d4f..68a1c8b 100644 --- a/spmenu.c +++ b/spmenu.c @@ -739,7 +739,7 @@ main(int argc, char *argv[]) if (!drw_font_create(drw, fonts, LENGTH(fonts))) die("no fonts could be loaded."); - lrpad = drw->font->h; + lrpad = drw->font->h + textpadding; prepare_window_size(); #ifdef __OpenBSD__