1
2
3
4
5 #ifndef MC__LAYOUT_H
6 #define MC__LAYOUT_H
7
8 #include "lib/global.h"
9 #include "lib/widget.h"
10
11 #include "panel.h"
12
13
14
15 typedef enum
16 {
17 view_listing = 0,
18 view_info = 1,
19 view_tree = 2,
20 view_quick = 3,
21 view_nothing = 4,
22 } panel_view_mode_t;
23
24
25
26
27
28 typedef struct
29 {
30 gboolean horizontal_split;
31
32
33 gboolean vertical_equal;
34 int left_panel_size;
35
36
37 gboolean horizontal_equal;
38 int top_panel_size;
39 } panels_layout_t;
40
41
42
43 extern int output_lines;
44 extern int output_start_y;
45 extern gboolean xterm_title;
46 extern gboolean free_space;
47 extern gboolean nice_rotating_dash;
48
49 extern int ok_to_refresh;
50
51 extern panels_layout_t panels_layout;
52
53
54 void layout_change (void);
55 void layout_box (void);
56 void panel_update_cols (Widget *widget, panel_display_t frame_size);
57 void setup_panels (void);
58 void panels_split_equal (void);
59 void panels_split_more (void);
60 void panels_split_less (void);
61 void destroy_panels (void);
62 void setup_cmdline (void);
63 void create_panel (int num, panel_view_mode_t type);
64 void swap_panels (void);
65 panel_view_mode_t get_panel_type (int idx);
66 MC_MOCKABLE panel_view_mode_t get_current_type (void);
67 panel_view_mode_t get_other_type (void);
68 int get_current_index (void);
69 int get_other_index (void);
70 const char *get_nth_panel_name (int num);
71
72 Widget *get_panel_widget (int idx);
73
74 WPanel *get_other_panel (void);
75
76 void save_panel_dir (int idx);
77 char *get_panel_dir_for (const WPanel *widget);
78
79 void set_hintbar (const char *str);
80
81
82 void use_dash (gboolean flag);
83 void rotate_dash (gboolean show);
84
85 #ifdef ENABLE_SUBSHELL
86 gboolean do_load_prompt (void);
87 int load_prompt (int fd, void *unused);
88 #endif
89
90 void update_xterm_title_path (void);
91 void update_terminal_cwd (void);
92
93 void title_path_prepare (char **path, char **login);
94
95
96
97 #endif