2 * \brief Header: this is a main module header
8 #include "lib/global.h"
9 #include "keybind-defaults.h"
11 /*** typedefs(not structures) and defined constants **********************************************/
13 #define MENU_PANEL (is_right ? right_panel : left_panel)
14 #define MENU_PANEL_IDX (is_right ? 1 : 0)
15 #define SELECTED_IS_PANEL (get_display_type (is_right ? 1 : 0) == view_listing)
17 /*** enums ***************************************************************************************/
19 /* run mode and params */
28 /* If true, after executing a command, wait for a keystroke */
30 { pause_never
, pause_on_dumb_terminals
, pause_always
};
39 /*** structures declarations (and typedefs of structures)*****************************************/
45 /*** global variables defined in .c file *********************************************************/
47 extern mc_run_mode_t mc_run_mode
;
49 * MC_RUN_FULL: dir for left panel
50 * MC_RUN_EDITOR: file to edit
51 * MC_RUN_VIEWER: file to view
52 * MC_RUN_DIFFVIEWER: first file to compare
54 extern char *mc_run_param0
;
56 * MC_RUN_FULL: dir for right panel
57 * MC_RUN_EDITOR: unused
58 * MC_RUN_VIEWER: unused
59 * MC_RUN_DIFFVIEWER: second file to compare
61 extern char *mc_run_param1
;
64 extern volatile int quit
;
66 /* See main.c for details on these variables */
68 extern int pause_after_run
;
69 extern int auto_save_setup
;
70 extern int use_internal_view
;
71 extern int use_internal_edit
;
72 extern int clear_before_exec
;
75 extern int source_codepage
;
76 extern int default_source_codepage
;
77 extern int display_codepage
;
78 extern char *autodetect_codeset
;
79 extern gboolean is_autodetect_codeset_enabled
;
81 extern int eight_bit_clean
;
82 extern int full_eight_bits
;
83 #endif /* !HAVE_CHARSET */
85 extern char *clipboard_store_path
;
86 extern char *clipboard_paste_path
;
88 extern int utf8_display
;
90 extern int fast_refresh
;
91 extern int drop_menus
;
92 extern int cd_symlinks
;
93 extern int show_all_if_ambiguous
;
94 extern int update_prompt
; /* To comunicate with subshell */
95 extern int safe_delete
;
96 extern int confirm_delete
;
97 extern int confirm_directory_hotlist_delete
;
98 extern int confirm_execute
;
99 extern int confirm_exit
;
100 extern int confirm_overwrite
;
101 extern int confirm_history_cleanup
;
102 extern int confirm_view_dir
;
103 extern int boot_current_is_left
;
104 extern int use_file_to_check_type
;
105 extern int vfs_use_limit
;
106 extern int only_leading_plus_minus
;
107 extern int output_starts_shell
;
108 extern int midnight_shutdown
;
110 extern int auto_fill_mkdir_name
;
111 /* Ugly hack in order to distinguish between left and right panel in menubar */
112 extern int is_right
; /* If the selected menu was the right */
114 extern const char *mc_prompt
;
115 extern char *mc_home
;
116 extern char *mc_home_alt
;
118 extern struct mc_fhl_struct
*mc_filehighlight
;
120 /*** declarations of public functions ************************************************************/
122 void toggle_show_hidden (void);
124 void subshell_chdir (const char *command
);
126 void midnight_set_buttonbar (struct WButtonBar
*b
);
128 #ifdef HAVE_SUBSHELL_SUPPORT
129 void do_update_prompt (void);
130 int load_prompt (int fd
, void *unused
);
133 int do_cd (const char *new_dir
, enum cd_enum cd_type
);
134 void sort_cmd (void);
135 void change_panel (void);
136 void save_cwds_stat (void);
137 gboolean
quiet_quit_cmd (void); /* For cmd.c and command.c */
139 void touch_bar (void);
140 void update_xterm_title_path (void);
141 void load_hint (int force
);
143 void print_vfs_message (const char *msg
, ...) __attribute__ ((format (__printf__
, 1, 2)));
145 char *get_mc_lib_dir (void);
147 void update_menu (void);
149 char *remove_encoding_from_path (const char *);
151 /*** inline functions ****************************************************************************/
152 #endif /* MC__MAIN_H */