Merge branch '1771_menu_hide_cursor'
[midnight-commander.git] / src / setup.h
blob9776406d0d7e11865d71bfa2ccf18932132c8e96
2 /** \file setup.h
3 * \brief Header: setup loading/saving
4 */
6 #ifndef MC_SETUP_H
7 #define MC_SETUP_H
9 #include <config.h>
11 #include "lib/global.h" /* GError */
13 #include "panel.h" /* WPanel, panel_view_mode_t */
15 /* global paremeters */
16 extern char *profile_name;
17 extern char *global_profile_name;
18 extern char *setup_color_string;
19 extern char *term_color_string;
20 extern char *color_terminal_string;
21 extern int verbose;
22 extern int mouse_close_dialog;
23 extern int select_flags;
24 extern int setup_copymove_persistent_attr;
25 extern int num_history_items_recorded;
26 extern int classic_progressbar;
28 char *setup_init (void);
29 void load_setup (void);
30 gboolean save_setup (void);
31 void done_setup (void);
32 void save_config (void);
33 void setup_save_config_show_error (const char *filename, GError **error);
35 void save_layout (void);
37 void load_key_defs (void);
38 #if defined(ENABLE_VFS) && defined (USE_NETCODE)
39 char *load_anon_passwd (void);
40 #endif /* ENABLE_VFS && defined USE_NETCODE */
42 void load_keymap_defs (void);
43 void free_keymap_defs (void);
45 typedef enum
47 QSEARCH_CASE_INSENSITIVE = 0, /* quick search in case insensitive mode */
48 QSEARCH_CASE_SENSITIVE = 1, /* quick search in case sensitive mode */
49 QSEARCH_PANEL_CASE = 2, /* quick search get value from panel case_sensitive */
50 QSEARCH_NUM
51 } qsearch_mode_t;
53 /* panels ini options; [Panels] section */
54 typedef struct
56 gboolean kilobyte_si; /* If TRUE, SI units (1000 based) will be used for larger units
57 * (kilobyte, megabyte, ...). If FALSE, binary units (1024 based) will be used */
58 gboolean mix_all_files; /* If FALSE then directories are shown separately from files */
59 gboolean show_backups; /* If TRUE, show files ending in ~ */
60 gboolean show_dot_files; /* If TRUE, show files starting with a dot */
61 gboolean fast_reload; /* If TRUE then use stat() on the cwd to determine directory changes */
62 gboolean fast_reload_msg_shown; /* Have we shown the fast-reload warning in the past? */
63 gboolean mark_moves_down; /* If TRUE, marking a files moves the cursor down */
64 gboolean reverse_files_only; /* If TRUE, only selection of files is inverted */
65 gboolean auto_save_setup;
66 gboolean navigate_with_arrows; /* If TRUE: l&r arrows are used to chdir if the input line is empty */
67 gboolean scroll_pages; /* If TRUE, panel is scrolled by half the display when the cursor reaches
68 the end or the beginning of the panel */
69 gboolean mouse_move_pages; /* Scroll page/item using mouse wheel */
70 gboolean filetype_mode; /* If TRUE then add per file type hilighting */
71 gboolean permission_mode; /* If TRUE, we use permission hilighting */
72 qsearch_mode_t qsearch_mode; /* Quick search mode */
73 } panels_options_t;
75 extern panels_options_t panels_options;
77 extern panel_view_mode_t startup_left_mode;
78 extern panel_view_mode_t startup_right_mode;
80 void panel_load_setup (struct WPanel *panel, const char *section);
81 void panel_save_setup (struct WPanel *panel, const char *section);
82 void save_panel_types (void);
84 void panels_load_options (void);
85 void panels_save_options (void);
87 #endif /* MC_SETUP_H */