diff options
author | James Booth <boothj5@gmail.com> | 2013-05-12 22:57:36 +0100 |
---|---|---|
committer | James Booth <boothj5@gmail.com> | 2013-05-12 23:00:29 +0100 |
commit | 57e64bebe58f051eafc90b27ebe328128fe47095 (patch) | |
tree | 54b3e7b6daac3c9a3afcf258ee59474df0fb9892 /src/ui/core.c | |
parent | c1ee75da40b5fa633cb7a3efd699c217a3c88ff0 (diff) | |
download | profani-tty-57e64bebe58f051eafc90b27ebe328128fe47095.tar.gz |
Added parameter to /close
2,3,4,5,6,7,8,9,0 will close specified window. 'all' will close all windows. closes #159
Diffstat (limited to 'src/ui/core.c')
-rw-r--r-- | src/ui/core.c | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/src/ui/core.c b/src/ui/core.c index 1e9d18e4..992a5701 100644 --- a/src/ui/core.c +++ b/src/ui/core.c @@ -205,6 +205,11 @@ ui_windows_full(void) return TRUE; } +gboolean ui_win_exists(int index) +{ + return (windows[index] != NULL); +} + gboolean ui_duck_exists(void) { @@ -550,12 +555,46 @@ ui_close_current(void) current_win_dirty = TRUE; } +void ui_close_win(int index) +{ + win_free(windows[index]); + windows[index] = NULL; + status_bar_inactive(index); + + if (index == current_index) { + _set_current(0); + } + + status_bar_active(0); + title_bar_title(); + + current_win_dirty = TRUE; +} + win_type_t ui_current_win_type(void) { return current->type; } +int +ui_current_win_index(void) +{ + return current_index; +} + +win_type_t +ui_win_type(int index) +{ + return windows[index]->type; +} + +char * +ui_recipient(int index) +{ + return strdup(windows[index]->from); +} + char * ui_current_recipient(void) { |