8b6856bf37b3e9b704f4bdd0f4846dc1bce9fd0c
2 * Copyright (C) 2005-2007 Andre Noll <maan@systemlinux.org>
4 * Licensed under the GPL v2. For licencing details see COPYING.
14 static int current_theme_num
;
16 static void init_theme_simple(struct gui_theme
*t
)
18 struct stat_item_data
*d
= t
->data
;
20 t
->author
= "Andre Noll";
24 t
->top_lines_default
= 2;
25 t
->sb_bg
= COLOR_CYAN
;
26 t
->sb_fg
= COLOR_BLACK
;
27 t
->cmd_bg
= COLOR_WHITE
;
28 t
->cmd_fg
= COLOR_BLACK
;
29 t
->output_bg
= COLOR_BLUE
;
30 t
->output_fg
= COLOR_WHITE
;
31 t
->msg_bg
= COLOR_BLUE
;
32 t
->msg_fg
= COLOR_YELLOW
;
33 t
->err_msg_bg
= COLOR_RED
;
34 t
->err_msg_fg
= COLOR_WHITE
;
35 t
->welcome_bg
= COLOR_BLUE
;
36 t
->welcome_fg
= COLOR_WHITE
;
37 t
->sep_bg
= COLOR_BLUE
;
38 t
->sep_fg
= COLOR_CYAN
;
39 t
->default_fg
= COLOR_WHITE
;
40 t
->default_bg
= COLOR_BLUE
;
43 d
[SI_BASENAME
].prefix
= "";
44 d
[SI_BASENAME
].postfix
= "";
45 d
[SI_BASENAME
].fg
= COLOR_WHITE
;
46 d
[SI_BASENAME
].bg
= COLOR_BLUE
;
47 d
[SI_BASENAME
].align
= CENTER
;
50 d
[SI_BASENAME
].len
= 100;
52 d
[SI_STATUS
].prefix
= "para_server: ";
53 d
[SI_STATUS
].postfix
= "";
54 d
[SI_STATUS
].fg
= COLOR_WHITE
;
55 d
[SI_STATUS
].bg
= COLOR_BLUE
;
56 d
[SI_STATUS
].align
= CENTER
;
59 d
[SI_STATUS
].len
= 50;
61 d
[SI_AUDIOD_STATUS
].prefix
= "para_audiod: ";
62 d
[SI_AUDIOD_STATUS
].postfix
= "";
63 d
[SI_AUDIOD_STATUS
].fg
= COLOR_WHITE
;
64 d
[SI_AUDIOD_STATUS
].bg
= COLOR_BLUE
;
65 d
[SI_AUDIOD_STATUS
].align
= CENTER
;
66 d
[SI_AUDIOD_STATUS
].x
= 50;
67 d
[SI_AUDIOD_STATUS
].y
= 60;
68 d
[SI_AUDIOD_STATUS
].len
= 50;
72 static void init_theme_colorful_blackness(struct gui_theme
*t
)
74 struct stat_item_data
*d
= t
->data
;
75 t
->name
= "colorful blackness";
76 t
->author
= "Andre Noll";
77 /* minimal number of lines that is needed to display all
78 * information provided by this theme
83 t
->top_lines_default
= 11; /* default number of lines */
85 t
->sb_bg
= COLOR_GREEN
; /* status bar background */
86 t
->sb_fg
= COLOR_BLACK
; /* status bar foreground */
87 t
->cmd_bg
= COLOR_BLACK
;
88 t
->cmd_fg
= COLOR_YELLOW
;
89 t
->output_bg
= COLOR_BLACK
;
90 t
->output_fg
= COLOR_CYAN
;
91 t
->msg_bg
= COLOR_BLACK
;
92 t
->msg_fg
= COLOR_WHITE
;
93 t
->err_msg_bg
= COLOR_RED
;
94 t
->err_msg_fg
= COLOR_WHITE
;
95 t
->welcome_bg
= COLOR_BLUE
;
96 t
->welcome_fg
= COLOR_WHITE
;
97 t
->sep_bg
= COLOR_BLACK
; /* color of the separator */
98 t
->sep_fg
= COLOR_BLUE
;
100 t
->default_bg
= COLOR_BLACK
;
101 t
->default_fg
= COLOR_MAGENTA
;
104 d
[SI_PLAY_TIME
].prefix
= "";
105 d
[SI_PLAY_TIME
].postfix
= "";
106 d
[SI_PLAY_TIME
].fg
= COLOR_CYAN
;
107 d
[SI_PLAY_TIME
].bg
= COLOR_BLACK
;
108 d
[SI_PLAY_TIME
].align
= CENTER
;
109 d
[SI_PLAY_TIME
].x
= 0;
110 d
[SI_PLAY_TIME
].y
= 7;
111 d
[SI_PLAY_TIME
].len
= 35;
113 d
[SI_BASENAME
].prefix
= "";
114 d
[SI_BASENAME
].postfix
= "";
115 d
[SI_BASENAME
].fg
= COLOR_CYAN
;
116 d
[SI_BASENAME
].bg
= COLOR_BLACK
;
117 d
[SI_BASENAME
].align
= LEFT
;
118 d
[SI_BASENAME
].x
= 35;
119 d
[SI_BASENAME
].y
= 7;
120 d
[SI_BASENAME
].len
= 65;
122 d
[SI_STATUS
].prefix
= "";
123 d
[SI_STATUS
].postfix
= " ";
124 d
[SI_STATUS
].fg
= COLOR_RED
;
125 d
[SI_STATUS
].bg
= COLOR_BLACK
;
126 d
[SI_STATUS
].align
= RIGHT
;
129 d
[SI_STATUS
].len
= 11;
131 d
[SI_STATUS_FLAGS
].prefix
= "(";
132 d
[SI_STATUS_FLAGS
].postfix
= ")";
133 d
[SI_STATUS_FLAGS
].fg
= COLOR_RED
;
134 d
[SI_STATUS_FLAGS
].bg
= COLOR_BLACK
;
135 d
[SI_STATUS_FLAGS
].align
= LEFT
;
136 d
[SI_STATUS_FLAGS
].x
= 11;
137 d
[SI_STATUS_FLAGS
].y
= 17;
138 d
[SI_STATUS_FLAGS
].len
= 10;
140 d
[SI_IMAGE_ID
].prefix
= "img: ";
141 d
[SI_IMAGE_ID
].postfix
= "";
142 d
[SI_IMAGE_ID
].fg
= COLOR_RED
;
143 d
[SI_IMAGE_ID
].bg
= COLOR_BLACK
;
144 d
[SI_IMAGE_ID
].align
= CENTER
;
145 d
[SI_IMAGE_ID
].x
= 21;
146 d
[SI_IMAGE_ID
].y
= 17;
147 d
[SI_IMAGE_ID
].len
= 10;
149 d
[SI_LYRICS_ID
].prefix
= "lyr: ";
150 d
[SI_LYRICS_ID
].postfix
= "";
151 d
[SI_LYRICS_ID
].fg
= COLOR_RED
;
152 d
[SI_LYRICS_ID
].bg
= COLOR_BLACK
;
153 d
[SI_LYRICS_ID
].align
= CENTER
;
154 d
[SI_LYRICS_ID
].x
= 31;
155 d
[SI_LYRICS_ID
].y
= 17;
156 d
[SI_LYRICS_ID
].len
= 11;
158 d
[SI_FORMAT
].prefix
= "format: ";
159 d
[SI_FORMAT
].postfix
= "";
160 d
[SI_FORMAT
].fg
= COLOR_RED
;
161 d
[SI_FORMAT
].bg
= COLOR_BLACK
;
162 d
[SI_FORMAT
].align
= CENTER
;
165 d
[SI_FORMAT
].len
= 18;
167 d
[SI_NUM_PLAYED
].prefix
= "#";
168 d
[SI_NUM_PLAYED
].postfix
= "";
169 d
[SI_NUM_PLAYED
].fg
= COLOR_RED
;
170 d
[SI_NUM_PLAYED
].bg
= COLOR_BLACK
;
171 d
[SI_NUM_PLAYED
].align
= CENTER
;
172 d
[SI_NUM_PLAYED
].x
= 60;
173 d
[SI_NUM_PLAYED
].y
= 17;
174 d
[SI_NUM_PLAYED
].len
= 15;
176 d
[SI_UPTIME
].prefix
= "SUp: ";
177 d
[SI_UPTIME
].postfix
= "";
178 d
[SI_UPTIME
].fg
= COLOR_RED
;
179 d
[SI_UPTIME
].bg
= COLOR_BLACK
;
180 d
[SI_UPTIME
].align
= CENTER
;
183 d
[SI_UPTIME
].len
= 25;
185 d
[SI_AUDIOD_STATUS
].prefix
= "audiod: ";
186 d
[SI_AUDIOD_STATUS
].postfix
= "";
187 d
[SI_AUDIOD_STATUS
].fg
= COLOR_MAGENTA
;
188 d
[SI_AUDIOD_STATUS
].bg
= COLOR_BLACK
;
189 d
[SI_AUDIOD_STATUS
].align
= RIGHT
;
190 d
[SI_AUDIOD_STATUS
].x
= 0;
191 d
[SI_AUDIOD_STATUS
].y
= 27;
192 d
[SI_AUDIOD_STATUS
].len
= 14;
195 d
[SI_DECODER_FLAGS
].prefix
= "[";
196 d
[SI_DECODER_FLAGS
].postfix
= "]";
197 d
[SI_DECODER_FLAGS
].fg
= COLOR_MAGENTA
;
198 d
[SI_DECODER_FLAGS
].bg
= COLOR_BLACK
;
199 d
[SI_DECODER_FLAGS
].align
= LEFT
;
200 d
[SI_DECODER_FLAGS
].x
= 15;
201 d
[SI_DECODER_FLAGS
].y
= 27;
202 d
[SI_DECODER_FLAGS
].len
= 10;
204 d
[SI_MTIME
].prefix
= "Mtime: ";
205 d
[SI_MTIME
].postfix
= "";
206 d
[SI_MTIME
].fg
= COLOR_MAGENTA
;
207 d
[SI_MTIME
].bg
= COLOR_BLACK
;
208 d
[SI_MTIME
].align
= CENTER
;
211 d
[SI_MTIME
].len
= 29;
213 d
[SI_FILE_SIZE
].prefix
= "Size: ";
214 d
[SI_FILE_SIZE
].postfix
= " kb";
215 d
[SI_FILE_SIZE
].fg
= COLOR_MAGENTA
;
216 d
[SI_FILE_SIZE
].bg
= COLOR_BLACK
;
217 d
[SI_FILE_SIZE
].align
= CENTER
;
218 d
[SI_FILE_SIZE
].x
= 54;
219 d
[SI_FILE_SIZE
].y
= 27;
220 d
[SI_FILE_SIZE
].len
= 24;
222 d
[SI_AUDIOD_UPTIME
].prefix
= "AUp: ";
223 d
[SI_AUDIOD_UPTIME
].postfix
= "";
224 d
[SI_AUDIOD_UPTIME
].fg
= COLOR_MAGENTA
;
225 d
[SI_AUDIOD_UPTIME
].bg
= COLOR_BLACK
;
226 d
[SI_AUDIOD_UPTIME
].align
= CENTER
;
227 d
[SI_AUDIOD_UPTIME
].x
= 78;
228 d
[SI_AUDIOD_UPTIME
].y
= 27;
229 d
[SI_AUDIOD_UPTIME
].len
= 22;
232 d
[SI_AUDIO_INFO1
].prefix
= "";
233 d
[SI_AUDIO_INFO1
].postfix
= "";
234 d
[SI_AUDIO_INFO1
].fg
= COLOR_GREEN
;
235 d
[SI_AUDIO_INFO1
].bg
= COLOR_BLACK
;
236 d
[SI_AUDIO_INFO1
].align
= CENTER
;
237 d
[SI_AUDIO_INFO1
].x
= 0;
238 d
[SI_AUDIO_INFO1
].y
= 43;
239 d
[SI_AUDIO_INFO1
].len
= 100;
241 d
[SI_AUDIO_INFO2
].prefix
= "";
242 d
[SI_AUDIO_INFO2
].postfix
= "";
243 d
[SI_AUDIO_INFO2
].fg
= COLOR_GREEN
;
244 d
[SI_AUDIO_INFO2
].bg
= COLOR_BLACK
;
245 d
[SI_AUDIO_INFO2
].align
= CENTER
;
246 d
[SI_AUDIO_INFO2
].x
= 0;
247 d
[SI_AUDIO_INFO2
].y
= 53;
248 d
[SI_AUDIO_INFO2
].len
= 100;
250 d
[SI_AUDIO_INFO3
].prefix
= "";
251 d
[SI_AUDIO_INFO3
].postfix
= "";
252 d
[SI_AUDIO_INFO3
].fg
= COLOR_GREEN
;
253 d
[SI_AUDIO_INFO3
].bg
= COLOR_BLACK
;
254 d
[SI_AUDIO_INFO3
].align
= CENTER
;
255 d
[SI_AUDIO_INFO3
].x
= 0;
256 d
[SI_AUDIO_INFO3
].y
= 63;
257 d
[SI_AUDIO_INFO3
].len
= 100;
259 d
[SI_AFS_MODE
].prefix
= "";
260 d
[SI_AFS_MODE
].postfix
= "";
261 d
[SI_AFS_MODE
].fg
= COLOR_YELLOW
;
262 d
[SI_AFS_MODE
].bg
= COLOR_BLACK
;
263 d
[SI_AFS_MODE
].align
= CENTER
;
264 d
[SI_AFS_MODE
].x
= 0;
265 d
[SI_AFS_MODE
].y
= 77;
266 d
[SI_AFS_MODE
].len
= 100;
268 d
[SI_ATTRIBUTES
].prefix
= "";
269 d
[SI_ATTRIBUTES
].postfix
= "";
270 d
[SI_ATTRIBUTES
].fg
= COLOR_YELLOW
;
271 d
[SI_ATTRIBUTES
].bg
= COLOR_BLACK
;
272 d
[SI_ATTRIBUTES
].align
= CENTER
;
273 d
[SI_ATTRIBUTES
].x
= 0;
274 d
[SI_ATTRIBUTES
].y
= 87;
275 d
[SI_ATTRIBUTES
].len
= 100;
277 d
[SI_DIRECTORY
].prefix
= "dir:";
278 d
[SI_DIRECTORY
].postfix
= "";
279 d
[SI_DIRECTORY
].fg
= COLOR_YELLOW
;
280 d
[SI_DIRECTORY
].bg
= COLOR_BLACK
;
281 d
[SI_DIRECTORY
].align
= CENTER
;
282 d
[SI_DIRECTORY
].x
= 0;
283 d
[SI_DIRECTORY
].y
= 97;
284 d
[SI_DIRECTORY
].len
= 100;
287 void init_theme(int num
, struct gui_theme
*t
)
291 for (i
= 0; i
< NUM_STAT_ITEMS
; i
++)
293 current_theme_num
= num
;
295 return (num
% NUM_THEMES
)?
296 init_theme_simple(t
) : init_theme_colorful_blackness(t
);
299 void prev_theme(struct gui_theme
*t
)
301 return init_theme(++current_theme_num
, t
);
304 void next_theme(struct gui_theme
*t
)
306 return init_theme(--current_theme_num
, t
);