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... */