global.c 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. /*
  2. Global structure for some library-related variables
  3. Copyright (C) 2009-2017
  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 "global.h"
  25. #include "lib/timer.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. .mc_run_mode = MC_RUN_FULL,
  41. .timer = NULL,
  42. .midnight_shutdown = FALSE,
  43. .sysconfig_dir = NULL,
  44. .share_data_dir = NULL,
  45. #ifdef HAVE_CHARSET
  46. .source_codepage = -1,
  47. .display_codepage = -1,
  48. #else
  49. .eight_bit_clean = TRUE,
  50. .full_eight_bits = FALSE,
  51. #endif /* !HAVE_CHARSET */
  52. .utf8_display = FALSE,
  53. .message_visible = 1,
  54. .keybar_visible = 1,
  55. #ifdef ENABLE_BACKGROUND
  56. .we_are_background = FALSE,
  57. #endif /* ENABLE_BACKGROUND */
  58. .widget =
  59. {
  60. .confirm_history_cleanup = TRUE,
  61. .show_all_if_ambiguous = FALSE,
  62. .is_right = FALSE
  63. },
  64. .shell = NULL,
  65. .tty =
  66. {
  67. .skin = NULL,
  68. .setup_color_string = NULL,
  69. .term_color_string = NULL,
  70. .color_terminal_string = NULL,
  71. .command_line_colors = NULL,
  72. #ifndef LINUX_CONS_SAVER_C
  73. .console_flag = '\0',
  74. #endif /* !LINUX_CONS_SAVER_C */
  75. .use_subshell = SUBSHELL_USE,
  76. #ifdef ENABLE_SUBSHELL
  77. .subshell_pty = 0,
  78. #endif /* !ENABLE_SUBSHELL */
  79. .xterm_flag = FALSE,
  80. .disable_x11 = FALSE,
  81. .slow_terminal = FALSE,
  82. .disable_colors = FALSE,
  83. .ugly_line_drawing = FALSE,
  84. .old_mouse = FALSE,
  85. .alternate_plus_minus = FALSE,
  86. .winch_flag = 0
  87. },
  88. .vfs =
  89. {
  90. .cd_symlinks = TRUE,
  91. .preallocate_space = FALSE,
  92. }
  93. };
  94. /* *INDENT-ON* */
  95. #undef SUBSHELL_USE
  96. /*** file scope macro definitions ****************************************************************/
  97. /*** file scope type declarations ****************************************************************/
  98. /*** file scope variables ************************************************************************/
  99. /*** file scope functions ************************************************************************/
  100. /*** public functions ****************************************************************************/
  101. /* --------------------------------------------------------------------------------------------- */