X-Git-Url: https://git.xinqibao.xyz/dmenu.git/blobdiff_plain/377bd37e212b1ec4c03a481245603c6560d0be22..cd132c8d5b17ac2f4a3e611836d4cde4995d7a0c:/dmenu.c diff --git a/dmenu.c b/dmenu.c index 314256f..7745947 100644 --- a/dmenu.c +++ b/dmenu.c @@ -24,6 +24,12 @@ #define LENGTH(X) (sizeof X / sizeof X[0]) #define TEXTW(X) (drw_fontset_getwidth(drw, (X)) + lrpad) +#ifdef __OpenBSD__ +#include +#else +#define pledge(a,b) 0 +#endif + /* enums */ enum { SchemeNorm, SchemeSel, SchemeOut, SchemeLast }; /* color schemes */ @@ -144,7 +150,7 @@ drawmenu(void) drw_setscheme(drw, scheme[SchemeNorm]); drw_text(drw, x, 0, w, bh, lrpad / 2, text, 0); - drw_font_getexts(drw->fonts, text, cursor, &curpos, NULL); + curpos = TEXTW(text) - TEXTW(&text[cursor]); if ((curpos += lrpad / 2 - 1) < w) { drw_setscheme(drw, scheme[SchemeNorm]); drw_rect(drw, x + curpos, 2, 2, bh - 4, 1, 0); @@ -746,6 +752,9 @@ main(int argc, char *argv[]) die("no fonts could be loaded."); lrpad = drw->fonts->h; + if (pledge("stdio rpath", NULL) < 0) + die("pledge"); + if (fast) { grabkeyboard(); readstdin();