Idź do dokumentacji tego pliku.00001 #ifndef __EKG_NCURSES_OLD_H
00002 #define __EKG_NCURSES_OLD_H
00003
00004 #include "ekg2-config.h"
00005
00006 #include "ecurses.h"
00007
00008 #include <ekg/commands.h>
00009 #include <ekg/plugins.h>
00010 #include <ekg/themes.h>
00011 #include <ekg/windows.h>
00012
00013 void ncurses_init(void);
00014 void ncurses_deinit(void);
00015
00016 extern plugin_t ncurses_plugin;
00017
00018
00019
00020 extern int ncurses_plugin_destroyed;
00021
00022 #define LINE_MAXLEN 1000
00023 #define MULTILINE_INPUT_SIZE 5
00024
00025 #define ncurses_current ((ncurses_window_t *) window_current->priv_data)
00026
00027 void update_statusbar(int commit);
00028
00029 struct screen_line {
00030 int len;
00031
00032 CHAR_T *str;
00033 short *attr;
00034
00035 CHAR_T *prompt_str;
00036 short *prompt_attr;
00037 int prompt_len;
00038
00039 char *ts;
00040 short *ts_attr;
00041
00042 int backlog;
00043 int margin_left;
00044 };
00045
00046 enum window_frame_t {
00047 WF_LEFT = 1,
00048 WF_TOP = 2,
00049 WF_RIGHT = 4,
00050 WF_BOTTOM = 8,
00051 WF_ALL = 15
00052 };
00053
00054 typedef struct {
00055 WINDOW *window;
00056
00057 char *prompt;
00058 int prompt_len;
00059
00060 int margin_left, margin_right, margin_top, margin_bottom;
00061
00062
00063 fstring_t **backlog;
00064 int backlog_size;
00065
00066 int redraw;
00067
00068 int start;
00069 int lines_count;
00070 struct screen_line *lines;
00071
00072
00073 int overflow;
00074
00075 int (*handle_redraw)(window_t *w);
00076
00077
00078 void (*handle_mouse)(int x, int y, int state);
00079
00080 CHAR_T *prompt_real;
00081 int prompt_real_len;
00082 time_t last_red_line;
00083 } ncurses_window_t;
00084
00085 struct format_data {
00086 char *name;
00087 char *text;
00088 };
00089
00090 extern WINDOW *ncurses_contacts;
00091 extern WINDOW *ncurses_input;
00092
00093 QUERY(ncurses_session_disconnect_handler);
00094
00095 void ncurses_update_real_prompt(ncurses_window_t *n);
00096 void ncurses_resize(void);
00097 int ncurses_backlog_add(window_t *w, fstring_t *str);
00098 int ncurses_backlog_split(window_t *w, int full, int removed);
00099 void ncurses_redraw(window_t *w);
00100 void ncurses_redraw_input(unsigned int ch);
00101 void ncurses_clear(window_t *w, int full);
00102 void ncurses_refresh(void);
00103 void ncurses_commit(void);
00104 void ncurses_input_update(int new_line_index);
00105 void ncurses_line_adjust(void);
00106 #define line_adjust ncurses_line_adjust
00107 void ncurses_lines_adjust(void);
00108 #define lines_adjust ncurses_lines_adjust
00109 int ncurses_window_kill(window_t *w);
00110 int ncurses_window_new(window_t *w);
00111
00112 #define input ncurses_input
00113 #define header ncurses_header
00114 #define contacts ncurses_contacts
00115 #define history ncurses_history
00116 #define history_index ncurses_history_index
00117 #define line_index ncurses_line_index
00118 #define line_start ncurses_line_start
00119 #define lines_index ncurses_lines_index
00120 #define lines_start ncurses_lines_start
00121 #define input_size ncurses_input_size
00122 #define yanked ncurses_yanked
00123
00124 #define HISTORY_MAX 1000
00125 extern CHAR_T *ncurses_history[HISTORY_MAX];
00126 extern int ncurses_history_index;
00127 extern CHAR_T *ncurses_line;
00128 extern CHAR_T *ncurses_yanked;
00129 extern CHAR_T **ncurses_lines;
00130 extern int ncurses_line_start;
00131 extern int ncurses_line_index;
00132 extern int ncurses_lines_start;
00133 extern int ncurses_lines_index;
00134 extern int ncurses_input_size;
00135 extern int ncurses_debug;
00136
00137 void header_statusbar_resize(const char *dummy);
00138 #ifdef WITH_ASPELL
00139 void ncurses_spellcheck_init();
00140
00141 extern int config_aspell;
00142 extern char *config_aspell_lang;
00143 #endif
00144 void changed_backlog_size(const char *var);
00145
00146 extern int config_backlog_size;
00147 extern int config_display_transparent;
00148 extern int config_enter_scrolls;
00149 extern int config_header_size;
00150 extern int config_margin_size;
00151 extern int config_statusbar_size;
00152 extern int config_kill_irc_window;
00153
00154 extern int config_text_bottomalign;
00155 extern int config_typing_timeout;
00156 extern int config_typing_timeout_empty;
00157
00158 int ncurses_lastlog_update(window_t *w);
00159 void ncurses_lastlog_new(window_t *w);
00160 extern int config_lastlog_size;
00161 extern int config_lastlog_lock;
00162 extern int config_mark_on_window_change;
00163
00164 WATCHER(ncurses_watch_stdin);
00165 WATCHER(ncurses_watch_winch);
00166 int ncurses_command_window(void *data, va_list ap);
00167 COMMAND(cmd_mark);
00168
00169 extern int have_winch_pipe;
00170 extern int winch_pipe[2];
00171
00172 #ifndef COLOR_DEFAULT
00173 # define COLOR_DEFAULT (-1)
00174 #endif
00175
00176 #endif
00177
00178
00179
00180
00181
00182
00183
00184
00185