global.c 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. /*
  2. Global structure for some library-related variables
  3. Copyright (C) 2009-2021
  4. Free Software Foundation, Inc.
  5. Written by:
  6. Slava Zanko <slavazanko@gmail.com>, 2009.
  7. This file is part of the Midnight Commander.
  8. The Midnight Commander is free software: you can redistribute it
  9. and/or modify it under the terms of the GNU General Public License as
  10. published by the Free Software Foundation, either version 3 of the License,
  11. or (at your option) any later version.
  12. The Midnight Commander is distributed in the hope that it will be useful,
  13. but WITHOUT ANY WARRANTY; without even the implied warranty of
  14. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  15. GNU General Public License for more details.
  16. You should have received a copy of the GNU General Public License
  17. along with this program. If not, see <http://www.gnu.org/licenses/>.
  18. */
  19. /** \file glibcompat.c
  20. * \brief Source: global structure for some library-related variables
  21. *
  22. */
  23. #include <config.h>
  24. #include "mc-version.h"
  25. #include "global.h"
  26. /* *INDENT-OFF* */
  27. #ifdef ENABLE_SUBSHELL
  28. # ifdef SUBSHELL_OPTIONAL
  29. # define SUBSHELL_USE FALSE
  30. # else /* SUBSHELL_OPTIONAL */
  31. # define SUBSHELL_USE TRUE
  32. # endif /* SUBSHELL_OPTIONAL */
  33. #else /* !ENABLE_SUBSHELL */
  34. # define SUBSHELL_USE FALSE
  35. #endif /* !ENABLE_SUBSHELL */
  36. /* *INDENT-ON* */
  37. /*** global variables ****************************************************************************/
  38. /* *INDENT-OFF* */
  39. mc_global_t mc_global =
  40. {
  41. .mc_version = MC_CURRENT_VERSION,
  42. .mc_run_mode = MC_RUN_FULL,
  43. .run_from_parent_mc = FALSE,
  44. .midnight_shutdown = FALSE,
  45. .sysconfig_dir = NULL,
  46. .share_data_dir = NULL,
  47. #ifdef HAVE_CHARSET
  48. .source_codepage = -1,
  49. .display_codepage = -1,
  50. #else
  51. .eight_bit_clean = TRUE,
  52. .full_eight_bits = FALSE,
  53. #endif /* !HAVE_CHARSET */
  54. .utf8_display = FALSE,
  55. .message_visible = TRUE,
  56. .keybar_visible = TRUE,
  57. #ifdef ENABLE_BACKGROUND
  58. .we_are_background = FALSE,
  59. #endif /* ENABLE_BACKGROUND */
  60. .widget =
  61. {
  62. .confirm_history_cleanup = TRUE,
  63. .show_all_if_ambiguous = FALSE,
  64. .is_right = FALSE
  65. },
  66. .shell = NULL,
  67. .tty =
  68. {
  69. .skin = NULL,
  70. .shadows = TRUE,
  71. .setup_color_string = NULL,
  72. .term_color_string = NULL,
  73. .color_terminal_string = NULL,
  74. .command_line_colors = NULL,
  75. #ifndef LINUX_CONS_SAVER_C
  76. .console_flag = '\0',
  77. #endif /* !LINUX_CONS_SAVER_C */
  78. .use_subshell = SUBSHELL_USE,
  79. #ifdef ENABLE_SUBSHELL
  80. .subshell_pty = 0,
  81. #endif /* !ENABLE_SUBSHELL */
  82. .xterm_flag = FALSE,
  83. .disable_x11 = FALSE,
  84. .slow_terminal = FALSE,
  85. .disable_colors = FALSE,
  86. .ugly_line_drawing = FALSE,
  87. .old_mouse = FALSE,
  88. .alternate_plus_minus = FALSE
  89. },
  90. .vfs =
  91. {
  92. .cd_symlinks = TRUE,
  93. .preallocate_space = FALSE,
  94. }
  95. };
  96. /* *INDENT-ON* */
  97. #undef SUBSHELL_USE
  98. /*** file scope macro definitions ****************************************************************/
  99. /*** file scope type declarations ****************************************************************/
  100. /*** file scope variables ************************************************************************/
  101. /*** file scope functions ************************************************************************/
  102. /*** public functions ****************************************************************************/
  103. /* --------------------------------------------------------------------------------------------- */