summaryrefslogtreecommitdiff
path: root/vchat-config.h
blob: d7e7305664595b0d81d952d26e47a25c4d5be8dc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
/*
 * vchat-client - alpha version
 * vchat-config.h - declaration of configuration array and default values
 *
 * Copyright (C) 2001 Andreas Kotes <count@flatline.de>
 *
 * This program is free software. It can be redistributed and/or modified,
 * provided that this copyright notice is kept intact. This program is
 * distributed in the hope that it will be useful, but without any warranty;
 * without even the implied warranty of merchantability or fitness for a
 * particular purpose. In no event shall the copyright holder be liable for
 * any direct, indirect, incidental or special damages arising in any way out
 * of the use of this software. 
 *
 */

#ifndef GLOBAL_CONFIG_FILE
# define GLOBAL_CONFIG_FILE "/etc/vchatrc"
#endif

#ifndef GLOBAL_FORMAT_FILE
# define GLOBAL_FORMAT_FILE "/etc/vchatformats"
#endif

/* configuration array with structure as defined in vchat.h */
extern int usessl;
extern int usetime;
extern unsigned int hscroll;

static volatile configoption configoptions[] = {
/* config-option   type    name in file  default value       value       localvar  */
  {CF_NICK,        CO_STR, "nick",       NULL,               NULL,       &nick     },
  {CF_FROM,        CO_STR, "from",       "vc-alpha-0.16",    NULL,       NULL      },
  {CF_SERVERHOST,  CO_STR, "host",       "pulse.flatline.de",NULL,       NULL      },
  {CF_SERVERPORT,  CO_INT, "port",       (char *) 2325,      (char *)-1, NULL      },
  {CF_CIPHERSUITE, CO_STR, "ciphers",    "HIGH:MEDIUM",      NULL,       NULL      },
  {CF_CONFIGFILE,  CO_STR, "conffile",   "~/.vchat/config",  NULL,       NULL      },
  {CF_CERTFILE,    CO_STR, "certfile",   "~/.vchat/cert",    NULL,       NULL      },
  {CF_KEYFILE,     CO_STR, "keyfile",    "~/.vchat/key",     NULL,       NULL      },
  {CF_FORMFILE,    CO_STR, "formatfile", "~/.vchat/formats", NULL,       NULL      },
  {CF_USESSL,      CO_INT, "usessl",     (char *) 1,         (char *)-1, (unsigned char **)&usessl   },
  {CF_USECERT,     CO_INT, "usecert",    (char *) 1,         (char *)-1, NULL      },
  {CF_USETIME,     CO_INT, "usetime",    (char *) 1,         (char *)-1, (unsigned char **)&usetime  },
  {CF_PRIVHEIGHT,  CO_INT, "messages",   (char *) 0,         (char *)-1, NULL      },
  {CF_HSCROLL,     CO_INT, "hscroll",    (char *) 5,         (char *)-1, (unsigned char **)&hscroll  },
  {CF_CHANNEL,     CO_INT, "channel",    (char *) 0,         (char *)-1, NULL      },
  {CF_SCROLLBPRIV, CO_INT, "privscrollb",(char *) 2048,      (char *)-1, NULL      },
  {CF_SCROLLBACK,  CO_INT, "scrollback", (char *) 8192,      (char *)-1, NULL      },
  {CF_SCROLLBPRIVT,CO_INT, "privscrollt",(char *) 0,         (char *)-1, NULL      },
  {CF_SCROLLBACKT, CO_INT, "scrolltime", (char *) 86400,     (char *)-1, NULL      },
  {CF_NIL,         CO_NIL, NULL,         NULL,               NULL,       NULL      },
};

/*
choose option with \001 +
0 - default colorpair for window
1 - colorpair 1 RED
2 - colorpair 2 GREEN
3 - colorpair 3 YELLOW
4 - colorpair 4 BLUE
5 - colorpair 5 MAGENTA
6 - colorpair 6 CYAN
7 - colorpair 7 WHITE
8 - colorpair 8 WHITE on RED
9 - colorpair 9 WHITE on BLUE
aA - alternate charset on/off
bB - bold on/off
dD - dim on/off
iI - invisible on/off
lL - blink on/off
nN - normal on/off
pP - protected on/off
rR - reverse on/off
sS - standout on/off
uU - underlined on/off
*/

