about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorJames Booth <boothj5@gmail.com>2012-02-08 23:49:46 +0000
committerJames Booth <boothj5@gmail.com>2012-02-08 23:49:46 +0000
commita7190ed7e483c6791e8f05fd3564d31bd17c8cfa (patch)
tree1468facb0abfaa1829a8b258ec6a9bf12ca773a8
parentc92b26880924c49de97d70a37620a7bec57cf32d (diff)
downloadprofani-tty-a7190ed7e483c6791e8f05fd3564d31bd17c8cfa.tar.gz
Split window functions
-rw-r--r--Makefile5
-rw-r--r--app.c4
-rw-r--r--windows.c133
-rw-r--r--windows.h24
4 files changed, 26 insertions, 140 deletions
diff --git a/Makefile b/Makefile
index 9451b991..176c8bb4 100644
--- a/Makefile
+++ b/Makefile
@@ -2
.go
/aerc2
/aerc
log
raw.log
aerc.conf
*.1
*.5
*.7
d", i+1); - touchwin(inp_bar); - wrefresh(inp_bar); + inp_bar_active(i); // if its the current window, draw it if (curr_win == i) { @@ -149,81 +127,6 @@ void show_outgoing_msg(char *from, char* message) wrefresh(wins[curr_win].win); } -void inp_get_command_str(char *cmd) -{ - wmove(inp_win, 0, 0); - wgetstr(inp_win, cmd); -} - -void inp_clear(void) -{ - wclear(inp_win); - wmove(inp_win, 0, 0); - wrefresh(inp_win); -} - -void inp_non_block(void) -{ - wtimeout(inp_win, 0); -} - -void inp_poll_char(int *ch, char command[], int *size) -{ - int inp_y = 0; - int inp_x = 0; - - // move cursor back to inp_win - getyx(inp_win, inp_y, inp_x); - wmove(inp_win, inp_y, inp_x); - - // echo off, and get some more input - noecho(); - *ch = wgetch(inp_win); - - // if delete pressed, go back and delete it - if (*ch == 127) { - if (*size > 0) { - getyx(inp_win, inp_y, inp_x); - wmove(inp_win, inp_y, inp_x-1); - wdelch(inp_win); - (*size)--; - } - } - - // else if not error or newline, show it and store it - else if (*ch != ERR && - *ch != '\n' && - *ch != KEY_F(1) && - *ch != KEY_F(2) && - *ch != KEY_F(3) && - *ch != KEY_F(4) && - *ch != KEY_F(5) && - *ch != KEY_F(6) && - *ch != KEY_F(7) && - *ch != KEY_F(8) && - *ch != KEY_F(9) && - *ch != KEY_F(10)) { - waddch(inp_win, *ch); - command[(*size)++] = *ch; - } - - echo(); -} - -void inp_get_password(char *passwd) -{ - wclear(inp_win); - noecho(); - mvwgetstr(inp_win, 0, 0, passwd); - echo(); -} - -void bar_print_message(char *msg) -{ - mvwprintw(inp_bar, 0, 0, msg); - wrefresh(inp_bar); -} - void cons_help(void) { waddstr(wins[9].win, "Help\n"); @@ -249,36 +152,6 @@ void cons_bad_command(char *cmd) } } -static void create_title_bar(void) -{ - char *title = "Profanity"; - - int rows, cols; - getmaxyx(stdscr, rows, cols); - - title_bar = newwin(1, cols, 0, 0); - wbkgd(title_bar, COLOR_PAIR(3)); - mvwprintw(title_bar, 0, 0, title); -} - -static void create_input_bar(void) -{ - int rows, cols; - getmaxyx(stdscr, rows, cols); - - inp_bar = newwin(1, cols, rows-2, 0); - wbkgd(inp_bar, COLOR_PAIR(3)); -} - -static void create_input_window(void) -{ - int rows, cols; - getmaxyx(stdscr, rows, cols); - - inp_win = newwin(1, cols, rows-1, 0); - keypad(inp_win, TRUE); -} - static void create_windows(void) { int rows, cols; diff --git a/windows.h b/windows.h index 3e2918fb..4f832c4b 100644 --- a/windows.h +++ b/windows.h @@ -1,7 +1,6 @@ #ifndef WINDOWS_H #define WINDOWS_h -#include <strophe/strophe.h> #include <ncurses.h> struct prof_win { @@ -9,6 +8,23 @@ struct prof_win { WINDOW *win; }; +// create windows +void create_title_bar(void); +void create_input_bar(void); +void create_input_window(void); + +// input bar actions +void inp_bar_inactive(int win); +void inp_bar_active(int win); + +// input window actions +void inp_get_command_str(char *cmd); +void inp_poll_char(int *ch, char command[], int *size); +void inp_clear(void); +void inp_non_block(void); +void inp_get_password(char *passwd); +void inp_bar_print_message(char *msg); + void gui_init(void); void gui_close(void); void switch_to(int i); @@ -17,12 +33,6 @@ int in_chat(void); void get_recipient(char *recipient); void show_incomming_msg(char *from, char *message); void show_outgoing_msg(char *from, char *message); -void inp_get_command_str(char *cmd); -void inp_poll_char(int *ch, char command[], int *size); -void inp_clear(void); -void inp_non_block(void); -void inp_get_password(char *passwd); -void bar_print_message(char *msg); void cons_help(void); void cons_bad_command(char *cmd); #endif