Mercurial > ~mikael > mcabber > hg
diff mcabber/mcabber/screen.h @ 1668:41c26b7d2890
Install mcabber headers
* Change mcabber headers naming scheme
* Move 'src/' -> 'mcabber/'
* Add missing include <mcabber/config.h>'s
* Create and install clean config.h version in 'include/'
* Move "dirty" config.h version to 'mcabber/'
* Add $(top_srcdir) to compiler include path
* Update modules HOWTO
author | Myhailo Danylenko <isbear@ukrpost.net> |
---|---|
date | Mon, 18 Jan 2010 15:36:19 +0200 |
parents | mcabber/src/screen.h@f4a2c6f767d1 |
children | b2e0083891cc |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mcabber/mcabber/screen.h Mon Jan 18 15:36:19 2010 +0200 @@ -0,0 +1,189 @@ +#ifndef __MCABBER_SCREEN_H__ +#define __MCABBER_SCREEN_H__ 1 + +#include <glib.h> + +#include <mcabber/config.h> + +#if HAVE_NCURSESW_NCURSES_H +# include <ncursesw/ncurses.h> +# include <ncursesw/panel.h> +#elif HAVE_NCURSES_NCURSES_H +# include <ncurses/ncurses.h> +# include <ncurses/panel.h> +#else +# include <ncurses.h> +# include <panel.h> +#endif + +#if defined(WITH_ENCHANT) || defined(WITH_ASPELL) +void spellcheck_init(void); +void spellcheck_deinit(void); +//static void spellcheck(char*, char*); +#endif + +#include <mcabber/hbuf.h> +#include <mcabber/logprint.h> +#include <mcabber/roster.h> + +#define INPUTLINE_LENGTH 1024 + +// Only used in screen.c; this is the maximum line number +// in a multi-line message. Should be < 1000 +// Note: message length is limited by the HBB_BLOCKSIZE size too +#define MULTILINE_MAX_LINE_NUMBER 299 + +// When chatstates are enabled, timeout (in seconds) before "composing" +// becomes "paused" because of user inactivity. +// Warning: setting this very low will cause more network traffic. +#define COMPOSING_TIMEOUT 6L + +enum colors { + COLOR_GENERAL = 3, + COLOR_MSGOUT, + COLOR_MSGHL, + COLOR_STATUS, + COLOR_ROSTER, + COLOR_ROSTERSEL, + COLOR_ROSTERSELNMSG, + COLOR_ROSTERNMSG, + COLOR_INFO, + COLOR_MSGIN, + COLOR_max +}; + +int COLOR_ATTRIB[COLOR_max]; + +extern int update_roster; + +typedef struct { + int value; + int utf8; + enum { + MKEY_META = 1, + MKEY_EQUIV, + MKEY_CTRL_PGUP, + MKEY_CTRL_PGDOWN, + MKEY_SHIFT_PGUP, + MKEY_SHIFT_PGDOWN, + MKEY_CTRL_SHIFT_PGUP, + MKEY_CTRL_SHIFT_PGDOWN, + MKEY_CTRL_HOME, + MKEY_CTRL_END, + MKEY_CTRL_INS, + MKEY_CTRL_DEL, + MKEY_CTRL_SHIFT_HOME, + MKEY_CTRL_SHIFT_END, + MKEY_MOUSE + } mcode; +} keycode; + +typedef enum { + MC_ALL, + MC_PRESET, + MC_OFF, + MC_REMOVE +} muccoltype; + +void scr_init_bindings(void); + +void scr_Getch(keycode *kcode); +void process_key(keycode kcode); + +void scr_InitLocaleCharSet(void); +void scr_InitCurses(void); +void scr_TerminateCurses(void); +void scr_DrawMainWindow(unsigned int fullinit); +void scr_DrawRoster(void); +void scr_UpdateMainStatus(int forceupdate); +void scr_UpdateChatStatus(int forceupdate); +void scr_RosterVisibility(int status); +void scr_WriteIncomingMessage(const char *jidfrom, const char *text, + time_t timestamp, guint prefix, + unsigned mucnicklen); +void scr_WriteOutgoingMessage(const char *jidto, const char *text, + guint prefix, gpointer xep184); +void scr_RemoveReceiptFlag(const char *jidto, gpointer xep184); +void scr_ShowBuddyWindow(void); +int scr_BuddyBufferExists(const char *jid); +void scr_UpdateBuddyWindow(void); +void scr_set_chatmode(int enable); +int scr_get_chatmode(void); +void scr_set_multimode(int enable, char *subject); +int scr_get_multimode(void); +void scr_setmsgflag_if_needed(const char *jid, int special); +void scr_append_multiline(const char *line); +const char *scr_get_multiline(void); +const char *scr_get_multimode_subj(void); + +guint scr_getprefixwidth(void); +void scr_line_prefix(hbb_line *line, char *prefix, guint preflen); + +void scr_Beep(void); + +bool Autoaway; + +void scr_CheckAutoAway(int activity); + +#if defined JEP0022 || defined JEP0085 +gboolean scr_ChatStatesTimeout(); +#endif +int chatstates_disabled; + +// For commands... +void scr_RosterTop(void); +void scr_RosterBottom(void); +void scr_RosterUpDown(int updown, unsigned int n); +void scr_RosterPrevGroup(void); +void scr_RosterNextGroup(void); +void scr_RosterSearch(char *); +void scr_RosterJumpJid(char *); +void scr_RosterDisplay(const char *); +void scr_BufferTopBottom(int topbottom); +void scr_BufferClear(void); +void scr_BufferScrollLock(int lock); +void scr_BufferPurge(int, const char*); +void scr_BufferPurgeAll(int); +void scr_BufferSearch(int direction, const char *text); +void scr_BufferPercent(int pc); +void scr_BufferDate(time_t t); +void scr_BufferDump(const char *file); +void scr_RosterUnreadMessage(int); +void scr_RosterJumpAlternate(void); +void scr_BufferScrollUpDown(int updown, unsigned int nblines); +bool scr_RosterColor(const char *status, const char *wildcard, + const char *color); +void scr_RosterClearColor(void); +void scr_MucColor(const char *muc, muccoltype type); +void scr_MucNickColor(const char *nick, const char *color); +void scr_BufferList(void); + +void readline_transpose_chars(void); +void readline_forward_kill_word(void); +void readline_backward_kill_word(void); +void readline_backward_word(void); +void readline_forward_word(void); +void readline_updowncase_word(int); +void readline_capitalize_word(void); +void readline_backward_char(void); +void readline_forward_char(void); +int readline_accept_line(int down_history); +void readline_cancel_completion(void); +void readline_do_completion(void); +void readline_refresh_screen(void); +void readline_disable_chat_mode(guint show_roster); +void readline_hist_beginning_search_bwd(void); +void readline_hist_beginning_search_fwd(void); +void readline_hist_prev(void); +void readline_hist_next(void); +void readline_backward_kill_char(void); +void readline_forward_kill_char(void); +void readline_iline_start(void); +void readline_iline_end(void); +void readline_backward_kill_iline(void); +void readline_forward_kill_iline(void); +void readline_send_multiline(void); + +#endif + +/* vim: set expandtab cindent cinoptions=>2\:2(0: For Vim users... */