Commit Graph

485 Commits

Author SHA1 Message Date
Ilia Maslakov
27545f1745 rework screen.c keymapping
Signed-off-by: Ilia Maslakov <il.smind@google.com>
2009-09-29 17:42:33 +00:00
Ilia Maslakov
71b1a8bf99 Ticket #212 (User defined hotkeys)
created structs:
    struct name_key_map_t
    struct key_config_t
    global_key_map_t
    add lookup_action
    replace editor key map struct to global_key_map_t
    add main_map screen_map
    replace command CK_* to src/cmddef.h
    add mc.keymap
    fix misc/Makefile.am
    add x_keymap
    add more commands

Signed-off-by: Ilia Maslakov <il.smind@google.com>
2009-09-29 17:42:32 +00:00
Slava Zanko
197d5efa28 Ticket #380: About colors schemes (reopened ticket)
Original message:

If invalid skin name is set via command line (or config file, or environment variable),
then mc starts silently like -b -a mode. Two proposals, if required skin cannot be found:
 *. Show error message "Cannot find skin"
 *. Load the default.ini skin instead of set -a -c mode.

Fix issue:
Mc now more verbose if skin not found:
{{{
_("Unable to load '%s' skin.\nDefault skin has been loaded")
}}}
or if skin not parse:
{{{
_("Unable to parse '%s' skin.\nDefault skin has been loaded")
}}}
Translators: please, update your translates.

Also, mc will try to load 'default' skin before switch to 'b&w' scheme.

This commit adds ability to usage GError - glib error handling.

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-09-28 20:54:20 +03:00
Andrew Borodin
4e38a3ead0 Ticket #1604: add support of CP866 locale.
Initial step: fix MC initalization.
Check codeset after initalization of TTY layer.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-09-21 16:34:15 +04:00
Slava Zanko
981fe001d1 Base support of skins.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-09-18 11:49:44 +03:00
Ilia Maslakov
e9a49c83a1 fix: not defined cp_source after autocorrect codeset
Signed-off-by: Ilia Maslakov <il.smind@google.com>
2009-09-16 13:45:08 +00:00
Andrew Borodin
c6ff13821d Modified mouse initialization.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-09-14 15:11:59 +04:00
Ilia Maslakov
86d8c89f6a Add menu entry for editing filehighlight.ini (Rules for filenames highlighting)
Signed-off-by: Ilia Maslakov <il.smind@google.com>

Some fixies after patch of Ilia Maslakov.
* Fixed pathes to rules-highlight files.
* Added on-fly refresh of rules after editing.

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-09-03 13:12:48 +03:00
Slava Zanko
4afc04eedc Ticket #418: File coloring
Added support of filenames highlighting in panels.

Now rules of highlighting described into external file filehighlight.ini
Number of highlight rules is unlimited (in opposite to X-Stranger patch).

Highlight will made by:
 * file type (directory, regular, symlink, special device etc.)
 * extensions of filenames (ends of filenames)
 * regular expressions

Big thanks to X-Stranger <x@linux.by> for idea
and to Alexey Kaminsky <alexeykaminsky@gmail.com> for testing.

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-09-03 13:12:17 +03:00
Andrew Borodin
f9d6bb075c Ticket #1562: simplfication API of QuickDialog.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-09-03 11:39:57 +04:00
Slava Zanko
88b4ce4cbe Ticket #390: remove own 'libpopt' stuff.
We really not need for all libpopt features.
As fact, simple POSIX getopt() is enough.
But if we have glib - we must use glib for unification.

Created two files: src/args.c and src/args.h
Parce of command line options now processed in these files.

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-09-02 14:32:32 +03:00
Andrew Borodin
179e516c2a VFS: moved vfs_translate_url() declaration to the public scope.
Fixed missed includes.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-08-24 09:31:26 +04:00
Slava Zanko
678e10a3ed Ticket #277: mc hangs if mouse support enabled on konsole-256color terminal
Added recognize for 'konsole' terminal into init_xterm_support() function.

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-08-19 12:30:53 +03:00
Ilia Maslakov
4afee14f94 Ticket #1529 (remove search converter overhead)
* add: void tty_print_anychar (int c)
    * remove superfluous search converter in convert_from_utf_to_current_c,
      convert_from_8bit_to_utf_c add converter to WEdit struct
    * fix: init defaulf codesets
    * fix: segfault on replace if LANG=C