#define FE( ID, STRING) { ID, #ID, STRING }

static formatstring formatstrings[] = {
/* format-string    string */
  FE( FS_PLAIN,        "%s"),
  FE( FS_CHAN,         "%s"),
  FE( FS_PRIV,         "%s"),
  FE( FS_SERV,         "\0012%s"),
  FE( FS_GLOB,         "\0012%s"),
  FE( FS_DBG,          "\0013%s"),
  FE( FS_ERR,          "\0011%s"),
  FE( FS_ERR_STRING,   "\0011%s %s"),
  FE( FS_IDLE,         "\0018%s"),
  FE( FS_TIME,         "\0015[%H:%M]\0010 "),
  FE( FS_TOPICW,       "[ Channel %d: %s"),
  FE( FS_NOTOPICW,     "[ Channel %d has no topic"),
  FE( FS_CONSOLE,      "[ %s@%s:%d, use .h to get help, send bugs reports and feature requests to vchat@pulse.flatline.de ..."),
  FE( FS_CONNECTED,    "\0012# Connected to '\0016%s\0012', port \0016%d\0012 ..."),
  FE( FS_TOPIC,        "\0012# Channel \0016%d\0012 topic is: '\0010%s\0012'"),
  FE( FS_NOTOPIC,      "\0012# Channel \0016%d\0012 has no topic"),
  FE( FS_CHGTOPIC,     "\0012# \0016%s\0012 changes topic to: '\0010%s\0012'"),
  FE( FS_USMATCH,      "\0012# Users matching \"%s\":%s"),
  FE( FS_USONLINE,     "\0012# Users online: %s"),
  FE( FS_SIGNON,       "\0012# \0016%s\0012 %s"),
  FE( FS_SIGNOFF,      "\0012# \0016%s\0012 %s"),
  FE( FS_JOIN,         "\0012# \0016%s\0012 %s \0016%d"),
  FE( FS_LEAVE,        "\0012# \0016%s\0012 %s \0016%d"),
  FE( FS_NICKCHANGE,   "\0012# \0016%s\0012 \0016%s\0012 %s"),
  FE( FS_UNKNOWNMSG,   "?? unknown message: %s"),
  FE( FS_BOGUSMSG,     "?? bogus message: %s"),
  FE( FS_RXPUBURL,     "\0015[\0016%s\0015]\0010 %s"),
  FE( FS_MYPUBURL,     "\0015[\0016\001u%s\001U\0015]\0010 %s"),
  FE( FS_RXPUBMSG,     "\0015<\0016%s\0015>\0010 %s"),
  FE( FS_MYPUBMSG,     "\0015<\0016\001u%s\001U\0015>\0010 %s"),
  FE( FS_TXPUBMSG,     "\0015<\0016\001b%s\001B\0015>\0010 %s"),
  FE( FS_RXPRIVMSG,    "\0015*\0016%s\0015*\0010 %s"),
  FE( FS_TXPRIVMSG,    "\0015-> *\0016%s\0015*\0010 %s"),
  FE( FS_BGPRIVMSG,    "\0011! Bogus message, not sent."),
  FE( FS_PUBACTION,    "\0015*\0010 \0016%s\0010 %s"),
  FE( FS_TXPUBACTION,  "\0015*\0010 \0016\001b%s\001B\0010 %s"),
  FE( FS_BGTXPUBACTION,"\0011! No action taken."),
  FE( FS_COMMAND,      "\0012## command: %s"),
  FE( FS_LOCALCOMMAND, "\0012## local command (not executed yet): %s"),
  FE( FS_BOGUSCOMMAND, "\0012## bogus command (not executed or sent): %s"),
  FE( FS_SBINF,        " [%d/%d] "),
  FE( FS_MISSTYPED,    "\0011* Probably misstyped? Not sent: %s"),
  FE( FS_UNKNCMD,      "\0011* Unknown client command: %s"),
  FE( FS_BADREGEX,     "\0011* Could not compile regex: %s"),
  FE( FS_PLAIN,        NULL)
};