Xinqi Bao's Git
projects
/
dmenu.git
/ blobdiff
summary
|
log
|
commit
|
diff
|
tree
raw
|
inline
| side by side
Use slow path if stdin is a tty
[dmenu.git]
/
dmenu.c
diff --git
a/dmenu.c
b/dmenu.c
index
314256f
..
6b8f51b
100644
(file)
--- a/
dmenu.c
+++ b/
dmenu.c
@@
-6,6
+6,7
@@
#include <string.h>
#include <strings.h>
#include <time.h>
#include <string.h>
#include <strings.h>
#include <time.h>
+#include <unistd.h>
#include <X11/Xlib.h>
#include <X11/Xatom.h>
#include <X11/Xlib.h>
#include <X11/Xatom.h>
@@
-144,7
+145,7
@@
drawmenu(void)
drw_setscheme(drw, scheme[SchemeNorm]);
drw_text(drw, x, 0, w, bh, lrpad / 2, text, 0);
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);
if ((curpos += lrpad / 2 - 1) < w) {
drw_setscheme(drw, scheme[SchemeNorm]);
drw_rect(drw, x + curpos, 2, 2, bh - 4, 1, 0);
@@
-746,7
+747,12
@@
main(int argc, char *argv[])
die("no fonts could be loaded.");
lrpad = drw->fonts->h;
die("no fonts could be loaded.");
lrpad = drw->fonts->h;
- if (fast) {
+#ifdef __OpenBSD__
+ if (pledge("stdio rpath", NULL) == -1)
+ die("pledge");
+#endif
+
+ if (fast && !isatty(0)) {
grabkeyboard();
readstdin();
} else {
grabkeyboard();
readstdin();
} else {