configure.ac: require libmpdclient 2.2
[ncmpc.git] / src / ncu.c
blob65b1c78d042b079106733c1a11ca8ec5c238ff51
1 /* ncmpc (Ncurses MPD Client)
2 * (c) 2004-2010 The Music Player Daemon Project
3 * Project homepage: http://musicpd.org
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or
8 * (at your option) any later version.
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
15 * You should have received a copy of the GNU General Public License along
16 * with this program; if not, write to the Free Software Foundation, Inc.,
17 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
20 #include "ncu.h"
21 #include "config.h"
23 #ifdef ENABLE_COLORS
24 #include "colors.h"
25 #endif
27 #ifdef HAVE_GETMOUSE
28 #include "options.h"
29 #endif
31 #ifdef HAVE_NCURSESW_NCURSES_H
32 #include <ncursesw/ncurses.h>
33 #else
34 #include <ncurses.h>
35 #endif
37 static SCREEN *ncu_screen;
39 void
40 ncu_init(void)
42 /* initialize the curses library */
43 ncu_screen = newterm(NULL, stdout, stdin);
45 /* initialize color support */
46 #ifdef ENABLE_COLORS
47 colors_start();
48 #endif
50 /* tell curses not to do NL->CR/NL on output */
51 nonl();
53 /* don't echo input */
54 noecho();
56 /* set cursor invisible */
57 curs_set(0);
59 /* enable extra keys */
60 keypad(stdscr, TRUE);
62 /* initialize mouse support */
63 #ifdef HAVE_GETMOUSE
64 if (options.enable_mouse)
65 mousemask(ALL_MOUSE_EVENTS, NULL);
66 #endif
68 refresh();
71 void
72 ncu_deinit(void)
74 endwin();
76 delscreen(ncu_screen);