Manual pages: mcmcdiffmceditmcview

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 CORE_DEFAULT_COLOR         mc_skin_color__cache[0]
  17 #define CORE_NORMAL_COLOR          mc_skin_color__cache[1]
  18 #define CORE_MARKED_COLOR          mc_skin_color__cache[2]
  19 #define CORE_SELECTED_COLOR        mc_skin_color__cache[3]
  20 #define CORE_MARKED_SELECTED_COLOR mc_skin_color__cache[4]
  21 #define CORE_DISABLED_COLOR        mc_skin_color__cache[5]
  22 #define CORE_REVERSE_COLOR         mc_skin_color__cache[6]
  23 #define CORE_COMMAND_MARK_COLOR    mc_skin_color__cache[7]
  24 #define CORE_HEADER_COLOR          mc_skin_color__cache[8]
  25 #define CORE_SHADOW_COLOR          mc_skin_color__cache[9]
  26 #define CORE_FRAME_COLOR           mc_skin_color__cache[10]
  27 
  28 /* Dialog colors */
  29 #define DIALOG_NORMAL_COLOR          mc_skin_color__cache[11]
  30 #define DIALOG_FOCUS_COLOR           mc_skin_color__cache[12]
  31 #define DIALOG_HOT_NORMAL_COLOR      mc_skin_color__cache[13]
  32 #define DIALOG_HOT_FOCUS_COLOR       mc_skin_color__cache[14]
  33 #define DIALOG_SELECTED_NORMAL_COLOR mc_skin_color__cache[15]
  34 #define DIALOG_SELECTED_FOCUS_COLOR  mc_skin_color__cache[16]
  35 #define DIALOG_TITLE_COLOR           mc_skin_color__cache[17]
  36 #define DIALOG_FRAME_COLOR           mc_skin_color__cache[18]
  37 
  38 /* Error dialog colors */
  39 #define ERROR_NORMAL_COLOR     mc_skin_color__cache[19]
  40 #define ERROR_FOCUS_COLOR      mc_skin_color__cache[20]
  41 #define ERROR_HOT_NORMAL_COLOR mc_skin_color__cache[21]
  42 #define ERROR_HOT_FOCUS_COLOR  mc_skin_color__cache[22]
  43 #define ERROR_TITLE_COLOR      mc_skin_color__cache[23]
  44 #define ERROR_FRAME_COLOR      mc_skin_color__cache[24]
  45 
  46 /* Menu colors */
  47 #define MENU_ENTRY_COLOR    mc_skin_color__cache[25]
  48 #define MENU_SELECTED_COLOR mc_skin_color__cache[26]
  49 #define MENU_HOT_COLOR      mc_skin_color__cache[27]
  50 #define MENU_HOTSEL_COLOR   mc_skin_color__cache[28]
  51 #define MENU_INACTIVE_COLOR mc_skin_color__cache[29]
  52 #define MENU_FRAME_COLOR    mc_skin_color__cache[30]
  53 
  54 /* Popup menu colors */
  55 #define PMENU_ENTRY_COLOR      mc_skin_color__cache[31]
  56 #define PMENU_SELECTED_COLOR   mc_skin_color__cache[32]
  57 #define PMENU_HOT_COLOR        mc_skin_color__cache[33]  // unused: not implemented yet
  58 #define PMENU_HOTSEL_COLOR     mc_skin_color__cache[34]  // unused: not implemented yet
  59 #define PMENU_TITLE_COLOR      mc_skin_color__cache[35]
  60 #define PMENU_FRAME_COLOR      mc_skin_color__cache[36]
  61 
  62 #define BUTTONBAR_HOTKEY_COLOR mc_skin_color__cache[37]
  63 #define BUTTONBAR_BUTTON_COLOR mc_skin_color__cache[38]
  64 
  65 #define STATUSBAR_COLOR        mc_skin_color__cache[39]
  66 
  67 /*
  68  * This should be selectable independently. Default has to be black background
  69  * foreground does not matter at all.
  70  */
  71 #define CORE_GAUGE_COLOR           mc_skin_color__cache[40]
  72 #define CORE_INPUT_COLOR           mc_skin_color__cache[41]
  73 #define CORE_INPUT_UNCHANGED_COLOR mc_skin_color__cache[42]
  74 #define CORE_INPUT_MARK_COLOR      mc_skin_color__cache[43]
  75 #define CORE_INPUT_HISTORY_COLOR   mc_skin_color__cache[44]
  76 #define CORE_COMMAND_HISTORY_COLOR mc_skin_color__cache[45]
  77 
  78 #define HELP_NORMAL_COLOR          mc_skin_color__cache[46]
  79 #define HELP_ITALIC_COLOR          mc_skin_color__cache[47]
  80 #define HELP_BOLD_COLOR            mc_skin_color__cache[48]
  81 #define HELP_LINK_COLOR            mc_skin_color__cache[49]
  82 #define HELP_SLINK_COLOR           mc_skin_color__cache[50]
  83 #define HELP_TITLE_COLOR           mc_skin_color__cache[51]
  84 #define HELP_FRAME_COLOR           mc_skin_color__cache[52]
  85 
  86 #define VIEWER_NORMAL_COLOR        mc_skin_color__cache[53]
  87 #define VIEWER_BOLD_COLOR          mc_skin_color__cache[54]
  88 #define VIEWER_UNDERLINED_COLOR    mc_skin_color__cache[55]
  89 #define VIEWER_SELECTED_COLOR      mc_skin_color__cache[56]
  90 #define VIEWER_FRAME_COLOR         mc_skin_color__cache[57]
  91 
  92 /*
  93  * editor colors - only 4 for normal, search->found, select, and whitespace
  94  * respectively
  95  * Last is defined to view color.
  96  */
  97 #define EDITOR_NORMAL_COLOR       mc_skin_color__cache[58]
  98 #define EDITOR_NONPRINTABLE_COLOR mc_skin_color__cache[59]
  99 #define EDITOR_BOLD_COLOR         mc_skin_color__cache[60]
 100 #define EDITOR_MARKED_COLOR       mc_skin_color__cache[61]
 101 #define EDITOR_WHITESPACE_COLOR   mc_skin_color__cache[62]
 102 #define EDITOR_RIGHT_MARGIN_COLOR mc_skin_color__cache[63]
 103 #define EDITOR_BACKGROUND_COLOR   mc_skin_color__cache[64]
 104 #define EDITOR_FRAME_COLOR        mc_skin_color__cache[65]
 105 #define EDITOR_FRAME_ACTIVE_COLOR mc_skin_color__cache[66]
 106 #define EDITOR_FRAME_DRAG_COLOR   mc_skin_color__cache[67]
 107 /* color of left 8 char status per line */
 108 #define EDITOR_LINE_STATE_COLOR     mc_skin_color__cache[68]
 109 #define EDITOR_BOOKMARK_COLOR       mc_skin_color__cache[69]
 110 #define EDITOR_BOOKMARK_FOUND_COLOR mc_skin_color__cache[70]
 111 
 112 /* Diff colors */
 113 #define DIFFVIEWER_ADDED_COLOR       mc_skin_color__cache[71]
 114 #define DIFFVIEWER_CHANGEDLINE_COLOR mc_skin_color__cache[72]
 115 #define DIFFVIEWER_CHANGEDNEW_COLOR  mc_skin_color__cache[73]
 116 #define DIFFVIEWER_CHANGED_COLOR     mc_skin_color__cache[74]
 117 #define DIFFVIEWER_REMOVED_COLOR     mc_skin_color__cache[75]
 118 #define DIFFVIEWER_ERROR_COLOR       mc_skin_color__cache[76]
 119 
 120 #define MC_SKIN_COLOR_CACHE_COUNT    77
 121 
 122 /*** enums ***************************************************************************************/
 123 
 124 /*** structures declarations (and typedefs of structures)*****************************************/
 125 
 126 typedef struct mc_skin_struct
 127 {
 128     gchar *name;
 129     gchar *description;
 130     mc_config_t *config;
 131     GHashTable *colors;
 132     gboolean have_256_colors;
 133     gboolean have_true_colors;
 134 } mc_skin_t;
 135 
 136 /*** global variables defined in .c file *********************************************************/
 137 
 138 extern int mc_skin_color__cache[];
 139 extern mc_skin_t mc_skin__default;
 140 
 141 /*** declarations of public functions ************************************************************/
 142 
 143 gboolean mc_skin_init (const gchar *skin_override, GError **error);
 144 void mc_skin_deinit (void);
 145 
 146 int mc_skin_color_get (const gchar *group, const gchar *name);
 147 
 148 void mc_skin_lines_parse_ini_file (mc_skin_t *mc_skin);
 149 
 150 gchar *mc_skin_get (const gchar *group, const gchar *key, const gchar *default_value);
 151 
 152 GPtrArray *mc_skin_list (void);
 153 
 154 #endif

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