root/lib/skin.h

/* [previous][next][first][last][top][bottom][index][help]  */

INCLUDED FROM


   1 #ifndef MC_SKIN_H
   2 #define MC_SKIN_H
   3 
   4 #include "lib/global.h"
   5 
   6 #include "lib/mcconfig.h"
   7 
   8 #include "lib/tty/color.h"
   9 
  10 /*** typedefs(not structures) and defined constants **********************************************/
  11 
  12 /* Beware! When using Slang with color, not all the indexes are free.
  13    See color-slang.h (A_*) */
  14 
  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]
  25 #define SHADOW_COLOR              mc_skin_color__cache[9]
  26 
  27 /* Dialog colors */
  28 #define COLOR_NORMAL              mc_skin_color__cache[10]
  29 #define COLOR_FOCUS               mc_skin_color__cache[11]
  30 #define COLOR_HOT_NORMAL          mc_skin_color__cache[12]
  31 #define COLOR_HOT_FOCUS           mc_skin_color__cache[13]
  32 #define COLOR_TITLE               mc_skin_color__cache[14]
  33 
  34 /* Error dialog colors */
  35 #define ERROR_COLOR               mc_skin_color__cache[15]
  36 #define ERROR_FOCUS               mc_skin_color__cache[16]
  37 #define ERROR_HOT_NORMAL          mc_skin_color__cache[17]
  38 #define ERROR_HOT_FOCUS           mc_skin_color__cache[18]
  39 #define ERROR_TITLE               mc_skin_color__cache[19]
  40 
  41 /* Menu colors */
  42 #define MENU_ENTRY_COLOR          mc_skin_color__cache[20]
  43 #define MENU_SELECTED_COLOR       mc_skin_color__cache[21]
  44 #define MENU_HOT_COLOR            mc_skin_color__cache[22]
  45 #define MENU_HOTSEL_COLOR         mc_skin_color__cache[23]
  46 #define MENU_INACTIVE_COLOR       mc_skin_color__cache[24]
  47 
  48 /* Popup menu colors */
  49 #define PMENU_ENTRY_COLOR         mc_skin_color__cache[25]
  50 #define PMENU_SELECTED_COLOR      mc_skin_color__cache[26]
  51 #define PMENU_HOT_COLOR           mc_skin_color__cache[27]      /* unused: not implemented yet */
  52 #define PMENU_HOTSEL_COLOR        mc_skin_color__cache[28]      /* unused: not implemented yet */
  53 #define PMENU_TITLE_COLOR         mc_skin_color__cache[29]
  54 
  55 #define BUTTONBAR_HOTKEY_COLOR    mc_skin_color__cache[30]
  56 #define BUTTONBAR_BUTTON_COLOR    mc_skin_color__cache[31]
  57 
  58 #define STATUSBAR_COLOR           mc_skin_color__cache[32]
  59 
  60 /*
  61  * This should be selectable independently. Default has to be black background
  62  * foreground does not matter at all.
  63  */
  64 #define GAUGE_COLOR               mc_skin_color__cache[33]
  65 #define INPUT_COLOR               mc_skin_color__cache[34]
  66 #define INPUT_UNCHANGED_COLOR     mc_skin_color__cache[35]
  67 #define INPUT_MARK_COLOR          mc_skin_color__cache[36]
  68 #define INPUT_HISTORY_COLOR       mc_skin_color__cache[37]
  69 #define COMMAND_HISTORY_COLOR     mc_skin_color__cache[38]
  70 
  71 #define HELP_NORMAL_COLOR         mc_skin_color__cache[39]
  72 #define HELP_ITALIC_COLOR         mc_skin_color__cache[40]
  73 #define HELP_BOLD_COLOR           mc_skin_color__cache[41]
  74 #define HELP_LINK_COLOR           mc_skin_color__cache[42]
  75 #define HELP_SLINK_COLOR          mc_skin_color__cache[43]
  76 #define HELP_TITLE_COLOR          mc_skin_color__cache[44]
  77 
  78 
  79 #define VIEW_NORMAL_COLOR         mc_skin_color__cache[45]
  80 #define VIEW_BOLD_COLOR           mc_skin_color__cache[46]
  81 #define VIEW_UNDERLINED_COLOR     mc_skin_color__cache[47]
  82 #define VIEW_SELECTED_COLOR       mc_skin_color__cache[48]
  83 
  84 /*
  85  * editor colors - only 4 for normal, search->found, select, and whitespace
  86  * respectively
  87  * Last is defined to view color.
  88  */
  89 #define EDITOR_NORMAL_COLOR       mc_skin_color__cache[49]
  90 #define EDITOR_NONPRINTABLE_COLOR mc_skin_color__cache[50]
  91 #define EDITOR_BOLD_COLOR         mc_skin_color__cache[51]
  92 #define EDITOR_MARKED_COLOR       mc_skin_color__cache[52]
  93 #define EDITOR_WHITESPACE_COLOR   mc_skin_color__cache[53]
  94 #define EDITOR_RIGHT_MARGIN_COLOR mc_skin_color__cache[54]
  95 #define EDITOR_BACKGROUND         mc_skin_color__cache[55]
  96 #define EDITOR_FRAME              mc_skin_color__cache[56]
  97 #define EDITOR_FRAME_ACTIVE       mc_skin_color__cache[57]
  98 #define EDITOR_FRAME_DRAG         mc_skin_color__cache[58]
  99 /* color of left 8 char status per line */
 100 #define LINE_STATE_COLOR          mc_skin_color__cache[59]
 101 #define BOOK_MARK_COLOR           mc_skin_color__cache[60]
 102 #define BOOK_MARK_FOUND_COLOR     mc_skin_color__cache[61]
 103 
 104 /* Diff colors */
 105 #define DFF_ADD_COLOR             mc_skin_color__cache[62]
 106 #define DFF_CHG_COLOR             mc_skin_color__cache[63]
 107 #define DFF_CHH_COLOR             mc_skin_color__cache[64]
 108 #define DFF_CHD_COLOR             mc_skin_color__cache[65]
 109 #define DFF_DEL_COLOR             mc_skin_color__cache[66]
 110 #define DFF_ERROR_COLOR           mc_skin_color__cache[67]
 111 
 112 #define MC_SKIN_COLOR_CACHE_COUNT 68
 113 
 114 /*** enums ***************************************************************************************/
 115 
 116 /*** structures declarations (and typedefs of structures)*****************************************/
 117 
 118 typedef struct mc_skin_struct
 119 {
 120     gchar *name;
 121     gchar *description;
 122     mc_config_t *config;
 123     GHashTable *colors;
 124     gboolean have_256_colors;
 125     gboolean have_true_colors;
 126 } mc_skin_t;
 127 
 128 /*** global variables defined in .c file *********************************************************/
 129 
 130 extern int mc_skin_color__cache[];
 131 extern mc_skin_t mc_skin__default;
 132 
 133 /*** declarations of public functions ************************************************************/
 134 
 135 gboolean mc_skin_init (const gchar * skin_override, GError ** error);
 136 void mc_skin_deinit (void);
 137 
 138 int mc_skin_color_get (const gchar * group, const gchar * name);
 139 
 140 void mc_skin_lines_parse_ini_file (mc_skin_t * mc_skin);
 141 
 142 gchar *mc_skin_get (const gchar * group, const gchar * key, const gchar * default_value);
 143 
 144 GPtrArray *mc_skin_list (void);
 145 
 146 #endif /* MC_SKIN_H */

/* [previous][next][first][last][top][bottom][index][help]  */