summaryrefslogtreecommitdiff
path: root/data/themes/clean.py
blob: 66a18a6cb60be6fb37d3a713aaa645e19d749995 (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
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
import poezio.theming

class CleanTheme(poezio.theming.Theme):
    # Message text color
    COLOR_NORMAL_TEXT = (-1, -1)
    COLOR_INFORMATION_TEXT = (12, -1) # TODO
    COLOR_WARNING_TEXT = (1, -1)

    # Color of the commands in the help message
    COLOR_HELP_COMMANDS = (208, -1)

    # "reverse" is a special value, available only for this option. It just
    # takes the nick colors and reverses it. A theme can still specify a
    # fixed color if need be.
    COLOR_HIGHLIGHT_NICK = "reverse"

    # Color of the participant JID in a MUC
    COLOR_MUC_JID = (4, -1)

    # User list color
    COLOR_USER_VISITOR = (239, -1)
    COLOR_USER_PARTICIPANT = (4, -1)
    COLOR_USER_NONE = (0, -1)
    COLOR_USER_MODERATOR = (1, -1)

    # nickname colors
    COLOR_REMOTE_USER = (13, -1)

    # The character printed in color (COLOR_STATUS_*) before the nickname
    # in the user list
    CHAR_STATUS = '┃'
    #CHAR_STATUS = '●'
    #CHAR_STATUS = '◆'

    # The characters used for the chatstates in the user list
    # in a MUC
    CHAR_CHATSTATE_ACTIVE = 'A'
    CHAR_CHATSTATE_COMPOSING = 'X'
    CHAR_CHATSTATE_PAUSED = 'p'

    # These characters are used for the affiliation in the user list
    # in a MUC
    CHAR_AFFILIATION_OWNER = '~'
    CHAR_AFFILIATION_ADMIN = '&'
    CHAR_AFFILIATION_MEMBER = '+'
    CHAR_AFFILIATION_NONE = '-'


    # XML Tab
    CHAR_XML_IN = 'IN '
    CHAR_XML_OUT = 'OUT'
    COLOR_XML_IN = (1, -1)
    COLOR_XML_OUT = (2, -1)

    # Color for the /me message
    COLOR_ME_MESSAGE = (6, -1)

    # Color for the number of revisions of a message
    COLOR_REVISIONS_MESSAGE = (3, -1, 'b')

    # Color for various important text. For example the "?" before JIDs in
    # the roster that require an user action.
    COLOR_IMPORTANT_TEXT = (3, 5, 'b')

    # Separators
    COLOR_VERTICAL_SEPARATOR = (4, -1)
    COLOR_NEW_TEXT_SEPARATOR = (2, -1)
    COLOR_MORE_INDICATOR = (6, 4)

    # Time
    CHAR_TIME_LEFT = ''
    CHAR_TIME_RIGHT = ''
    COLOR_TIME_STRING = (-1, -1)

    # Tabs
    COLOR_TAB_NORMAL = (-1, 0)
    COLOR_TAB_NONEMPTY = (7, 4)
    COLOR_TAB_SCROLLED = (5, 4)
    COLOR_TAB_JOINED = (82, 4)
    COLOR_TAB_CURRENT = (0, 13)
    COLOR_TAB_COMPOSING = (7, 5)
    COLOR_TAB_NEW_MESSAGE = (7, 5)
    COLOR_TAB_HIGHLIGHT = (7, 3)
    COLOR_TAB_PRIVATE = (7, 2)
    COLOR_TAB_ATTENTION = (7, 1)
    COLOR_TAB_DISCONNECTED = (7, 8)

    COLOR_VERTICAL_TAB_NORMAL = (4, -1)
    COLOR_VERTICAL_TAB_NONEMPTY = (4, -1)
    COLOR_VERTICAL_TAB_JOINED = (82, -1)
    COLOR_VERTICAL_TAB_SCROLLED = (66, -1)
    COLOR_VERTICAL_TAB_CURRENT = (7, 4)
    COLOR_VERTICAL_TAB_NEW_MESSAGE = (5, -1)
    COLOR_VERTICAL_TAB_COMPOSING = (5, -1)
    COLOR_VERTICAL_TAB_HIGHLIGHT = (3, -1)
    COLOR_VERTICAL_TAB_PRIVATE = (2, -1)
    COLOR_VERTICAL_TAB_ATTENTION = (1, -1)
    COLOR_VERTICAL_TAB_DISCONNECTED = (8, -1)

    # Nickname colors
    # A list of colors randomly attributed to nicks in MUCs
    # Setting more colors makes it harder to have two nicks with the same color,
    # avoiding confusions.
    LIST_COLOR_NICKNAMES = [
        (1, -1), (2, -1), (3, -1), (4, -1), (5, -1), (6, -1), (7, -1),
        (8, -1), (9, -1), (10, -1), (11, -1), (12, -1), (13, -1), (14, -1)
    ]

    # This is your own nickname
    COLOR_OWN_NICK = (-1, -1)

    COLOR_LOG_MSG = (8, -1)
    # This is for in-tab error messages
    COLOR_ERROR_MSG = (9, -1, 'b')
    # Status color
    COLOR_STATUS_XA = (90, 0)
    COLOR_STATUS_NONE = (4, 0)
    COLOR_STATUS_DND = (1, 0)
    COLOR_STATUS_AWAY = (3, 0)
    COLOR_STATUS_CHAT = (2, 0)
    COLOR_STATUS_UNAVAILABLE = (8, 0)
    COLOR_STATUS_ONLINE = (4, 0)

    # Bars
    COLOR_WARNING_PROMPT = (16, 1, 'b')
    COLOR_INFORMATION_BAR = (7, 0)
    COLOR_TOPIC_BAR = (7, 0)
    COLOR_SCROLLABLE_NUMBER = (220, 4, 'b')
    COLOR_SELECTED_ROW = (0, 13)
    COLOR_PRIVATE_NAME = (-1, 4)
    COLOR_CONVERSATION_NAME = (2, 0)
    COLOR_CONVERSATION_RESOURCE = (121, 0)
    COLOR_GROUPCHAT_NAME = (10, 0)
    COLOR_COLUMN_HEADER = (36, 4)
    COLOR_COLUMN_HEADER_SEL = (4, 36)

    # Strings for special messages (like join, quit, nick change, etc)
    # Special messages
    CHAR_JOIN = '--->'
    CHAR_QUIT = '<---'
    CHAR_KICK = '-!-'
    CHAR_NEW_TEXT_SEPARATOR = ' ─'
    CHAR_OK = '✔'
    CHAR_ERROR = '✖'
    CHAR_EMPTY = ' '
    CHAR_ACK_RECEIVED = CHAR_OK
    CHAR_NACK = CHAR_ERROR
    CHAR_COLUMN_ASC = ' ▲'
    CHAR_COLUMN_DESC = ' ▼'
    CHAR_ROSTER_ERROR = CHAR_ERROR
    CHAR_ROSTER_TUNE = '♪'
    CHAR_ROSTER_ASKED = '?'
    CHAR_ROSTER_ACTIVITY = 'A'
    CHAR_ROSTER_MOOD = 'M'
    CHAR_ROSTER_GAMING = 'G'
    CHAR_ROSTER_FROM = '←'
    CHAR_ROSTER_BOTH = '↔'
    CHAR_ROSTER_TO = '→'
    CHAR_ROSTER_NONE = '⇹'

    COLOR_CHAR_ACK = (2, -1)
    COLOR_CHAR_NACK = (1, -1)

    COLOR_ROSTER_GAMING = (6, -1)
    COLOR_ROSTER_MOOD = (2, -1)
    COLOR_ROSTER_ACTIVITY = (3, -1)
    COLOR_ROSTER_TUNE = (6, -1)
    COLOR_ROSTER_ERROR = (1, -1)
    COLOR_ROSTER_SUBSCRIPTION = (-1, -1)

    COLOR_JOIN_CHAR = (4, -1)
    COLOR_QUIT_CHAR = (1, -1)
    COLOR_KICK_CHAR = (1, -1)

    # Vertical tab list color
    COLOR_VERTICAL_TAB_NUMBER = (34, -1)

    # Info messages color (the part before the ">")
    INFO_COLORS = {
            'info': (2, -1),
            'error': (1, -1, 'b'),
            'warning': (1, -1),
            'roster': (2, -1),
            'help': (10, -1),
            'headline': (11, -1, 'b'),
            'tune': (6, -1),
            'gaming': (6, -1),
            'mood': (5, -1),
            'activity': (3, -1),
            'default': (-1, -1),
    }

theme = CleanTheme()