Add lineheight support

pull/10/head
Vlad Glagolev 2 years ago
parent a4f7d150c7
commit 0fb97fbc49

@ -5,6 +5,8 @@ static int bottom = 0;
static int embedded = 0; static int embedded = 0;
static int minpwlen = 32; static int minpwlen = 32;
static int mon = -1; static int mon = -1;
static int lineheight = 0;
static int min_lineheight = 8;
static const char *asterisk = "*"; static const char *asterisk = "*";
static const char *fonts[] = { static const char *fonts[] = {

@ -37,6 +37,9 @@ pinentry-dmenu appears at the bottom of the screen.
.BI "min_password_length =" " 32" .BI "min_password_length =" " 32"
The minimal space of the password field. This value has affect to the description field after the password field. The minimal space of the password field. This value has affect to the description field after the password field.
.TP .TP
.BI "height =" " 8"
Height of pinentry-dmenu in pixels (no less than 8)
.TP
.BI "monitor =" " -1" .BI "monitor =" " -1"
pinentry-dmenu is displayed on the monitor number supplied. Monitor numbers are starting from 0. pinentry-dmenu is displayed on the monitor number supplied. Monitor numbers are starting from 0.
.TP .TP

@ -183,7 +183,7 @@ insert(const char *str, ssize_t n) {
static void static void
drawwin(void) { drawwin(void) {
unsigned int curpos; unsigned int curpos;
int x = 0, pb, pbw = 0, i; int x = 0, fh = drw->fonts->h, pb, pbw = 0, i;
size_t asterlen = strlen(asterisk); size_t asterlen = strlen(asterisk);
size_t pdesclen; size_t pdesclen;
int leftinput; int leftinput;
@ -255,7 +255,7 @@ drawwin(void) {
if ((curpos += lrpad / 2 - 1) < leftinput) { if ((curpos += lrpad / 2 - 1) < leftinput) {
drw_setscheme(drw, scheme[SchemeNormal]); drw_setscheme(drw, scheme[SchemeNormal]);
drw_rect(drw, x + curpos, 2, 2, bh - 4, 1, 0); drw_rect(drw, x + curpos, 2 + (bh - fh) / 2, 2, fh - 4, 1, 0);
} }
free(censort); free(censort);
@ -293,6 +293,7 @@ setup(void) {
/* Calculate menu geometry */ /* Calculate menu geometry */
bh = drw->fonts->h + 2; bh = drw->fonts->h + 2;
bh = MAX(bh, lineheight);
mh = bh; mh = bh;
#ifdef XINERAMA #ifdef XINERAMA
info = XineramaQueryScreens(dpy, &n); info = XineramaQueryScreens(dpy, &n);
@ -744,6 +745,9 @@ main(int argc, char *argv[]) {
if (config_lookup_int(&cfg, "min_password_length", &val)) { if (config_lookup_int(&cfg, "min_password_length", &val)) {
minpwlen = val; minpwlen = val;
} }
if (config_lookup_int(&cfg, "height", &val)) {
lineheight = MAX(val, min_lineheight);
}
if (config_lookup_int(&cfg, "monitor", &val)) { if (config_lookup_int(&cfg, "monitor", &val)) {
mon = val; mon = val;
} }

Loading…
Cancel
Save