add redefine keys support in viewer
[midnight-commander.git] / src / main.h
blobd0dff9c7f59128ac3f2e72c91e3bf065b44143c1
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 "keybind.h"
11 /* Toggling functions */
12 void toggle_fast_reload (void);
13 void toggle_mix_all_files (void);
14 void toggle_show_backup (void);
15 void toggle_show_hidden (void);
16 void toggle_kilobyte_si (void);
18 extern int quote;
19 extern volatile int quit;
21 /* If true, after executing a command, wait for a keystroke */
22 enum { pause_never, pause_on_dumb_terminals, pause_always };
24 void subshell_chdir (const char *command);
26 /* See main.c for details on these variables */
27 extern int mark_moves_down;
28 extern int auto_menu;
29 extern int pause_after_run;
30 extern int auto_save_setup;
31 extern int use_internal_view;
32 extern int use_internal_edit;
33 extern int fast_reload_w;
34 extern int clear_before_exec;
35 extern char *other_dir;
36 extern int mouse_move_pages;
38 #ifdef HAVE_CHARSET
39 extern int source_codepage;
40 extern int display_codepage;
41 #else
42 extern int eight_bit_clean;
43 extern int full_eight_bits;
44 #endif /* !HAVE_CHARSET */
46 extern int utf8_display;
48 extern int confirm_view_dir;
49 extern int fast_refresh;
50 extern int navigate_with_arrows;
51 extern int drop_menus;
52 extern int cd_symlinks;
53 extern int show_all_if_ambiguous;
54 extern int update_prompt; /* To comunicate with subshell */
55 extern int safe_delete;
56 extern int confirm_delete;
57 extern int confirm_directory_hotlist_delete;
58 extern int confirm_execute;
59 extern int confirm_exit;
60 extern int confirm_overwrite;
61 extern int boot_current_is_left;
62 extern int use_file_to_check_type;
63 extern int vfs_use_limit;
64 extern int only_leading_plus_minus;
65 extern int output_starts_shell;
66 extern int midnight_shutdown;
67 extern char cmd_buf [512];
68 extern char *shell;
69 extern int auto_fill_mkdir_name;
70 extern int skip_check_codeset;
71 /* Ugly hack in order to distinguish between left and right panel in menubar */
72 extern int is_right; /* If the selected menu was the right */
73 #define MENU_PANEL (is_right ? right_panel : left_panel)
74 #define MENU_PANEL_IDX (is_right ? 1 : 0)
75 #define SELECTED_IS_PANEL (get_display_type (is_right ? 1 : 0) == view_listing)
77 extern GArray *editor_keymap;
78 extern GArray *viewer_keymap;
79 extern GArray *viewer_hex_keymap;
80 extern GArray *main_keymap;
81 extern GArray *main_x_keymap;
82 extern GArray *panel_keymap;
84 extern const global_key_map_t *panel_map;
85 extern const global_key_map_t default_panel_keymap[];
87 void do_update_prompt (void);
89 enum cd_enum {
90 cd_parse_command,
91 cd_exact
94 int do_cd (const char *new_dir, enum cd_enum cd_type); /* For find.c */
95 void change_panel (void);
96 int load_prompt (int, void *);
97 void save_cwds_stat (void);
98 void quiet_quit_cmd (void); /* For cmd.c and command.c */
100 void touch_bar (void);
101 void update_xterm_title_path (void);
102 void load_hint (int force);
104 void print_vfs_message(const char *msg, ...)
105 __attribute__ ((format (__printf__, 1, 2)));
107 extern const char *prompt;
108 extern const char *edit_one_file;
109 extern char *mc_home;
110 extern char *mc_home_alt;
112 struct mc_fhl_struct;
113 extern struct mc_fhl_struct *mc_filehighlight;
115 char *get_mc_lib_dir (void);
117 void done_menu (void);
118 void init_menu (void);
120 char *remove_encoding_from_path (const char *);
122 #define MC_BASE "/.mc/"
124 struct WPanel;
126 void directory_history_add (struct WPanel *panel, const char *dir);
127 int do_panel_cd (struct WPanel *panel, const char *new_dir, enum cd_enum cd_type);
129 #endif