Applied MC indentation policy.
[midnight-commander.git] / src / main.h
blob1b369c26d25b3882af3bc3019a5ec9f53bfea127
2 /** \file main.h
3 * \brief Header: this is a main module header
4 */
6 #ifndef MC_MAIN_H
7 #define MC_MAIN_H
9 #include "lib/global.h"
10 #include "keybind.h"
12 /* run mode and params */
13 typedef enum
15 MC_RUN_FULL = 0,
16 MC_RUN_EDITOR,
17 MC_RUN_VIEWER,
18 MC_RUN_DIFFVIEWER
19 } mc_run_mode_t;
21 extern mc_run_mode_t mc_run_mode;
23 * MC_RUN_FULL: dir for left panel
24 * MC_RUN_EDITOR: file to edit
25 * MC_RUN_VIEWER: file to view
26 * MC_RUN_DIFFVIEWER: first file to compare
28 extern char *mc_run_param0;
30 * MC_RUN_FULL: dir for right panel
31 * MC_RUN_EDITOR: unused
32 * MC_RUN_VIEWER: unused
33 * MC_RUN_DIFFVIEWER: second file to compare
35 extern char *mc_run_param1;
37 void toggle_show_hidden (void);
39 extern int quote;
40 extern volatile int quit;
42 /* If true, after executing a command, wait for a keystroke */
43 enum { pause_never, pause_on_dumb_terminals, pause_always };
45 void subshell_chdir (const char *command);
47 struct WButtonBar;
49 void midnight_set_buttonbar (struct WButtonBar *b);
51 /* See main.c for details on these variables */
52 extern int auto_menu;
53 extern int pause_after_run;
54 extern int auto_save_setup;
55 extern int use_internal_view;
56 extern int use_internal_edit;
57 extern int clear_before_exec;
59 extern int option_tab_spacing;
61 #ifdef HAVE_CHARSET
62 extern int source_codepage;
63 extern int default_source_codepage;
64 extern int display_codepage;
65 extern char* autodetect_codeset;
66 extern gboolean is_autodetect_codeset_enabled;
67 #else
68 extern int eight_bit_clean;
69 extern int full_eight_bits;
70 #endif /* !HAVE_CHARSET */
72 extern int utf8_display;
74 extern int fast_refresh;
75 extern int drop_menus;
76 extern int cd_symlinks;
77 extern int show_all_if_ambiguous;
78 extern int update_prompt; /* To comunicate with subshell */
79 extern int safe_delete;
80 extern int confirm_delete;
81 extern int confirm_directory_hotlist_delete;
82 extern int confirm_execute;
83 extern int confirm_exit;
84 extern int confirm_overwrite;
85 extern int confirm_history_cleanup;
86 extern int confirm_view_dir;
87 extern int boot_current_is_left;
88 extern int use_file_to_check_type;
89 extern int vfs_use_limit;
90 extern int only_leading_plus_minus;
91 extern int output_starts_shell;
92 extern int midnight_shutdown;
93 extern char *shell;
94 extern int auto_fill_mkdir_name;
95 /* Ugly hack in order to distinguish between left and right panel in menubar */
96 extern int is_right; /* If the selected menu was the right */
97 #define MENU_PANEL (is_right ? right_panel : left_panel)
98 #define MENU_PANEL_IDX (is_right ? 1 : 0)
99 #define SELECTED_IS_PANEL (get_display_type (is_right ? 1 : 0) == view_listing)
101 #ifdef HAVE_SUBSHELL_SUPPORT
102 void do_update_prompt (void);
103 int load_prompt (int fd, void *unused);
104 #endif
106 enum cd_enum {
107 cd_parse_command,
108 cd_exact
111 int do_cd (const char *new_dir, enum cd_enum cd_type); /* For find.c */
112 void sort_cmd (void);
113 void change_panel (void);
114 void save_cwds_stat (void);
115 void quiet_quit_cmd (void); /* For cmd.c and command.c */
117 void touch_bar (void);
118 void update_xterm_title_path (void);
119 void load_hint (int force);
121 void print_vfs_message(const char *msg, ...)
122 __attribute__ ((format (__printf__, 1, 2)));
124 extern const char *mc_prompt;
125 extern char *mc_home;
126 extern char *mc_home_alt;
128 struct mc_fhl_struct;
129 extern struct mc_fhl_struct *mc_filehighlight;
131 char *get_mc_lib_dir (void);
133 void done_menu (void);
134 void init_menu (void);
136 char *remove_encoding_from_path (const char *);
138 struct WPanel;
140 void directory_history_add (struct WPanel *panel, const char *dir);
141 int do_panel_cd (struct WPanel *panel, const char *new_dir, enum cd_enum cd_type);
143 #endif /* MC_MAIN_H */