1 /*
2 Global structure for some library-related variables
3
4 Copyright (C) 2009-2026
5 Free Software Foundation, Inc.
6
7 Written by:
8 Slava Zanko <slavazanko@gmail.com>, 2009.
9
10 This file is part of the Midnight Commander.
11
12 The Midnight Commander is free software: you can redistribute it
13 and/or modify it under the terms of the GNU General Public License as
14 published by the Free Software Foundation, either version 3 of the License,
15 or (at your option) any later version.
16
17 The Midnight Commander is distributed in the hope that it will be useful,
18 but WITHOUT ANY WARRANTY; without even the implied warranty of
19 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 GNU General Public License for more details.
21
22 You should have received a copy of the GNU General Public License
23 along with this program. If not, see <https://www.gnu.org/licenses/>.
24 */
25
26 /** \file glibcompat.c
27 * \brief Source: global structure for some library-related variables
28 *
29 */
30
31 #include <config.h>
32
33 #include "mc-version.h"
34
35 #include "global.h"
36
37 #ifdef ENABLE_SUBSHELL
38 #ifdef SUBSHELL_OPTIONAL
39 #define SUBSHELL_USE FALSE
40 #else
41 #define SUBSHELL_USE TRUE
42 #endif
43 #else
44 #define SUBSHELL_USE FALSE
45 #endif
46
47 /*** global variables ****************************************************************************/
48
49 mc_global_t mc_global = {
50 .mc_version = MC_CURRENT_VERSION,
51
52 .mc_run_mode = MC_RUN_FULL,
53 .run_from_parent_mc = FALSE,
54 .midnight_shutdown = FALSE,
55
56 .sysconfig_dir = NULL,
57 .share_data_dir = NULL,
58
59 .profile_name = NULL,
60
61 .source_codepage = -1,
62 .display_codepage = -1,
63 .utf8_display = FALSE,
64
65 .message_visible = TRUE,
66 .keybar_visible = TRUE,
67
68 #ifdef ENABLE_BACKGROUND
69 .we_are_background = FALSE,
70 #endif
71
72 .widget = {
73 .confirm_history_cleanup = TRUE,
74 .show_all_if_ambiguous = FALSE,
75 .is_right = FALSE,
76 },
77
78 .shell = NULL,
79
80 .tty = {
81 .skin = NULL,
82 .shadows = TRUE,
83 .setup_color_string = NULL,
84 .term_color_string = NULL,
85 .color_terminal_string = NULL,
86
87 #ifndef LINUX_CONS_SAVER_C
88 .console_flag = '\0',
89 #endif
90
91 .use_subshell = SUBSHELL_USE,
92 #ifdef ENABLE_SUBSHELL
93 .subshell_pty = 0,
94 #endif
95
96 .xterm_flag = FALSE,
97 .disable_x11 = FALSE,
98 .slow_terminal = FALSE,
99 .disable_colors = FALSE,
100 .ugly_line_drawing = FALSE,
101 .old_mouse = FALSE,
102 .alternate_plus_minus = FALSE,
103 },
104
105 .vfs = {
106 .cd_symlinks = TRUE,
107 .preallocate_space = FALSE,
108 .file_cloning = TRUE,
109 },
110
111 };
112
113 #undef SUBSHELL_USE
114
115 /*** file scope macro definitions ****************************************************************/
116
117 /*** file scope type declarations ****************************************************************/
118
119 /*** file scope variables ************************************************************************/
120
121 /* --------------------------------------------------------------------------------------------- */
122 /*** file scope functions ************************************************************************/
123 /* --------------------------------------------------------------------------------------------- */
124
125 /* --------------------------------------------------------------------------------------------- */
126 /*** public functions ****************************************************************************/
127 /* --------------------------------------------------------------------------------------------- */
128
129 char *
130 mc_get_package_copyright (void)
/* ![[previous]](../icons/n_left.png)
![[next]](../icons/n_right.png)
![[first]](../icons/n_first.png)
![[last]](../icons/n_last.png)
![[top]](../icons/top.png)
![[bottom]](../icons/bottom.png)
![[index]](../icons/index.png)
*/
131 {
132 const size_t last_year = 2026;
133
134 return g_strdup_printf (_ ("Copyright (C) 1996-%zu the Free Software Foundation"), last_year);
135 }
136
137 /* --------------------------------------------------------------------------------------------- */