Updated italian translation
[midnight-commander.git] / src / main.h
blobadd2f01dd4927c340467d0e0ba032a0ae4a1b1da
1 #ifndef __MAIN_H
2 #define __MAIN_H
3 /* Toggling functions */
4 void toggle_fast_reload (void);
5 void toggle_mix_all_files (void);
6 void toggle_show_backup (void);
7 void toggle_show_hidden (void);
9 #define UP_OPTIMIZE 0
10 #define UP_RELOAD 1
11 #define UP_ONLY_CURRENT 2
13 #define UP_KEEPSEL ((char *) -1)
15 extern int quote;
16 extern volatile int quit;
18 /* If true, after executing a command, wait for a keystroke */
19 enum { pause_never, pause_on_dumb_terminals, pause_always };
21 void subshell_chdir (char *command);
23 /* See main.c for details on these variables */
24 extern int mark_moves_down;
25 extern int auto_menu;
26 extern int pause_after_run;
27 extern int auto_save_setup;
28 extern int use_internal_view;
29 extern int use_internal_edit;
30 extern int fast_reload_w;
31 extern int clear_before_exec;
32 extern int mou_auto_repeat;
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 confirm_view_dir;
45 extern int fast_refresh;
46 extern int navigate_with_arrows;
47 extern int force_ugly_line_drawing;
48 extern int drop_menus;
49 extern int cd_symlinks;
50 extern int show_all_if_ambiguous;
51 extern int slow_terminal;
52 extern int update_prompt; /* To comunicate with subshell */
53 extern int confirm_delete;
54 extern int confirm_execute;
55 extern int confirm_exit;
56 extern int confirm_overwrite;
57 extern int force_colors;
58 extern int boot_current_is_left;
59 extern int acs_vline;
60 extern int acs_hline;
61 extern int use_file_to_check_type;
62 extern int vfs_use_limit;
63 extern int alternate_plus_minus;
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;
70 /* Ugly hack in order to distinguish between left and right panel in menubar */
71 extern int is_right; /* If the selected menu was the right */
72 #define MENU_PANEL (is_right ? right_panel : left_panel)
73 #define MENU_PANEL_IDX (is_right ? 1 : 0)
74 #define SELECTED_IS_PANEL (get_display_type (is_right ? 1 : 0) == view_listing)
76 typedef void (*key_callback) ();
77 /* FIXME: We have to leave this type ambiguous, because `key_callback'
78 is used both for functions that take an argument and ones that don't.
79 That ought to be cleared up. */
81 /* The keymaps are of this type */
82 typedef struct {
83 int key_code;
84 key_callback fn;
85 } key_map;
87 void update_panels (int force_update, char *current_file);
88 void repaint_screen (void);
89 void do_update_prompt (void);
91 enum cd_enum {
92 cd_parse_command,
93 cd_exact
96 int do_cd (char *new_dir, enum cd_enum cd_type); /* For find.c */
97 void change_panel (void);
98 int load_prompt (int fd, void *unused);
99 void save_cwds_stat (void);
100 int quiet_quit_cmd (void); /* For cmd.c and command.c */
102 void touch_bar (void);
103 void update_xterm_title_path (void);
104 void load_hint (int force);
106 void print_vfs_message(char *msg, ...)
107 __attribute__ ((format (printf, 1, 2)));
109 extern char *prompt;
110 extern char *mc_home;
111 char *get_mc_lib_dir (void);
113 int maybe_cd (int char_code, int move_up_dir);
114 void do_possible_cd (char *dir);
116 #ifdef WANT_WIDGETS
117 extern WButtonBar *the_bar;
118 extern WLabel *the_prompt;
119 extern WLabel *the_hint;
120 extern Dlg_head *midnight_dlg;
122 struct WMenu;
123 extern struct WMenu *the_menubar;
124 #endif /* WANT_WIDGETS */
126 void done_menu (void);
127 void init_menu (void);
129 #define MC_BASE "/.mc/"
131 struct WPanel;
132 void directory_history_add (struct WPanel *panel, const char *dir);
133 int do_panel_cd (struct WPanel *panel, char *new_dir, enum cd_enum cd_type);
135 #endif /* !__MAIN_H */