diff --git a/Makefile.am b/Makefile.am index 697d2e6a..dcd43704 100644 --- a/Makefile.am +++ b/Makefile.am @@ -10,6 +10,7 @@ profanity_SOURCES = src/contact.c src/contact.h src/log.c src/common.c \ src/xmpp/capabilities.h src/xmpp/connection.h \ src/ui/ui.h src/ui/window.c src/ui/window.h src/ui/windows.c \ src/ui/titlebar.c src/ui/statusbar.c src/ui/inputwin.c \ + src/ui/console.h src/ui/console.c \ src/command/command.h src/command/command.c src/command/history.c \ src/command/history.h src/command/parser.c \ src/command/parser.h \ diff --git a/src/ui/console.c b/src/ui/console.c new file mode 100644 index 00000000..30c3a047 --- /dev/null +++ b/src/ui/console.c @@ -0,0 +1,43 @@ +/* + * console.c + * + * Copyright (C) 2012, 2013 James Booth + * + * This file is part of Profanity. + * + * Profanity is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Profanity is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Profanity. If not, see . + * + */ + +#ifdef HAVE_NCURSESW_NCURSES_H +#include +#elif HAVE_NCURSES_H +#include +#endif + +#include "ui/window.h" + +#define CONS_WIN_TITLE "_cons" + +static ProfWin* console; + +ProfWin * +console_create(void) +{ + int cols = getmaxx(stdscr); + console = window_create(CONS_WIN_TITLE, cols, WIN_CONSOLE); + return console; +} + + diff --git a/src/ui/console.h b/src/ui/console.h new file mode 100644 index 00000000..7b28684b --- /dev/null +++ b/src/ui/console.h @@ -0,0 +1,31 @@ +/* + * console.h + * + * Copyright (C) 2012, 2013 James Booth + * + * This file is part of Profanity. + * + * Profanity is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Profanity is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Profanity. If not, see . + * + */ + +#ifndef CONSOLE_H +#define CONSOLE_H + +#include "ui/window.h" + +ProfWin* console_create(void); + +#endif + diff --git a/src/ui/windows.c b/src/ui/windows.c index 9a10557c..9d232373 100644 --- a/src/ui/windows.c +++ b/src/ui/windows.c @@ -50,10 +50,10 @@ #include "jid.h" #include "log.h" #include "muc.h" +#include "ui/console.h" #include "ui/ui.h" #include "ui/window.h" -#define CONS_WIN_TITLE "_cons" #define NUM_WINS 10 // holds console at index 0 and chat wins 1 through to 9 @@ -79,7 +79,6 @@ static Display *display; static GTimer *ui_idle_time; static void _set_current(int index); -static void _create_windows(void); static void _cons_splash_logo(void); static void _cons_show_basic_help(void); static void _win_show_contact(ProfWin *window, PContact contact); @@ -132,7 +131,11 @@ ui_init(void) create_status_bar(); status_bar_active(0); create_input_window(); - _create_windows(); + max_cols = getmaxx(stdscr); + windows[0] = console_create(); + console = windows[0]; + current = console; + cons_about(); #ifdef HAVE_LIBXSS display = XOpenDisplay(0); #endif @@ -2238,17 +2241,6 @@ _notify_typing(const char * const from) _notify(message, 10000, "Incoming message"); } -static void -_create_windows(void) -{ - int cols = getmaxx(stdscr); - max_cols = cols; - windows[0] = window_create(CONS_WIN_TITLE, cols, WIN_CONSOLE); - console = windows[0]; - current = console; - cons_about(); -} - static gboolean _new_release(char *found_version) {