Signed-off-by: Ilia Maslakov <il.smind@gmail.com>
2009-08-18 05:52:40 +00:00
Andrew Borodin
bc09ff3888 Ticket #1414: implemented scalable TUI.
Thanks to E.L.K.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-08-17 15:54:39 +04:00
Martin Petricek
3033429645 Ticket #268 (Allow using SI-based size prefixes)
* add: switching between old (default) 1024 based "binary" prefixes
           and SI (1000 based) size prefixes when displaying file sizes

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

    Size in SI units: changed option name and description.

    * Changed option name in 'Configuration options' dialog.
    * Moved description to proper section in man page.
    * Added russian translation.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-08-17 11:14:59 +00:00
Slava Zanko
1a3e71c03c Ticket #186: prompt fixups
TestCase:
 * Have a mc running where you have two different directories in each panel.
 * Tab, so that you are in the other panel.
 * Ctrl-O to go to subshell.
 * You see two different prompts printed next to each other.

Fix issue:
In function src/main.c:do_update_prompt(): added '\r\n' before show prompt.

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-08-13 10:01:44 +03:00
Andrew Borodin
e7ac83b48a Modified the hintbar draw update.
Since midnight_dlg can be invisible during screen resize,
don't update the hintbar in SIGWING signal handling function.
Now the hintbar is updated during DLG_DRAW message handling
in mignight_dlg callback.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-08-12 21:23:55 +04:00
Andrew Borodin
5feea4aead Fixed dialog colors definition, setup and handling.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-08-12 21:23:55 +04:00
Andrew Borodin
0c278498d5 src/main.c: minor refactoring
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-08-12 21:23:55 +04:00
Andrew Borodin
d1122efe92 TTY: moved SIGWINCH setup function to TTY layer.
Also renamed SIGWINCH signal handler.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-08-12 21:23:55 +04:00
Andrew Borodin
cf2ecb4491 Moved do_possible_cd() function from main.c to execute.c.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-08-12 21:23:55 +04:00
Andrew Borodin
d21c8dc448 Screen: moved maybe_cd() function from main.c to screen.c.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-08-12 21:23:55 +04:00
Andrew Borodin
5cd4a8ad83 Moved panel update functions from main.c to screen.c.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-08-12 21:23:55 +04:00
Andrew Borodin
c43bb6f576 TTY: moved alternate_plus_minus variable to TTY layer.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-08-12 21:23:55 +04:00
Andrew Borodin
e7b35b6ef0 Dialog: create own copy of colors.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-08-12 21:23:54 +04:00
Andrew Borodin
bd0d344802 TTY: moved repaint_screen() from src/main.[ch] to src/layout.[ch].
Fixed includes.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-08-12 21:23:54 +04:00
Andrew Borodin
05f3ee1f6c TTY: modifed initialization.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-08-12 21:23:54 +04:00
Andrew Borodin
508c20c92d TTY: modified color initialization.
Set color mode via tty_init_colors() function.
Made disable_colors and force_colors variables static in main.h.
Removed tty_disable_colors() function.
Some code optimization.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-08-12 21:23:54 +04:00
Andrew Borodin
6b07af2fc4 Some modification of initialization.
home_dir variable intialization is moved from main() to OS_setup().
Fixed memory leak ('shell' variable).
2009-08-12 21:23:54 +04:00
Andrew Borodin
46559fd764 TTY: renamed functions.
getch have been renamed to tty_lowlevel_getch.
mi_getch have been renamed to tty_getch.
get_event have been renamed to tty_get_event.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-08-12 21:23:54 +04:00
Andrew Borodin
0827144b5f TTY: renamed functions.
init_curses have been renamed to tty_init_curses.
init_lang have been renamed to tty_init_slang.
2009-08-12 21:23:13 +04:00
Andrew Borodin
5ac4a4ec1a TTY: new function: tty_display_8bit().
tty_display_8bit() is used instead of NCurses meta() and
S-Lang SLsmg_Display_Eight_Bit.
2009-08-12 21:23:13 +04:00
Andrew Borodin
4e40f6e98f Screen repainting modifications.
src/main.c (repaint_screen): call tty_touch_screen() here.

src/execute.c (toggle_panels): fixed comment.
Call repaint_screen() instead of do_refresh().

