Ticket #268 (Allow using SI-based size prefixes)
[free-mc.git] / src / main.h
blobaac3ec051481ebb0226e6f44c50e9b7529fe706f
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 /* Toggling functions */
10 void toggle_fast_reload (void);
11 void toggle_mix_all_files (void);
12 void toggle_show_backup (void);
13 void toggle_show_hidden (void);
14 void toggle_kilobyte_si (void);
16 extern int quote;
17 extern volatile int quit;
19 /* If true, after executing a command, wait for a keystroke */
20 enum { pause_never, pause_on_dumb_terminals, pause_always };
22 void subshell_chdir (const char *command);
24 /* See main.c for details on these variables */
25 extern int mark_moves_down;
26 extern int auto_menu;
27 extern int pause_after_run;
28 extern int auto_save_setup;
29 extern int use_internal_view;
30 extern int use_internal_edit;
31 extern int fast_reload_w;
32 extern int clear_before_exec;
33 extern char *other_dir;
34 extern int mouse_move_pages;
36 #ifdef HAVE_CHARSET
37 extern int source_codepage;
38 extern int display_codepage;
39 #else
40 extern int eight_bit_clean;
41 extern int full_eight_bits;
42 #endif /* !HAVE_CHARSET */
44 extern int utf8_display;
46 extern int confirm_view_dir;
47 extern int fast_refresh;
48 extern int navigate_with_arrows;
49 extern int drop_menus;
50 extern int cd_symlinks;
51 extern int show_all_if_ambiguous;
52 extern int update_prompt; /* To comunicate with subshell */
53 extern int safe_delete;
54 extern int confirm_delete;
55 extern int confirm_directory_hotlist_delete;
56 extern int confirm_execute;
57 extern int confirm_exit;
58 extern int confirm_overwrite;
59 extern int boot_current_is_left;
60 extern int use_file_to_check_type;
61 extern int vfs_use_limit;
62 extern int only_leading_plus_minus;
63 extern int output_starts_shell;
64 extern int midnight_shutdown;
65 extern char cmd_buf [512];
66 extern char *shell;
67 extern int auto_fill_mkdir_name;
68 extern int skip_check_codeset;
69 /* Ugly hack in order to distinguish between left and right panel in menubar */
70 extern int is_right; /* If the selected menu was the right */
71 #define MENU_PANEL (is_right ? right_panel : left_panel)
72 #define MENU_PANEL_IDX (is_right ? 1 : 0)
73 #define SELECTED_IS_PANEL (get_display_type (is_right ? 1 : 0) == view_listing)
75 typedef void (*key_callback) (void);
77 /* The keymaps are of this type */
78 typedef struct {
79 int key_code;
80 key_callback fn;
81 } key_map;
83 void do_update_prompt (void);
85 enum cd_enum {
86 cd_parse_command,
87 cd_exact
90 int do_cd (const char *new_dir, enum cd_enum cd_type); /* For find.c */
91 void change_panel (void);
92 int load_prompt (int, void *);
93 void save_cwds_stat (void);
94 void quiet_quit_cmd (void); /* For cmd.c and command.c */
96 void touch_bar (void);
97 void update_xterm_title_path (void);
98 void load_hint (int force);
100 void print_vfs_message(const char *msg, ...)
101 __attribute__ ((format (__printf__, 1, 2)));
103 extern const char *prompt;
104 extern const char *edit_one_file;
105 extern char *mc_home;
106 extern char *mc_home_alt;
107 char *get_mc_lib_dir (void);
109 void done_menu (void);
110 void init_menu (void);
112 char *remove_encoding_from_path (const char *);
114 #define MC_BASE "/.mc/"
116 struct WPanel;
118 void directory_history_add (struct WPanel *panel, const char *dir);
119 int do_panel_cd (struct WPanel *panel, const char *new_dir, enum cd_enum cd_type);
121 #endif