Moved filemanager-related stuff to src/filemanager directory
[pantumic.git] / lib / skin.h
blob91a85ecd30c1e66103cf95033dd79052daf1c5f0
1 #ifndef MC_SKIN_H
2 #define MC_SKIN_H
4 #include "lib/global.h"
6 #include "lib/mcconfig.h"
8 #include "lib/tty/color.h"
10 /*** typedefs(not structures) and defined constants **********************************************/
12 /* Beware! When using Slang with color, not all the indexes are free.
13 See color-slang.h (A_*) */
15 /* cache often used colors */
16 #define DEFAULT_COLOR mc_skin_color__cache[0]
17 #define NORMAL_COLOR mc_skin_color__cache[1]
18 #define MARKED_COLOR mc_skin_color__cache[2]
19 #define SELECTED_COLOR mc_skin_color__cache[3]
20 #define MARKED_SELECTED_COLOR mc_skin_color__cache[4]
21 #define DISABLED_COLOR mc_skin_color__cache[5]
22 #define REVERSE_COLOR mc_skin_color__cache[6]
23 #define COMMAND_MARK_COLOR mc_skin_color__cache[7]
24 #define HEADER_COLOR mc_skin_color__cache[8]
26 /* Dialog colors */
27 #define COLOR_NORMAL mc_skin_color__cache[9]
28 #define COLOR_FOCUS mc_skin_color__cache[10]
29 #define COLOR_HOT_NORMAL mc_skin_color__cache[11]
30 #define COLOR_HOT_FOCUS mc_skin_color__cache[12]
31 #define COLOR_TITLE mc_skin_color__cache[13]
33 /* Error dialog colors */
34 #define ERROR_COLOR mc_skin_color__cache[14]
35 #define ERROR_FOCUS mc_skin_color__cache[15]
36 #define ERROR_HOT_NORMAL mc_skin_color__cache[16]
37 #define ERROR_HOT_FOCUS mc_skin_color__cache[17]
38 #define ERROR_TITLE mc_skin_color__cache[18]
40 /* Menu colors */
41 #define MENU_ENTRY_COLOR mc_skin_color__cache[19]
42 #define MENU_SELECTED_COLOR mc_skin_color__cache[20]
43 #define MENU_HOT_COLOR mc_skin_color__cache[21]
44 #define MENU_HOTSEL_COLOR mc_skin_color__cache[22]
45 #define MENU_INACTIVE_COLOR mc_skin_color__cache[23]
47 #define BUTTONBAR_HOTKEY_COLOR mc_skin_color__cache[24]
48 #define BUTTONBAR_BUTTON_COLOR mc_skin_color__cache[25]
50 #define STATUSBAR_COLOR mc_skin_color__cache[26]
53 * This should be selectable independently. Default has to be black background
54 * foreground does not matter at all.
56 #define GAUGE_COLOR mc_skin_color__cache[27]
57 #define INPUT_COLOR mc_skin_color__cache[28]
58 #define INPUT_UNCHANGED_COLOR mc_skin_color__cache[29]
59 #define INPUT_MARK_COLOR mc_skin_color__cache[30]
60 #define INPUT_HISTORY_COLOR mc_skin_color__cache[31]
61 #define COMMAND_HISTORY_COLOR mc_skin_color__cache[32]
63 #define HELP_NORMAL_COLOR mc_skin_color__cache[33]
64 #define HELP_ITALIC_COLOR mc_skin_color__cache[34]
65 #define HELP_BOLD_COLOR mc_skin_color__cache[35]
66 #define HELP_LINK_COLOR mc_skin_color__cache[36]
67 #define HELP_SLINK_COLOR mc_skin_color__cache[37]
68 #define HELP_TITLE_COLOR mc_skin_color__cache[38]
71 #define VIEW_BOLD_COLOR mc_skin_color__cache[39]
72 #define VIEW_UNDERLINED_COLOR mc_skin_color__cache[40]
73 #define VIEW_SELECTED_COLOR mc_skin_color__cache[41]
76 * editor colors - only 4 for normal, search->found, select, and whitespace
77 * respectively
78 * Last is defined to view color.
80 #define EDITOR_NORMAL_COLOR mc_skin_color__cache[42]
81 #define EDITOR_BOLD_COLOR mc_skin_color__cache[43]
82 #define EDITOR_MARKED_COLOR mc_skin_color__cache[44]
83 #define EDITOR_WHITESPACE_COLOR mc_skin_color__cache[45]
84 #define EDITOR_RIGHT_MARGIN_COLOR mc_skin_color__cache[46]
85 /* color of left 8 char status per line */
86 #define LINE_STATE_COLOR mc_skin_color__cache[47]
87 #define BOOK_MARK_COLOR mc_skin_color__cache[48]
88 #define BOOK_MARK_FOUND_COLOR mc_skin_color__cache[49]
90 /* Diff colors */
91 #define DFF_ADD_COLOR mc_skin_color__cache[50]
92 #define DFF_CHG_COLOR mc_skin_color__cache[51]
93 #define DFF_CHH_COLOR mc_skin_color__cache[52]
94 #define DFF_CHD_COLOR mc_skin_color__cache[53]
95 #define DFF_DEL_COLOR mc_skin_color__cache[54]
96 #define DFF_FOLDER_COLOR mc_skin_color__cache[55]
97 #define DFF_ERROR_COLOR mc_skin_color__cache[56]
99 #define MC_SKIN_COLOR_CACHE_COUNT 57
101 /*** enums ***************************************************************************************/
103 /*** structures declarations (and typedefs of structures)*****************************************/
105 typedef struct mc_skin_struct
107 gchar *name;
108 gchar *description;
109 mc_config_t *config;
110 GHashTable *colors;
111 } mc_skin_t;
113 /*** global variables defined in .c file *********************************************************/
115 extern int mc_skin_color__cache[];
116 extern mc_skin_t mc_skin__default;
118 /*** declarations of public functions ************************************************************/
120 gboolean mc_skin_init (GError **);
121 void mc_skin_deinit (void);
123 int mc_skin_color_get (const gchar *, const gchar *);
125 void mc_skin_lines_parse_ini_file (mc_skin_t *);
127 gchar *mc_skin_get (const gchar *, const gchar *, const gchar *);
129 #endif /* MC_SKIN_H */