src/cmd.c (do_view_cmd): small optimization.
(do_edit_at_line): likewise.
(swap_cmd): since tty_touch_screen() is called in repaint_screen()
now, don't call it here.
2009-08-12 21:23:13 +04:00
Andrew Borodin
87408d00e9 TTY: separate color initalization.
The call of color initialization function (tty_init_colors()) is moved out
from init_curses() function. Thus we avoid the color reinitialization
in SIGWINCH hangling function.
2009-08-12 21:23:13 +04:00
Andrew Borodin
28580ca023 done_screen() is moved from src/layout.c to src/main.c. 2009-08-12 21:23:13 +04:00
Andrew Borodin
16a15c0ee2 New functions.
tty_noecho() is used instead of noecho() function or macro.
tty_flush_input() is used instead of flushinp() function or macro.
tty_reset_screen() is used instead of endwin() function or macro.
tty_shutdown() is based on slang_shutdown(). Also implemented for
NCurses as wrapper for endwin().
2009-08-12 21:23:12 +04:00
Andrew Borodin
86f77f3cb2 New functions.
tty_touch_screen() is used instead of touchwin() function or macro.
tty_set_normal_attrs() is used instead of standend() function or macro.
tty_set_alt_charset() is used instead of acs() and noacs()
functions or macros.
tty_baudrate() is used instead of baudrate() function or macro.
2009-08-12 21:23:12 +04:00
Andrew Borodin
c4dc0b22b0 Set dialogs colors is moved from TTY layer to MC core. 2009-08-12 21:23:12 +04:00
Andrew Borodin
f1670d735e Fixed commnets about #include's. 2009-08-12 21:23:12 +04:00
Andrew Borodin
5a5a8bd3c0 Reorganization of key and window management functions. 2009-08-12 21:23:12 +04:00
Andrew Borodin
bcc6a40486 Reorganization of TTY initalization and line drawing.
Created some TTY functions instead of MC core global variables.
Moved init_layer() function from MC core to TTY layer.
Renamed slang_init() to init_slang().
Added required #include's in TTY layer.
Moved S-Lang color and attribute definitions from src/tty/tty-slang.h
to colors-slang.h.
2009-08-12 21:23:12 +04:00
Andrew Borodin
069aab9ebc Renamed mc_refresh() to tty_refresh(). 2009-08-12 21:22:17 +04:00
Andrew Borodin
389e5bf613 Moved rxvt.c, win.[ch] and x11con.[ch] from src to src/tty directory.
Fixed includes.
Fixed library order in src/Makefile.am due to --as-needed linking option.
2009-08-12 21:19:20 +04:00
Andrew Borodin
f3730bdc41 Initial step to move TTY layer of MC to separate library. 2009-08-12 21:19:20 +04:00
Andrew Borodin
c6812961cc Ticket #1404: Ctrl-C kills mc.
If MC built with --without-subshell option is run with -d option,
the Ctrl-C key combination closes MC. Such behaviour was introduced
in 66332a4fb1 commit.

This commit actually restores the SIGINT signal handling which was
before 66332a4fb1 commit.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-08-04 15:29:37 +04:00
Stan. S. Krupoderov
70fed8b44a Ticket #7: change shortcut C-space processing to calculate multi-directory size
cmd.c: add new behavoiur for C-space, resort only if panel sort type is size
2009-08-03 21:30:10 +04:00
Andrew Borodin
1affb29969 Ticket 1430: added ALT-. shortcut to toggle show hidden files.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-08-03 10:18:48 +03:00
Ilia Maslakov
d92bbf59b6 Ticket #1403 (segfault mcedit after search)
fix: non redefined cp_source after autocorrect codeset
2009-07-13 19:09:50 +00:00
Slava Zanko
cf363ad022 Ticket #391 (history is broken).
Reason:
glib ini-function works only with UTF-8 in files. Bug raised if system charset not UTF-8.

Issue:
 * recode to utf-8 before saving values of ini-params and
 * recode from utf-8 after reading values of ini-params

Also fixed:
 * if system codepage is not UTF-8, panelize named is always in utf-8 and seems as non-sense string.
 * Recode panelize command names into system codepage from utf-8
 * global variable utf8_display now initialized in any case (non-relative to ENABLE_CHARSET)

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-07-13 11:53:16 +03:00