diff options
author | Jari Vetoniemi <mailroxas@gmail.com> | 2014-04-12 11:15:22 +0300 |
---|---|---|
committer | Jari Vetoniemi <mailroxas@gmail.com> | 2014-04-12 11:15:22 +0300 |
commit | 058d8a98edb99caa538a922ac13f0f9fab5fb7fb (patch) | |
tree | 2a1f19f1d180924e0ac9c825fa378a4085275c0c /lib | |
parent | 29c34b0861ff1e5b16831f9093863934cd429e7a (diff) | |
download | bemenu-058d8a98edb99caa538a922ac13f0f9fab5fb7fb.tar.gz bemenu-058d8a98edb99caa538a922ac13f0f9fab5fb7fb.tar.bz2 bemenu-058d8a98edb99caa538a922ac13f0f9fab5fb7fb.zip |
Try ncursesw and then ncruses as fallback.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/draw/curses.c | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/lib/draw/curses.c b/lib/draw/curses.c index 30bbd8f..cb1d204 100644 --- a/lib/draw/curses.c +++ b/lib/draw/curses.c @@ -17,11 +17,19 @@ static const char *TTY = "/dev/tty"; #endif #if __APPLE__ - const char *DL_PATH = "libncurses.5.dylib"; + const char *DL_PATH[] = { + "libncursesw.5.dylib", + "libncurses.5.dylib", + NULL + }; #elif _WIN32 # error FIXME: Compile with windows... or use relative path? #else - const char *DL_PATH = "libncursesw.so.5"; + const char *DL_PATH[] = { + "libncursesw.so.5", + "libncurses.so.5", + NULL + }; #endif /* ncurses.h likes to define stuff for us. @@ -310,7 +318,10 @@ static void _bmDrawCursesCrashHandler(int sig) int _bmDrawCursesInit(struct _bmRenderApi *api) { memset(&curses, 0, sizeof(curses)); - curses.handle = dlopen(DL_PATH, RTLD_LAZY); + + unsigned int i; + for (i = 0; DL_PATH[i] && !curses.handle; ++i) + curses.handle = dlopen(DL_PATH[i], RTLD_LAZY); if (!curses.handle) return 0; |