Commit Graph

224 Commits

Author SHA1 Message Date
Paul Barker
e78b636eba Ticket #3267: mc fails to build against musl libc.
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>
2014-10-01 15:19:54 +04:00
Egmont Koblinger
5943929956 Ticket #3183: diffviewer line drawing fix.
The "topmiddle" and "bottommiddle" characters are defined incorrectly
in many skins. This is because the correct definition wouldn't work
with S-Lang build. The only place these characters are used is the
diffviewer if either the +/- signs or the line numbers are shown,
enabled by pressing S or L. The correct definition of these characters
currently show up as 'v' and 'w' characters.

The fix makes the diffviewer use tty_print_alt_char() as it is being used
in other parts of the code, and hence it fixes the bug.
It also fixes the skin definitions.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2014-03-16 17:02:46 +04:00
Andrew Borodin
e5203cb023 Fix name of FSF in all *.c files.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2014-02-28 13:33:17 +04:00
Andrew Borodin
f0da49345a Collapse list of copyright years to ranges. Add 2014 year.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2014-02-10 16:27:03 +04:00
Andrew Borodin
d8b58c84be Ticket #3134: fix some inconsistencies in "Learn keys" UI.
Reorder keys in "Learn key" window in accordance with the order
of keys on regular keyboards.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2014-02-10 16:26:18 +04:00
Andrew Borodin
d870aedad1 Ticket #3114: fix broken build with NCurses.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2013-12-04 15:14:07 +04:00
Andrew Borodin
bb65b46790 Fix use of uninitialized memory in sigaction structure.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2013-11-25 13:47:40 +04:00
Slava Zanko
0ed4a91d7d Reduce cppcheck warnings (style) in lib subdirectory.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2013-11-25 13:47:39 +04:00
Slava Zanko
0d489acd58 cppcheck: reduce variable scope.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2013-11-25 13:47:39 +04:00
Slava Zanko
a3b8a2f005 Use UTF8_CHAR_LEN instead of a magic number
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2013-11-25 13:47:39 +04:00
Andrew Borodin
5a04c1ede2 Indentation.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2013-10-04 09:27:24 +04:00
Andrew Borodin
6a05f30ecf Clarify usage of SA_RESTART.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2013-10-04 09:14:09 +04:00
Andrew Borodin
e78b1fdf66 Remove redundant checks for g_strdup().
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2013-10-04 09:14:08 +04:00
Andrew Borodin
bb142bf47f (lookup_key): minor refactoring: replace while() by for().
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2013-10-04 09:11:04 +04:00
Egmont Koblinger
930f683019 Handle newline and tab with shift/ctrl modifiers correctly.
MC already has its own half-ready trick: when pasting with Shift-Insert,
using the X11 extension, the newline ("Enter" as mc calls it) with the
Shift modifier pressed gets converted to a "Return", and in the editor
the Return character inserts a non-indenting newline. This makes pasting
better in terminals not supporting bracketed paste, however, it has some
problems that this commit addresses:

  * Shift+newline gets this special treatment, but Ctrl+newline gets
    dropped. Hence e.g. when pasting in Gnome-terminal with Ctrl+Shift+V
    all the newlines will be missing. This commit adds the same
    non-indenting newline behavior to Ctrl+Newline and Ctrl+Shift+Newline.

  * The code forgets about Tab that also needs special treatment:

    - Most terminals send \e[Z on Shift+Tab, this is not handled by MC
      at all, moreover it causes a hang for about a second. This commit
      teaches this sequence to MC. This is especially useful when no X11
      is available, because there Ctrl+Tab is identical to Tab, so the
      backwards tab feature is not available. With this commit Shift+Tab
      becomes a backwards tab too on all terminals that emit \e[Z.

    - When pasting to the editor, Shift+Tab, Ctrl+Tab and Ctrl+Shift+Tab
      should all insert a tab for the same reason mentioned at the newline.

    - It would look inconsistent in the keymap files to have logical code
      such as "backtab" instead of "shift-tab" and friends, hence get rid
      of KEY_BTAB and use KEY_M_SHIFT | '\t' instead.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2013-10-03 11:41:58 +04:00
Egmont Koblinger
8f35c90b94 Ticket #2661: support enable bracketed paste of xterm.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2013-10-03 11:41:58 +04:00
Andrew Borodin
9e5d51df95 Ticket #3043: broken NCurses detection.
HAVE_NCURSESW_CURSES_H included the wrong header.

Partially revert 80c8d58003
for lib/tty/tty-ncurses.h.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2013-07-23 14:15:24 +04:00
Veres Lajos
805703523d Misspellings fixes by https://github.com/vlajos/misspell_fixer
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2013-06-15 11:10:41 +04:00
André Barros
9699d5dd69 Ticket #3011: mc under x11 problems with mouse or hang due gpm
mc may not detect the gpm mouse under X11 on many x terminals when running together with tmux or screen.

On some cases it can even hang.

It's a small patch to the gpm maintainer to improve its checking.
Seems there is a need also to a small change on mc.

Now everything is working perfectly.

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2013-06-10 20:08:56 +03:00
Slava Zanko
80c8d58003 remove the include duplicates from source files
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2013-06-03 10:58:14 +03:00
Denys Vlasenko
664e7d31b6 When we see an unknown sequence, it is not enough
to drop already received part - there can be more of it
coming over e.g. a serial line.

To prevent interpreting it as a random garbage,
eat and discard all chars that follow.
Small, but non-zero timeout is needed to reconnect
escape sequence split up by a serial line.

Before this change, Ctrl-Alt-Shift-Right_Arrow generates "1;8C"
bogus "input" in MC on my machine; after the change,
nothing is generated.

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2013-05-23 11:42:02 +03:00
Denys Vlasenko
ecd3b62b8e This change prevents misinterpreting an unknown ESC sequence's
tail as a garbage input. To reproduce, run "sleep 3" and
hold down Down_Arrow key until sleep runs.
With debugging log enabled, the following can be seen:

entered get_key_code(no_delay:0)
 c=tty_lowlevel_getch()=27
 push_char(27) !0
 c=xgetch_second()=91
 push_char(91) !0
 2 c=tty_lowlevel_getch()=66
 push_char(66)
 seq_buffer[0]:27   <---- the saved Down Arrow sequence "ESC [ B"
 seq_buffer[1]:91
 seq_buffer[2]:66
 seq_buffer[3]:0
pending_keys!=NULL. m=-1
d=*pending_keys++=27
d=ALT(*pending_keys++)=ALT(91)=8283
^^^^^^^^^^^^^^^^^^^^^^^ we misinterpret "ESC [ B" as "ESC ["
return correct_key_code(8283)
entered get_key_code(no_delay:0)
pending_keys!=NULL. m=-1
d=*pending_keys++=66
^^^^^^^^^^^^ we think user pressed "B"
return correct_key_code(66)

With this patch, no bogus "input" is generated.

Longer unknown sequences need an additional fix, coming next.

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2013-05-23 11:42:02 +03:00
Denys Vlasenko
77cfaf03cb Ticket #2988: When an unknown key is pressed, it is interpreted as garbage.
keyboard input: simplify code, no logic changes

This change slightly simplifies and rearranges the code
in get_key_code(), reduces indentation levels there,
adds a few comments. The logic remains the same.

This is a preparatory patch for subsequent changes.

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2013-05-23 11:41:25 +03:00
Andrew Borodin
a11628da62 Ticket #2964: mouse doesn't select text in subshell in native console.
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>
2013-02-14 14:26:25 +04:00
Slava Zanko
0f9ca096a3 Code indentation
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2013-02-13 14:24:45 +03:00
Slava Zanko
7e115b3024 Code refactoring: removed unneeded 'go to' label.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2013-02-13 14:18:57 +03:00
Egmont Koblinger
1515c9f152 Ticket #2956: Newer protocol for extended mouse clicks.
A followup extension, "SGR 1006" was invented by xterm, to overcome some
of the shortcomings of the previous one. It is becoming as widespread as
the previous one, and is likely to soon overtake it in popularity.

Note that most of the patch is just the removal of the huge complexity
introduced by the previous one. The previous extension didn't have a
unique prefix which made the whole parsing logic extremely complicated.
The new extension does have a unique prefix, so parsing becomes a piece
of cake. The code becomes much cleaner and much easier to maintain.

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2013-02-13 14:18:57 +03:00
Andrew Borodin
1f1be9ac93 lib/tty/color.c: use unsigned type for conversion between integer and pointer.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2012-12-20 15:18:06 +04:00
Andrew Borodin
60727b9b79 Clarify usage of AM_CPPFLAGS.
Use AM_CPPFLAGS not AM_CFLAGS for includes. GLIB_CFLAGS are CPPFLAGS, actually.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2012-12-18 16:27:49 +04:00
Andrew Borodin
1d3132c08f Clarify of sig_atomic_t usage (got from Mutt).
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2012-11-09 10:05:13 +04:00
Andrew Borodin
82bb9c39da Define winch_flag as volatile sig_atomic_t.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2012-11-09 10:05:13 +04:00
Andrew Borodin
794145090d Fixups of SIGWINCH handling.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2012-11-09 10:05:13 +04:00
Andrew Borodin
3f8e561e17 Tweak sources for --with-x/--without-x option.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2012-11-09 10:05:13 +04:00
Andrew Borodin
6c94ef16ec Refactoring of endless loops and some type accuracy.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2012-10-21 18:19:52 +04:00
Andrew Borodin
8ee5c7247c Fix of sys/ioctl.h includes: use HAVE_SYS_IOCTL_H guard.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2012-10-21 18:19:11 +04:00
Andrew Borodin
ea2c57dbd6 Optimization of SIGWINCH handling.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2012-10-21 18:19:06 +04:00
Andrew Borodin
d82757d233 Ticket #2917: Makefile.ams cleanup: remove unused AM_CPPFLAGS.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2012-10-20 15:24:30 +04:00
Andrew Borodin
b37af47023 Makefile.ams cleanup.
Set defines via CPPFLAGS variable not via CFLAGS one.
Use AM_CPPFLAGS and AM_CFLAGS variables instead of per-target ones.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2012-07-17 17:04:05 +04:00
Slava Zanko
94bd4b1f78 Code indentation.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2012-07-17 17:04:05 +04:00
Andrew Borodin
2fe6ab5e9f (tty_draw_box): do nothing if width or heigth of box is less than 1.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2012-04-22 11:25:10 +03:00
Andrew Borodin
b8190c1f53 lib/tty/win.c: includes cleanup.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2012-03-19 11:04:57 +03:00
Andrew Borodin
e1f2b5b017 Workaround for NCurses output routines.
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>
2012-03-08 10:37:56 +03:00
Andrew Borodin
62fc80f5f7 Allow draw a part of line if some coordinares are out of screen boundaries.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2012-03-08 10:37:56 +03:00
Andrew Borodin
33d25a0c8f Put global mouse coordinates to widgets.
Now each widget gets absolute coordinates of mouse pointer and decides
itself how to handle them.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2012-03-08 10:37:55 +03:00
Ilia Maslakov
9548eb4cb1 Ticket #2628 (shift-tab, ctrl-tab incorrect works)
fixed trouble with tab + ctrl/shift modifiers then mc started into xterm.

Signed-off-by: Ilia Maslakov <il.smind@gmail.com>
2011-12-29 17:20:35 +04:00
Ilia Maslakov
0b631ab1eb Ticket #86 (disable X11 from command line)
added option --no-x, -X for starting mc without X11 support.
    updated documentation: es, hu, it, en, pl, ru, sr.

Signed-off-by: Ilia Maslakov <il.smind@gmail.com>
2011-12-22 09:04:50 +04:00
Andrew Borodin
d305e5099c Moved declaration of old_esc_mode_timeout variable to the proper file section.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2011-12-12 12:23:25 +03:00
Andrew Borodin
6704d927c0 (tty_lowlevel_getch): used in lib/tty only.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2011-12-12 12:23:25 +03:00
Slava Zanko
1ba18c54b0 Ticket 2686: Code cleanup
Avoid compiler warnings

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2011-12-12 12:23:25 +03:00
Egmont Koblinger
b4912875b5 Ticket #2662: Calculating free space by ctrl+space doesn't work.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2011-12-09 13:05:03 +03:00
Egmont Koblinger
026b07a2ab Ticket #2662: support extended mouse clicks beyond 223.
The ancient way of reporting mouse coordinates only supports coordinates
up to 231, so if your terminal is wider (or taller, but that's unlikely),
you cannot use your mouse in the rightmost columns.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2011-11-29 09:50:03 +03:00
Andrew Borodin
1673c37548 Ticket #2637: faster startup of mc.
Since content of keymap file is ASCII-only and case insensitive,
don't use some utf8-manipulation: g_ascii_strcasecmp() is used
instead of str_casecmp().

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2011-10-31 15:49:36 +03:00
Slava Zanko
0138645541 Ticket 1551: Update GPL version from 2 to 3
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2011-10-18 14:08:34 +03:00
Andrew Borodin
ce1249f052 Added percent sign to key names.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2011-10-17 13:30:04 +03:00
Slava Zanko
a1e34b8dfa Code cleanup after runing splint on src/main.c file
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2011-10-17 13:30:03 +03:00
Andrew Borodin
6c5a679b85 Use ESC_STR macro instead of hardcoded "\033".
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2011-09-09 12:01:56 +03:00
Andrew Borodin
b982f70d4b Value accuracy of mouse_enabled global variable.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2011-09-09 12:01:56 +03:00
Slava Zanko
70ff1dc3aa Removed mc_global.args structure.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2011-09-08 14:12:10 +04:00
Ilia Maslakov
67c35a20a6 Added -g, --oldmouse option to support of NORMAL/BUTTON_EVENT mouse type.
Required for some terminals (screen/tmux) to force needed mouse type
(BUTTON_EVENT by default).

Normal tracking mode sends an escape sequence on both button press and release.
Mouse highlight tracking notifies a program of a button press, receives a range of
lines from the program, highlights the region covered by the mouse within that
range until button release, and then sends the program the release coordinates.
It is enabled by specifying parameter 1001 to DECSET.

Button-event tracking is essentially the same as normal tracking, but xterm also
reports button-motion events. Motion events are reported only if the mouse pointer
has moved to a different character cell. It is enabled by specifying parameter 1002 to DECSET.
On button press or release, xterm sends the same codes used by normal tracking mode.

Signed-off-by: Ilia Maslakov <il.smind@gmail.com>

changed mc.1.in, added description of command line options -g, --oldmouse.

Signed-off-by: Ilia Maslakov <il.smind@gmail.com>
2011-09-08 14:12:10 +04:00
Slava Zanko
bfbe9b94ae Removed global variable slow_tty
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2011-09-08 14:12:10 +04:00
Slava Zanko
9d9935d290 Removed global variable ugly_line_drawing
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2011-09-08 14:12:10 +04:00
Slava Zanko
8d44ed297b Moved xterm_flag global variable to mc_global.tty.xterm_flag
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2011-09-08 14:12:10 +04:00
Andrew Borodin
387bad2c7e Move SIGWINCH handler initialization to tty_init()
... and rename tty_low_level_change_screen_size() to
tty_change_screen_size().

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2011-09-08 14:11:51 +04:00
Andrew Borodin
ad0a5015d3 Fix of mouse and ca capabilities check.
Based on patch from Andrey V. Malyshev <amal krasn ru>
http://mail.gnome.org/archives/mc-devel/2005-November/msg00052.html

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2011-09-08 14:10:58 +04:00
Andrew Borodin
09123c9fc9 Refactoring of TTY layer shutdown.
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>
2011-09-08 14:10:58 +04:00
Andrew Borodin
68468a25ac Ticket #2601: incorrect TTY layer initialization.
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>
2011-09-08 14:10:51 +04:00
Andrew Borodin
17033652ee Revert "Ticket #2453: aggressive screen repaint"
This reverts commit f809e6cf7a.

While navigating in main menu (from one submenu to another one)
or after closing a dialog, the screen is blinking.
2011-07-09 20:39:46 +04:00
Andrew Borodin
f809e6cf7a Ticket #2453: aggressive screen repaint
... 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>
2011-07-08 13:51:41 +04:00
Slava Zanko
aad40e52fb Moved mc_refresh() to lib/widget
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2011-03-21 23:55:52 +02:00
Slava Zanko
6016620f42 Remove backlinks from lib to src - move global variables(used in lib) to mc_global structure (see lib/global.c)
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2011-03-21 23:55:50 +02:00
Slava Zanko
6c5f5bf768 VFS structure changes:
* moved from lib/vfs/mc-vfs to lib/vfs;
  * split by directories for VFS-plugins and moved to src/vfs;
  * lib/vfs/vfs-impl.h was merged into lib/vfs/vfs.h.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2011-03-21 11:48:26 +02:00
Ilia Maslakov
8e22a16430 Added lookup_key_by_code, now parameter is string.
For example: "ctrl-w=action:code;action:code;action:code;"

Signed-off-by: Ilia Maslakov <il.smind@gmail.com>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2011-03-02 11:16:54 +00:00
Andrew Borodin
0bdbd6c608 Fixup of S-Lang initialization.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2011-03-01 15:24:44 +03:00
GoTaR
795b3a76f0 Ticket #1668: Screen and input corruption under xterm [non-UTF]
The problem:
    viewing binary files contain char 0x9A leads to massive screen corruption and Search
    dialog pops up with 1;2c search string (multiple times depending on actual screen contents).
    So it looks like the file 'presses' F7 or / and shift-right_arrow for every specified
    character combination occurrence. In case of bigger files it's impossible to exit from
    such viewer, as search dialog keeps popping up after closing.

Signed-off-by: Ilia Maslakov <il.smind@gmail.com>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2011-03-01 15:24:38 +03:00
Andrew Borodin
20788b9bde use_mouse_p: moved definition from src/filemanager/midnight.c to lib/tty/mouse.c.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2011-02-05 16:54:56 +02:00
Slava Zanko
5b167ccc9e fail back to standard skin if 256-colors skin used on non256 colors terminal
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2011-01-24 15:46:10 +02:00
Slava Zanko
df0ae6ad0c Fixed strange incomplete code while replace colour attribute in hash
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2011-01-24 15:46:10 +02:00
Slava Zanko
3def2733dd Use constant for describe color intensity
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2011-01-24 15:46:10 +02:00
Slava Zanko
26b0623e87 Ticket #2169: Colors fixups for backward compability
* Restored old behaviour of A_BLINK attribute (intensity of background color instead of blinking foreground color);
 * Added function tty_use_256colors() for determine terminals with 256colors support;
 * Fixed background highlighting in NCurses and S-Lang.

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2011-01-24 15:45:58 +02:00
Andrew Borodin
41177e0c06 Ticket #2457: alt-backspace doesn't work.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2011-01-04 11:45:49 +03:00
Egmont Koblinger
e593572bb9 Ticket #2169: Add support for 256 colors terminals
Forget the old limit of 8 background and 16 foreground colors.
From now on Midnight Commander can use all the 256 colors,
as your favorite terminal emulator supports them - or not,
in which case it's not going to stay your favorite terminal for long.

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2010-12-29 11:58:10 +02:00
Andrew Borodin
ed87b08a14 Fixed declaration of mouse callback type
...and minor indentation.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2010-12-02 21:59:42 +03:00
Andrew Borodin
62c05d62f3 Ticket #2409: fix of GModule detection and usage.
Don't mix GLib and GModule compiler and linker options.

Use gmodule-no-export if present to avoid use -Wl,--export-dynamic
option with some linkers. If gmodule-no-export is not available,
use generic gmodule.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2010-12-02 21:59:42 +03:00
Slava Zanko
bbf1f4e857 Moved filemanager-related stuff to src/filemanager directory
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2010-11-24 10:51:32 +03:00
Slava Zanko
b1bd2e2673 Removed hardcoded actions on ctrl-d and ctrl-h hotkeys. Now these hotkeys defined in keymap file.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2010-11-24 10:51:31 +03:00
Andrew Borodin
8d1708225c Don't include lib/util.h via lib/global.h.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2010-11-24 10:51:30 +03:00
Andrew Borodin
9b43d71799 Set SLtt_Ignore_Beep in tty_init().
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2010-11-24 10:27:47 +03:00
Slava Zanko
feb733663f Code indentation in lib directory
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2010-11-24 10:27:20 +03:00
Andrew Borodin
5468707bc6 Added comment for translators about "at sign" symbol.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2010-11-02 13:34:08 +03:00
Andrew Borodin
0908c8baea Ticket #2404: added forgotten shotrcuts of mcedit.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2010-11-01 21:31:24 +03:00
Egmont Koblinger
aa9cb6d320 Ticket #2170: Color collisions
Midnight Commander's color/skin engine often reuses the same color definition for multiple elements on the UI.
This unnecessarily limits the possibilities when playing with colors.

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2010-10-13 13:21:10 +03:00
Andrew Borodin
4a175cbbe6 Some optimization and cleanup of color-related code in TTY layer.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2010-10-06 12:15:55 +03:00
Andrew Borodin
ec8d6f0751 Get rid of some '#ifdef ENABLE_VFS' conditions.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2010-09-27 21:44:20 +04:00
Andrew Borodin
490ab7618b check_movement_keys() function is unused. Removed.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2010-09-01 15:25:59 +04:00
Andrew Borodin
2f62fadabb Ticket #212: implemented keybindings for WListbox widget.
Initial step: added description for A1 and C1 keys.
A1 and C1 keybindings are applied to WTree, WInput and WPanel widgets.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2010-09-01 15:20:27 +04:00
Andrew Borodin
e73bfb2486 Fixed some i18n stuff.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2010-07-05 21:35:18 +04:00
Andrew Borodin
936bb2e5f0 Added code names for parentheses, brackets and braces.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2010-06-22 21:16:19 +04:00
Andrew Borodin
2c7bc9c1c2 Ticket #2157: fixed tty_fill_region() for ncurses-based TTY layer.
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>
2010-05-19 21:25:50 +04:00
Andrew Borodin
6a306c18b2 old_esc_mode option can be setup now in 'Configure options' dialog.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2010-05-14 18:46:15 +04:00
Andrew Borodin
9ac5d5207c Minor optimization of tty_draw_box() function.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2010-05-05 16:24:14 +04:00
Vit Rosin
993d678ed9 Use EXIT_FAILURE symbolic name as return code.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2010-05-05 16:24:14 +04:00
Andrew Borodin
7161567ea8 Ticket #1648: fixed frame corners for NCurses screen library.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2010-04-14 14:38:22 +04:00
Andrew Borodin
a708b5c514 Applied MC indentation policy.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2010-04-06 11:16:11 +04:00
Andrew Borodin
b0be11acd5 Merged tty_draw_double_box() function into tty_draw_box() one.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2010-04-06 10:30:58 +04:00
Andrew Borodin
4e57b599cc Renamed frame symbol names.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2010-04-06 10:30:58 +04:00
Andrew Borodin
9a145a88ce Added capability to draw single or double lines.
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>
2010-04-06 10:30:58 +04:00
Andrew Borodin
cc2f5670ec Created new function: tty_draw_double_box().
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2010-04-06 10:30:58 +04:00
Andrew Borodin
be3b0119da Fixed tty_print_alt_char() function for NCurses.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2010-04-06 10:30:58 +04:00
Sergei E. Ovsyannikov
d8fb069e85 Ticket #1648: implemented single-line boxes.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2010-04-06 10:30:58 +04:00
Slava Zanko
7206d2cc6c Fixed wrong colors
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2010-02-26 14:22:31 +02:00
Slava Zanko
5354d59337 Identation of some source files.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2010-02-26 11:26:00 +02:00
Slava Zanko
bff2f7303b Cleanup: avoid warnings for mc-library on x86_64
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2010-02-26 10:58:49 +02:00
Andrew Borodin
a78115ad8e Fixed variable declarations and added missing includes.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2010-02-24 16:22:43 +00:00
Andrew Borodin
9b36242128 Ticket #1972: fixed broken monochrom support in NCurses-based MC.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2010-02-24 13:54:32 +00:00
Andrew Borodin
56bf77ae57 Ticket #1926: Ctrl-\ key behaviour in NCurses-based MC.
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>
2010-02-06 13:21:25 +03:00
Andrew Borodin
6354f6b265 Fixed unused variables.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2010-02-02 21:45:21 +03:00
Andrew Borodin
0bd03e07f5 Ticket #1990: code cleanup before 4.7.0.2 release.
Fixed warings: local variable shadows a global declaration.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
Signed-off-by: Ilia Maslakov <il.smind@gmail.com>
2010-02-02 21:45:05 +03:00
Rainer Tammer
476145a0f5 patches for AIX with ncurses support
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2010-01-27 10:04:38 +02:00
Slava Zanko
862652bd1b Move src/cons.saver into src/consaver/* subdir
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2010-01-26 10:30:26 +02:00
Slava Zanko
cd4dbf3a09 Changes for build after moving strutil into lib
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2010-01-26 10:30:24 +02:00
Slava Zanko
93dbc46e9c Reorganization of sources. Part 1.
* 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>
2010-01-26 10:30:23 +02:00
Slava Zanko
39d5b94cac Reorganized pathes to files in '#include' directives 2010-01-26 10:30:22 +02:00
Slava Zanko
ddb9ada2e8 Changes in sources matched with mass movement of $(srcdir)/src/*/ into $(srcdir)/lib/*/
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2010-01-26 10:30:22 +02:00
Slava Zanko
4f11e4b665 Massive moved some dirs from $(srcdir)/src into $(srcdir)/lib
Moved subdirs:
 * filehighlight
 * mcconfig
 * search
 * skin
 * tty

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2010-01-26 10:30:22 +02:00