mc fails to build when using musl as the libc provider. This is due to
the CTRL() macro not being defined in <termios.h>. We could include
<sys/ttydefaults.h> explicitly but it's easier just to ensure CTRL is
defined.
This patch taken from the Sabotage Linux distro which fixes this. This
patch has also been tested and works with the OpenEmbedded build
system.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
Steps to Reproduce:
1. Run mc in native console (not in X terminal emulator).
2. Press Ctrl+O to switch to subshell.
3. Try select anything with mouse.
Result: mouse does't select anything.
This bug was introduced in 68468a25ac
commit.
Solution: make mouse initialization after initializaton of subshell.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
Unlike S-Lang, NCurses always wraps long lines and unable trancate that
to pring only visible part of text. Therefore we have to implement our
own addch() wrappers.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
Unification of tty_shutdown() function as for S-Lang as for NCurses.
Added do_exit_ca_mode() call to the NCurses-based tty_shutdown().
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
The xterm_flag variable was initialized in setup_mc() but used
first time in init_key() and in tty_init() (in do_enter_ca_mode())
before setup_mc() call.
Now xterm initialized in early step of mc start up process and
xterm support and mouse are initialized in tty_init().
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
... to avoid artefacts after printing of non-printable symbols.
(tty_touch_lines): new function to mark modified lines of screen.
(do_refresh): mark lines as modified before redraw of non-fullscreen dialog
and clear entire screen before redraw of fullscreen dialog.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
If filled region is larger than screen, NCurses doesn't fill it
unlike S-Lang. This patch fixes such behaviour: only visible part
of region is filled.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
Fixed tty_print_alt_char() to draw single or double vertical
or horizintal lines.
Added argument to tty_print_one_hline() and tty_print_one_vline()
functions to draw single or double lines.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
Generally, Ctrl-\ is a default assignment to SIGQUIT signal.
S-Lang breaks this assignment. NCurses doesn't, therefore
MC just quits when user presses the Ctrl-\ key.
This commit emulates the S-Lang way in NCurses-based MC.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
* moved src/global.h into lib/global.h
* moved glibcompat.[ch] from ./src/ into ./lib/
* moved fs.h from ./src/ into ./lib/
Signed-off-by: Slava Zanko <slavazanko@gmail.com>