diff --git a/.config/dmenu/config.def.h b/.config/dmenu/config.def.h index a65b15a..8ba2ad1 100644 --- a/.config/dmenu/config.def.h +++ b/.config/dmenu/config.def.h @@ -4,7 +4,7 @@ static int topbar = 1; /* -b option; if 0, dmenu appears at bottom */ /* -fn option overrides fonts[0]; default X11 font or font set */ static const char *fonts[] = { - "UbuntuMono Nerd Font:size=12" + "UbuntuMono Nerd Font:size=14" }; static const char *prompt = NULL; /* -p option; prompt to the left of input field */ static const char *colors[SchemeLast][2] = { @@ -14,7 +14,7 @@ static const char *colors[SchemeLast][2] = { [SchemeOut] = { "#000000", "#00ffff" }, }; /* -l option; if nonzero, dmenu uses vertical list with given number of lines */ -static unsigned int lines = 0; +static unsigned int lines = 18; /* * Characters not considered part of a word while deleting words diff --git a/.config/dmenu/patches/dmenu-grid-4.9.diff b/.config/dmenu/patches/dmenu-grid-4.9.diff deleted file mode 100644 index c27689b..0000000 --- a/.config/dmenu/patches/dmenu-grid-4.9.diff +++ /dev/null @@ -1,107 +0,0 @@ -From 39ab9676914bd0d8105d0f96bbd7611a53077438 Mon Sep 17 00:00:00 2001 -From: Miles Alan -Date: Sat, 4 Jul 2020 11:19:04 -0500 -Subject: [PATCH] Add -g option to display entries in the given number of grid - columns - -This option can be used in conjunction with -l to format dmenu's options in -arbitrary size grids. For example, to create a 4 column by 6 line grid, you -could use: dmenu -g 4 -l 6 ---- - config.def.h | 3 ++- - dmenu.1 | 7 ++++++- - dmenu.c | 22 ++++++++++++++++------ - 3 files changed, 24 insertions(+), 8 deletions(-) - -diff --git a/config.def.h b/config.def.h -index 1edb647..96cf3c9 100644 ---- a/config.def.h -+++ b/config.def.h -@@ -13,8 +13,9 @@ static const char *colors[SchemeLast][2] = { - [SchemeSel] = { "#eeeeee", "#005577" }, - [SchemeOut] = { "#000000", "#00ffff" }, - }; --/* -l option; if nonzero, dmenu uses vertical list with given number of lines */ -+/* -l and -g options; controls number of lines and columns in grid if > 0 */ - static unsigned int lines = 0; -+static unsigned int columns = 0; - - /* - * Characters not considered part of a word while deleting words -diff --git a/dmenu.1 b/dmenu.1 -index 323f93c..d0a734a 100644 ---- a/dmenu.1 -+++ b/dmenu.1 -@@ -4,6 +4,8 @@ dmenu \- dynamic menu - .SH SYNOPSIS - .B dmenu - .RB [ \-bfiv ] -+.RB [ \-g -+.IR columns ] - .RB [ \-l - .IR lines ] - .RB [ \-m -@@ -47,8 +49,11 @@ is faster, but will lock up X until stdin reaches end\-of\-file. - .B \-i - dmenu matches menu items case insensitively. - .TP -+.BI \-g " columns" -+dmenu lists items in a grid with the given number of columns. -+.TP - .BI \-l " lines" --dmenu lists items vertically, with the given number of lines. -+dmenu lists items in a grid with the given number of lines. - .TP - .BI \-m " monitor" - dmenu is displayed on the monitor number supplied. Monitor numbers are starting -diff --git a/dmenu.c b/dmenu.c -index 6b8f51b..d79b6bb 100644 ---- a/dmenu.c -+++ b/dmenu.c -@@ -77,7 +77,7 @@ calcoffsets(void) - int i, n; - - if (lines > 0) -- n = lines * bh; -+ n = lines * columns * bh; - else - n = mw - (promptw + inputw + TEXTW("<") + TEXTW(">")); - /* calculate which items will begin the next page and previous page */ -@@ -152,9 +152,15 @@ drawmenu(void) - } - - if (lines > 0) { -- /* draw vertical list */ -- for (item = curr; item != next; item = item->right) -- drawitem(item, x, y += bh, mw - x); -+ /* draw grid */ -+ int i = 0; -+ for (item = curr; item != next; item = item->right, i++) -+ drawitem( -+ item, -+ x + ((i / lines) * ((mw - x) / columns)), -+ y + (((i % lines) + 1) * bh), -+ (mw - x) / columns -+ ); - } else if (matches) { - /* draw horizontal list */ - x += inputw; -@@ -708,9 +714,13 @@ main(int argc, char *argv[]) - } else if (i + 1 == argc) - usage(); - /* these options take one argument */ -- else if (!strcmp(argv[i], "-l")) /* number of lines in vertical list */ -+ else if (!strcmp(argv[i], "-g")) { /* number of columns in grid */ -+ columns = atoi(argv[++i]); -+ if (lines == 0) lines = 1; -+ } else if (!strcmp(argv[i], "-l")) { /* number of lines in grid */ - lines = atoi(argv[++i]); -- else if (!strcmp(argv[i], "-m")) -+ if (columns == 0) columns = 1; -+ } else if (!strcmp(argv[i], "-m")) - mon = atoi(argv[++i]); - else if (!strcmp(argv[i], "-p")) /* adds prompt to left of input field */ - prompt = argv[++i]; --- -2.23.1 -