diff --git a/src/nano.c b/src/nano.c index cae57e0fa12f4913aa1d632706ac34bc2322a69a..091f774ab3b58d46a37b480f639b9183a7034445 100644 --- a/src/nano.c +++ b/src/nano.c @@ -26,7 +26,7 @@ #include <errno.h> #include <fcntl.h> #include <getopt.h> -#ifndef NANO_TINY +#if defined(__linux__) || !defined(NANO_TINY) #include <sys/ioctl.h> #endif #ifdef ENABLE_UTF8 @@ -38,6 +38,9 @@ #include <termios.h> #endif #include <unistd.h> +#ifdef __linux__ +#include <sys/vt.h> +#endif #ifdef ENABLE_MOUSE static int oldinterval = -1; @@ -1988,8 +1991,10 @@ int main(int argc, char **argv) }; #ifdef __linux__ + struct vt_stat dummy; + /* Check whether we're running on a Linux console. */ - console = (getenv("DISPLAY") == NULL); + console = (ioctl(0, VT_GETSTATE, &dummy) == 0); #endif /* Back up the terminal settings so that they can be restored. */