Mercurial > ~mikael > mcabber > hg
annotate mcabber/src/screen.h @ 830:80434fde7cfa
Display presence notification timestamps when they exist
These timestamps were used in the roster, but not in the buffer window
message nor in the history logfile. Reported by "ze".
author | Mikael Berthe <mikael@lilotux.net> |
---|---|
date | Wed, 03 May 2006 11:28:41 +0200 |
parents | 3a3c7a017904 |
children | cee8d6be04e1 |
rev | line source |
---|---|
24 | 1 #ifndef __SCREEN_H__ |
2 #define __SCREEN_H__ 1 | |
3 | |
4 #include <ncurses.h> | |
173 | 5 #include <glib.h> |
24 | 6 |
374
bd5638c21834
Improve logging system (traces)
Mikael Berthe <mikael@lilotux.net>
parents:
370
diff
changeset
|
7 #include "logprint.h" |
bd5638c21834
Improve logging system (traces)
Mikael Berthe <mikael@lilotux.net>
parents:
370
diff
changeset
|
8 |
761
4532a9fe0e8c
Handle some keyboard escape sequences
Mikael Berthe <mikael@lilotux.net>
parents:
739
diff
changeset
|
9 // Length of the timestamp & flag prefix in the chat buffer window |
4532a9fe0e8c
Handle some keyboard escape sequences
Mikael Berthe <mikael@lilotux.net>
parents:
739
diff
changeset
|
10 #define PREFIX_WIDTH 17 |
4532a9fe0e8c
Handle some keyboard escape sequences
Mikael Berthe <mikael@lilotux.net>
parents:
739
diff
changeset
|
11 |
4532a9fe0e8c
Handle some keyboard escape sequences
Mikael Berthe <mikael@lilotux.net>
parents:
739
diff
changeset
|
12 #define INPUTLINE_LENGTH 1024 |
4532a9fe0e8c
Handle some keyboard escape sequences
Mikael Berthe <mikael@lilotux.net>
parents:
739
diff
changeset
|
13 |
4532a9fe0e8c
Handle some keyboard escape sequences
Mikael Berthe <mikael@lilotux.net>
parents:
739
diff
changeset
|
14 // Only used in screen.c; this is the maximum line number |
4532a9fe0e8c
Handle some keyboard escape sequences
Mikael Berthe <mikael@lilotux.net>
parents:
739
diff
changeset
|
15 // in a multi-line message. Should be < 1000 |
4532a9fe0e8c
Handle some keyboard escape sequences
Mikael Berthe <mikael@lilotux.net>
parents:
739
diff
changeset
|
16 // Note: message length is limited by the HBB_BLOCKSIZE size too |
4532a9fe0e8c
Handle some keyboard escape sequences
Mikael Berthe <mikael@lilotux.net>
parents:
739
diff
changeset
|
17 #define MULTILINE_MAX_LINE_NUMBER 299 |
4532a9fe0e8c
Handle some keyboard escape sequences
Mikael Berthe <mikael@lilotux.net>
parents:
739
diff
changeset
|
18 |
739
0d5fb1d9077c
Allow "bright" text colors
Mikael Berthe <mikael@lilotux.net>
parents:
730
diff
changeset
|
19 enum colors { |
0d5fb1d9077c
Allow "bright" text colors
Mikael Berthe <mikael@lilotux.net>
parents:
730
diff
changeset
|
20 COLOR_GENERAL = 3, |
785
7e0562e3bc83
Replace color_highlight with color_msgout
Mikael Berthe <mikael@lilotux.net>
parents:
779
diff
changeset
|
21 COLOR_MSGOUT, |
739
0d5fb1d9077c
Allow "bright" text colors
Mikael Berthe <mikael@lilotux.net>
parents:
730
diff
changeset
|
22 COLOR_STATUS, |
0d5fb1d9077c
Allow "bright" text colors
Mikael Berthe <mikael@lilotux.net>
parents:
730
diff
changeset
|
23 COLOR_ROSTER, |
0d5fb1d9077c
Allow "bright" text colors
Mikael Berthe <mikael@lilotux.net>
parents:
730
diff
changeset
|
24 COLOR_ROSTERSEL, |
0d5fb1d9077c
Allow "bright" text colors
Mikael Berthe <mikael@lilotux.net>
parents:
730
diff
changeset
|
25 COLOR_ROSTERSELNMSG, |
0d5fb1d9077c
Allow "bright" text colors
Mikael Berthe <mikael@lilotux.net>
parents:
730
diff
changeset
|
26 COLOR_ROSTERNMSG, |
0d5fb1d9077c
Allow "bright" text colors
Mikael Berthe <mikael@lilotux.net>
parents:
730
diff
changeset
|
27 COLOR_max |
0d5fb1d9077c
Allow "bright" text colors
Mikael Berthe <mikael@lilotux.net>
parents:
730
diff
changeset
|
28 }; |
0d5fb1d9077c
Allow "bright" text colors
Mikael Berthe <mikael@lilotux.net>
parents:
730
diff
changeset
|
29 |
0d5fb1d9077c
Allow "bright" text colors
Mikael Berthe <mikael@lilotux.net>
parents:
730
diff
changeset
|
30 int COLOR_ATTRIB[COLOR_max]; |
24 | 31 |
761
4532a9fe0e8c
Handle some keyboard escape sequences
Mikael Berthe <mikael@lilotux.net>
parents:
739
diff
changeset
|
32 extern int update_roster; |
24 | 33 |
761
4532a9fe0e8c
Handle some keyboard escape sequences
Mikael Berthe <mikael@lilotux.net>
parents:
739
diff
changeset
|
34 typedef struct { |
4532a9fe0e8c
Handle some keyboard escape sequences
Mikael Berthe <mikael@lilotux.net>
parents:
739
diff
changeset
|
35 int value; |
4532a9fe0e8c
Handle some keyboard escape sequences
Mikael Berthe <mikael@lilotux.net>
parents:
739
diff
changeset
|
36 enum { |
4532a9fe0e8c
Handle some keyboard escape sequences
Mikael Berthe <mikael@lilotux.net>
parents:
739
diff
changeset
|
37 MKEY_META = 1, |
763 | 38 MKEY_EQUIV, |
39 MKEY_CTRL_PGUP, | |
40 MKEY_CTRL_PGDOWN, | |
765
72626e9d60bd
Create init_keycodes(), add 2 screen escape sequences
Mikael Berthe <mikael@lilotux.net>
parents:
763
diff
changeset
|
41 MKEY_SHIFT_PGUP, |
72626e9d60bd
Create init_keycodes(), add 2 screen escape sequences
Mikael Berthe <mikael@lilotux.net>
parents:
763
diff
changeset
|
42 MKEY_SHIFT_PGDOWN, |
763 | 43 MKEY_CTRL_SHIFT_PGUP, |
794
32d5298f9f8d
Add a few keycode sequences
Mikael Berthe <mikael@lilotux.net>
parents:
785
diff
changeset
|
44 MKEY_CTRL_SHIFT_PGDOWN, |
32d5298f9f8d
Add a few keycode sequences
Mikael Berthe <mikael@lilotux.net>
parents:
785
diff
changeset
|
45 MKEY_CTRL_HOME, |
32d5298f9f8d
Add a few keycode sequences
Mikael Berthe <mikael@lilotux.net>
parents:
785
diff
changeset
|
46 MKEY_CTRL_END, |
32d5298f9f8d
Add a few keycode sequences
Mikael Berthe <mikael@lilotux.net>
parents:
785
diff
changeset
|
47 MKEY_CTRL_INS, |
826
3a3c7a017904
Add Ctrl-Shift-{Home,End} key code sequences
Mikael Berthe <mikael@lilotux.net>
parents:
807
diff
changeset
|
48 MKEY_CTRL_DEL, |
3a3c7a017904
Add Ctrl-Shift-{Home,End} key code sequences
Mikael Berthe <mikael@lilotux.net>
parents:
807
diff
changeset
|
49 MKEY_CTRL_SHIFT_HOME, |
3a3c7a017904
Add Ctrl-Shift-{Home,End} key code sequences
Mikael Berthe <mikael@lilotux.net>
parents:
807
diff
changeset
|
50 MKEY_CTRL_SHIFT_END |
761
4532a9fe0e8c
Handle some keyboard escape sequences
Mikael Berthe <mikael@lilotux.net>
parents:
739
diff
changeset
|
51 } mcode; |
4532a9fe0e8c
Handle some keyboard escape sequences
Mikael Berthe <mikael@lilotux.net>
parents:
739
diff
changeset
|
52 } keycode; |
276
627925d885de
Limit the number of lines in multi-line messages
Mikael Berthe <mikael@lilotux.net>
parents:
267
diff
changeset
|
53 |
761
4532a9fe0e8c
Handle some keyboard escape sequences
Mikael Berthe <mikael@lilotux.net>
parents:
739
diff
changeset
|
54 void scr_Getch(keycode *kcode); |
4532a9fe0e8c
Handle some keyboard escape sequences
Mikael Berthe <mikael@lilotux.net>
parents:
739
diff
changeset
|
55 int process_key(keycode kcode); |
24 | 56 |
779
057ffe7c43dc
Initialize locale charset earlier
Mikael Berthe <mikael@lilotux.net>
parents:
765
diff
changeset
|
57 void scr_InitLocaleCharSet(void); |
24 | 58 void scr_InitCurses(void); |
374
bd5638c21834
Improve logging system (traces)
Mikael Berthe <mikael@lilotux.net>
parents:
370
diff
changeset
|
59 void scr_TerminateCurses(void); |
151 | 60 void scr_DrawMainWindow(unsigned int fullinit); |
81 | 61 void scr_DrawRoster(void); |
724
264375fe7159
Fix a roster refresh issue
Mikael Berthe <mikael@lilotux.net>
parents:
723
diff
changeset
|
62 void scr_UpdateMainStatus(int forceupdate); |
721
9cf31c9b1dc4
Use room topic as a description in the chat status line
Mikael Berthe <mikael@lilotux.net>
parents:
713
diff
changeset
|
63 void scr_UpdateChatStatus(int forceupdate); |
707
b26a0bde4cdb
Add /roster hide|show|toggle
Mikael Berthe <mikael@lilotux.net>
parents:
701
diff
changeset
|
64 void scr_RosterVisibility(int status); |
184 | 65 void scr_WriteIncomingMessage(const char *jidfrom, const char *text, |
190 | 66 time_t timestamp, guint prefix); |
50 | 67 void scr_WriteOutgoingMessage(const char *jidto, const char *text); |
24 | 68 void scr_ShowBuddyWindow(void); |
514
979eb0fe2969
Show status changes in buddy window, if it is open
Mikael Berthe <mikael@lilotux.net>
parents:
508
diff
changeset
|
69 bool scr_BuddyBufferExists(const char *jid); |
129 | 70 inline void scr_set_chatmode(int enable); |
807
f6cda389db48
Allow messages with a subject (/msay)
Mikael Berthe <mikael@lilotux.net>
parents:
794
diff
changeset
|
71 inline void scr_set_multimode(int enable, char *subject); |
724
264375fe7159
Fix a roster refresh issue
Mikael Berthe <mikael@lilotux.net>
parents:
723
diff
changeset
|
72 inline int scr_get_multimode(void); |
654
d7fe7b88e4fc
MUC: Set the new_message flag when joining a room
Mikael Berthe <mikael@lilotux.net>
parents:
580
diff
changeset
|
73 void scr_setmsgflag_if_needed(const char *jid); |
238 | 74 void scr_append_multiline(const char *line); |
724
264375fe7159
Fix a roster refresh issue
Mikael Berthe <mikael@lilotux.net>
parents:
723
diff
changeset
|
75 inline const char *scr_get_multiline(void); |
807
f6cda389db48
Allow messages with a subject (/msay)
Mikael Berthe <mikael@lilotux.net>
parents:
794
diff
changeset
|
76 inline const char *scr_get_multimode_subj(void); |
24 | 77 |
675
ae7016aae014
New "beep_on_message" option
Mikael Berthe <mikael@lilotux.net>
parents:
654
diff
changeset
|
78 inline void scr_Beep(void); |
24 | 79 |
322
da138cdebf04
Implement auto-away mode
Mikael Berthe <mikael@lilotux.net>
parents:
314
diff
changeset
|
80 void scr_CheckAutoAway(bool activity); |
da138cdebf04
Implement auto-away mode
Mikael Berthe <mikael@lilotux.net>
parents:
314
diff
changeset
|
81 |
104 | 82 // For commands... |
108 | 83 void scr_RosterTop(void); |
84 void scr_RosterBottom(void); | |
377
00809e3e327e
Add "/roster up" and "/roster down"
Mikael Berthe <mikael@lilotux.net>
parents:
374
diff
changeset
|
85 void scr_RosterUp(void); |
00809e3e327e
Add "/roster up" and "/roster down"
Mikael Berthe <mikael@lilotux.net>
parents:
374
diff
changeset
|
86 void scr_RosterDown(void); |
265 | 87 void scr_RosterSearch(char *); |
480 | 88 void scr_RosterJumpJid(char *); |
361
51ff319947c3
Code cleanup/optimization
Mikael Berthe <mikael@lilotux.net>
parents:
336
diff
changeset
|
89 void scr_BufferTopBottom(int topbottom); |
369
499170ed71c9
Rename some buffer commands, for homogeneity
Mikael Berthe <mikael@lilotux.net>
parents:
364
diff
changeset
|
90 void scr_BufferClear(void); |
370
dd9e2eb52916
Add /buffer search_{backward,forward}
Mikael Berthe <mikael@lilotux.net>
parents:
369
diff
changeset
|
91 void scr_BufferSearch(int direction, const char *text); |
462 | 92 void scr_BufferPercent(int pc); |
464 | 93 void scr_BufferDate(time_t t); |
236 | 94 void scr_RosterUnreadMessage(int); |
330 | 95 void scr_RosterJumpAlternate(void); |
508
5a2132ba2220
Add "/buffer up" and "/buffer down"
Mikael Berthe <mikael@lilotux.net>
parents:
480
diff
changeset
|
96 void scr_BufferScrollUpDown(int updown, unsigned int nblines); |
104 | 97 |
24 | 98 #endif |
576 | 99 |
580 | 100 /* vim: set expandtab cindent cinoptions=>2\:2(0: For Vim users... */ |