Ticket #30 (use external clipboard utility)
[midnight-commander.git] / src / main.h
blob8a2712eb53fa9a0a98b21b83123fb34aac3a0ed8
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 char* clipbord_store_path;
73 extern char* clipbord_paste_path;
75 extern int utf8_display;
77 extern int fast_refresh;
78 extern int drop_menus;
79 extern int cd_symlinks;
80 extern int show_all_if_ambiguous;
81 extern int update_prompt; /* To comunicate with subshell */
82 extern int safe_delete;
83 extern int confirm_delete;
84 extern int confirm_directory_hotlist_delete;
85 extern int confirm_execute;
86 extern int confirm_exit;
87 extern int confirm_overwrite;
88 extern int confirm_history_cleanup;
89 extern int confirm_view_dir;
90 extern int boot_current_is_left;
91 extern int use_file_to_check_type;
92 extern int vfs_use_limit;
93 extern int only_leading_plus_minus;
94 extern int output_starts_shell;
95 extern int midnight_shutdown;
96 extern char *shell;
97 extern int auto_fill_mkdir_name;
98 /* Ugly hack in order to distinguish between left and right panel in menubar */
99 extern int is_right; /* If the selected menu was the right */
100 #define MENU_PANEL (is_right ? right_panel : left_panel)
101 #define MENU_PANEL_IDX (is_right ? 1 : 0)
102 #define SELECTED_IS_PANEL (get_display_type (is_right ? 1 : 0) == view_listing)
104 #ifdef HAVE_SUBSHELL_SUPPORT
105 void do_update_prompt (void);
106 int load_prompt (int fd, void *unused);
107 #endif
109 enum cd_enum {
110 cd_parse_command,
111 cd_exact
114 int do_cd (const char *new_dir, enum cd_enum cd_type); /* For find.c */
115 void sort_cmd (void);
116 void change_panel (void);
117 void save_cwds_stat (void);
118 void quiet_quit_cmd (void); /* For cmd.c and command.c */
120 void touch_bar (void);
121 void update_xterm_title_path (void);
122 void load_hint (int force);
124 void print_vfs_message(const char *msg, ...)
125 __attribute__ ((format (__printf__, 1, 2)));
127 extern const char *mc_prompt;
128 extern char *mc_home;
129 extern char *mc_home_alt;
131 struct mc_fhl_struct;
132 extern struct mc_fhl_struct *mc_filehighlight;
134 char *get_mc_lib_dir (void);
136 void done_menu (void);
137 void init_menu (void);
139 char *remove_encoding_from_path (const char *);
141 struct WPanel;
143 void directory_history_add (struct WPanel *panel, const char *dir);
144 int do_panel_cd (struct WPanel *panel, const char *new_dir, enum cd_enum cd_type);
146 #endif /* MC_MAIN_H */