1
1
mc/src/tty.h
Miguel de Icaza aaa7b5e9a2 Lots of changes:
- GNOME edition now compiles without any trace of the text mode
  dependencies.

- We no longer link with libraries we do not use (crypt, gpm), this
  fixes the recent bug reports.

- More tree updates, enhancements.

Miguel.
1998-12-02 05:18:20 +00:00

147 строки
3.1 KiB
C

/* This file takes care of loading ncurses or slang */
int got_interrupt (void);
void mc_refresh (void);
#ifdef HAVE_X
#include "xtty.h"
#else /* HAVE_X */
#ifdef HAVE_SLANG
# include "myslang.h"
# define TTY_H_DONE
#else
# define enable_interrupt_key()
# define disable_interrupt_key()
# define slang_shutdown()
# define slang_done_screen()
# define slang_init()
# define slang_init_screen()
# define slang_init_tty()
# define slang_done_tty();
# define acs()
# define noacs()
# define one_vline() addch (slow_terminal ? ' ' : ACS_VLINE)
# define one_hline() addch (slow_terminal ? ' ' : ACS_HLINE)
#endif
#if !defined(TTY_H_DONE) && defined(USE_NCURSES)
/* This is required since ncurses 1.8.6 and newer changed the name of */
/* the include files (July 1994) */
# ifdef RENAMED_NCURSES
# include <curses.h>
# else
# include <ncurses.h>
# endif
# ifdef INCLUDE_TERM
# include <term.h>
# define TERM_INCLUDED 1
# endif
# define TTY_H_DONE
#endif
#if !defined(TTY_H_DONE) && defined(USE_BSD_CURSES)
/* This is only to let people that don't want to install ncurses */
/* run this nice program; they get what they deserve. */
/* Ultrix has a better curses: cursesX */
# ifdef ultrix
# include <cursesX.h>
# else
# include <curses.h>
# endif
# ifndef ACS_VLINE
# define ACS_VLINE '|'
# endif
# ifndef ACS_HLINE
# define ACS_HLINE '-'
# endif
# ifndef ACS_ULCORNER
# define ACS_ULCORNER '+'
# endif
# ifndef ACS_LLCORNER
# define ACS_LLCORNER '+'
# endif
# ifndef ACS_URCORNER
# define ACS_URCORNER '+'
# endif
# ifndef ACS_LRCORNER
# define ACS_LRCORNER '+'
# endif
# ifndef ACS_LTEE
# define ACS_LTEE '+'
# endif
# ifndef KEY_BACKSPACE
# define KEY_BACKSPACE 0
# endif
# ifndef KEY_END
# define KEY_END 0
# endif
# define ACS_MAP(x) '*'
# define NO_COLOR_CURSES
# define untouchwin(win)
# define xgetch x_getch
# define wtouchln(win,b,c,d) touchwin(win)
# define derwin(win,x,y,z,w) win
# define wscrl(win,n)
# define TTY_H_DONE
#endif
#if !defined(TTY_H_DONE) && defined(USE_SYSV_CURSES)
# include <curses.h>
# ifdef INCLUDE_TERM
# include <term.h>
/* Ugly hack to avoid name space pollution */
# undef cols
# undef lines
# undef buttons
# define TERM_INCLUDED 1
# endif
# if defined(sparc) || defined(__sgi) || defined(_SGI_SOURCE)
/* We are dealing with Solaris or SGI buggy curses :-) */
# define BUGGY_CURSES 1
# endif
# if defined(mips) && defined(sgi)
/* GNU C compiler, buggy sgi */
# define BUGGY_CURSES 1
# endif
# ifdef __osf__
# define untouchwin(win)
# endif
#endif /* USE_SYSV_CURSES */
#ifdef NO_COLOR_CURSES
# define COLOR_PAIR(x) 1
enum {
COLOR_BLACK, COLOR_RED, COLOR_GREEN, COLOR_YELLOW,
COLOR_BLUE, COLOR_MAGENTA, COLOR_CYAN, COLOR_WHITE
};
int init_pair (int, int, int);
#endif
#define KEY_KP_ADD 4001
#define KEY_KP_SUBTRACT 4002
#define KEY_KP_MULTIPLY 4003
#endif /* HAVE_X */