Commit Graph

14853 Commits

Author SHA1 Message Date
Dmitry Solomennikov f815e3593f Ticket #4158: make modarcon16 skin consistent with whitespaces.
Whitespaces (i.e. tabs and trailing spaces) are not consistent with
other parts of skin, they're bright on blue. Makes them green on black
background.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-12-20 17:55:09 +03:00
Andrew Borodin 662754c6f8 Filehighlight fodg, fodp, fods, fodt, odg as documents.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-12-20 17:48:49 +03:00
RALOVICH, Kristof 9db7573de9 Ticket #4157: add support for OpenDocument flax xml formats.
Support fodt, fods, fodp, fodg files.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-12-20 17:44:54 +03:00
Andrew Borodin 08dd7db86a Merge branch '4149_more_terminals'
* 4149_more_terminals:
  Ticket #4149: add 'alacritty', 'tmux', 'tmux-256color' as xterm aliases
2020-12-13 20:19:59 +03:00
Sergei Trofimovich bad1523378 Ticket #4149: add 'alacritty', 'tmux', 'tmux-256color' as xterm aliases
'alacritty', 'tmux' and 'tmux-256color' all implement Shift+F<N> keys
in an xterm-compatible way. Without this change Shift+F<N> are handled
as F<N-2> key presses.

Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-12-13 20:18:48 +03:00
Andrew Borodin 52be505d69 Merge branch '3987_smb_dir_content'
* 3987_smb_dir_content:
  Ticket #3987: implement a workaround if readdir() system call returns with EINTR.
2020-12-13 20:12:58 +03:00
Andrij Abyzov 27de03754f Ticket #3987: implement a workaround if readdir() system call returns with EINTR.
On Linux >= 5.1, MC sometimes shows empty directpries on mounted CIFS
shares. Rereading directory restores the directory content.

(local_opendir): reopen directory, if first readdir() returns NULL and
errno == EINTR.

Signed-off-by: Andrij Abyzov <aabyzov@slb.com>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-12-13 20:12:14 +03:00
Andrew Borodin 446a031350 Merge branch '4147_vfs_timeout'
* 4147_vfs_timeout:
  Drop mc_timer. Use g_get_real_time() instead.
  Ticket #4147: VFS timestamps: use g_get_real_time().
2020-12-12 20:39:40 +03:00
Andrew Borodin 78893d85b8 Drop mc_timer. Use g_get_real_time() instead.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-12-12 20:39:01 +03:00
Andrew Borodin 4a83daacc4 Ticket #4147: VFS timestamps: use g_get_real_time().
In the function vfs_expire(), curr_time and exp_time are declared
guint64. curr_time is initialised with a timestamp and exp_time
with this timestamp minus vfs_timeout seconds. Later there is if
(stamping->time <= exp_time). Prior to commit
a94dd7d2de curr_time was initialised with
a value larger than vfs_timeout seconds, so everything was fine. This
commit changed the initialisation to a timer starting when mc is
started. So for the first vfs_timeout seconds, the result of the
subtraction is negative, but it is a guint64, so we just get a VERY
large unsigned value and the if (stamping->time <= exp_time) is always
true. So mc thinks the vfs hasn't been used recently and goes into an
infinite loop.

If one opens a .rpm file with mc and goes into the CONTENTS.cpio and
then tries to go into the .tar.gz there (this is the usual structure of
a .rpm) after waiting vfs_timeout seconds, everything is fine. However,
before vfs_timeout seconds, mc hangs.

Solution: use g_get_real_time() instead of mc_timer_elapsed().

Thanks nvwarr at hotmail.com for finding out the reason for this bug.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-12-12 20:39:01 +03:00
Andrew Borodin f0a3794b0e Merge branch '4145_long_file_names'
* 4145_long_file_names:
  WTree: get rid of file name limitation in quick search.
  WPanel: get rid of file name limitation in quick search.
  (mc_g_string_copy): new API that extends GString one.
  (string_file_name): get rid of file name length limitation.
  Ticket #4145: file names longer than 255 bytes are not supported.
2020-12-12 20:26:03 +03:00
Andrew Borodin 9ed9f45eac WTree: get rid of file name limitation in quick search.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-12-12 20:23:05 +03:00
Andrew Borodin 4eb1fcd6b7 WPanel: get rid of file name limitation in quick search.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-12-12 20:23:05 +03:00
Andrew Borodin 01f096f52f (mc_g_string_copy): new API that extends GString one.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-12-12 20:23:05 +03:00
Andrew Borodin 0acac06158 (string_file_name): get rid of file name length limitation.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-12-12 20:23:05 +03:00
Andrew Borodin 4c7223e9f2 Ticket #4145: file names longer than 255 bytes are not supported.
Avoid limitation of file name length.

(vfs_dirent): redefined to use instead of standard "struct direct"
to hold file name of any length.
(vfs_class::readdir): return newly allocated vfs_dirent structure.
Related changes.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-12-12 20:23:05 +03:00
Andrew Borodin 3566727870 Merge branch '4142_broken_ctrl_l'
* 4142_broken_ctrl_l:
  Ticket #4142: ctrl-l shortcut (refresh screen) is broken.
2020-11-21 14:54:34 +03:00
Andrew Borodin 258e6bcd57 Ticket #4142: ctrl-l shortcut (refresh screen) is broken.
This bug was introduced in 2e734e5618.

(dlg_handle_key): fallback to dialog_map if shortcut is not defined in
filemanager/editor/viewer/diffviewer key map.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-11-21 14:54:27 +03:00
Andrew Borodin 2225af84f5 Merge branch '4133_clipboard_no_display'
* 4133_clipboard_no_display:
  Ticket #4133: allow running clipboard commands if DISPLAY is not set.
2020-11-21 14:52:04 +03:00
Andrew Borodin 5b44805abf Ticket #4133: allow running clipboard commands if DISPLAY is not set.
This can be used for running a clipboard script (from a virtual terminal)
that autodetects (or requests from sytemctl) the proper values of DISPLAY
and XAUTHORITY without the need of exporting these variables to the whole
virtual terminal session.

(clipboard_file_to_ext_clip): don't test DISPLAY environment variable.
(clipboard_file_from_ext_clip): likewise.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-11-21 14:51:34 +03:00
Andrew Borodin 191d558be8 Merge branch '4077_extfs_leading_got_slash'
* 4077_extfs_leading_got_slash:
  tests: extfs/zip: file names with leading space or dash.
  Revert "urar extfs: don't start path with ./ in file list."
  extfs/uzip: add leading ./ to file name
  Ticket #4077: extfs: handle file names started with dash or space.
2020-11-21 14:48:26 +03:00
Andrew Borodin fc26346cdb tests: extfs/zip: file names with leading space or dash.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-11-21 14:48:06 +03:00
Andrew Borodin 03b9af4e5d Revert "urar extfs: don't start path with ./ in file list."
This reverts commit 6dc337ff90.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-11-21 14:48:06 +03:00
Andrew Borodin b814b3dd02 extfs/uzip: add leading ./ to file name
...to handle files with name started with space or dash.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-11-21 14:48:06 +03:00
Andrew Borodin d3c8e5bad7 Ticket #4077: extfs: handle file names started with dash or space.
* (extfs_open_archive): skip leading ./ in file names. extfs plug-ins
  are added leading ./ to handle files with name started with space.
  * (extfs_cmd): skip leading ./ added in name_quote(). ./ is added to
  handle files with name started with dash.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-11-21 14:48:06 +03:00
Andrew Borodin a2bccac622 Merge branch '4130_unar'
* 4130_unar:
  Ticket #4130: add PAK archive support for extfs.
2020-11-08 17:37:59 +03:00
Ilia Maslakov 954e83191c Ticket #4130: add PAK archive support for extfs.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-11-08 17:36:36 +03:00
Andrew Borodin 7f4960553a Merge branch '4100_wim'
* 4100_wim:
  Ticket #4100: extfs vfs: support of WIM archive (image).
2020-10-29 16:59:03 +03:00
Vadim Kalinnikov 942c5549c9 Ticket #4100: extfs vfs: support of WIM archive (image).
wimtools (https://wimlib.net/) are required.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-10-29 16:58:36 +03:00
Andrew Borodin 5bf714b008 Ticket #4131: use G_UNICODE_SPACING_MARK instead of G_UNICODE_COMBINING_MARK.
G_UNICODE_COMBINING_MARK is deperecated in glib >= 30.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-10-15 15:16:24 +03:00
Andrew Borodin 165ec38444 Merge branch '4103_cleanup'
* 4103_cleanup: (23 commits)
  src/subshell/common.c: clarify author list.
  iso9660.in: use grep directly.
  src/filemanager/chattr.c: support dax attribute.
  m4.include/gnulib/stat-size.m4: shorten https://lists.gnu.org/archive/html/... link.
  m4.include/gnulib/fsusage.m4: produce more regular configure output.
  src/filemanager/find.c: use g_get_real_time() instead of gettimeofday().
  mc_timer: use g_get_real_time() instead of gettimeofday().
  (do_view_cmd): rename parameter.
  (view_file): rename parameter in function declaration.
  (show_editor_viewer_history): fix call of view_file().
  Remove one-line header files.
  Sync with gnulib 85d1d48f6fa89de6a5de9e7794bda3255f0f32aa.
  Remove Cray support.
  Optimize comparisions in file sort functions.
  src/filemanager/boxes.c: rename variables.
  WPanel: reorder fields.
  WPanel: rename "panel_name" fileld to "name".
  WPanel: change type of "active" and "dirty" fields to gboolean.
  WPanel: use structure for quick search fields.
  WPanel: use structure for directory history fields.
  ...
2020-10-13 16:40:07 +03:00
Andrew Borodin 22adc618b2 src/subshell/common.c: clarify author list.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-10-13 16:37:46 +03:00
Andrew Borodin 7a641c0df2 iso9660.in: use grep directly.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-10-13 16:37:46 +03:00
Andrew Borodin 08e1a6ba9e src/filemanager/chattr.c: support dax attribute.
Sync with e2fsprogs 1dd48bc23c3776df76459aff0c7723fff850ea45.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-10-13 16:37:46 +03:00
Andrew Borodin d640a1630a m4.include/gnulib/stat-size.m4: shorten https://lists.gnu.org/archive/html/... link.
Sync with gnulib 2a3dbe99a2aeb058ecb033d7d830e6600e16c91c.

/archive/html/ part can be replace with /r/.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-10-13 16:37:41 +03:00
Andrew Borodin b0dba0a2b5 m4.include/gnulib/fsusage.m4: produce more regular configure output.
Sync with gnulib 875dff5812cb9de949727e1aa399a06b07a886a9.

Remove AC_MSG_CHECKING without corresponding AC_MSG_RESULT.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-10-13 16:34:55 +03:00
Andrew Borodin 5dce2402b0 src/filemanager/find.c: use g_get_real_time() instead of gettimeofday().
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-10-13 16:34:55 +03:00
Andrew Borodin 3143196247 mc_timer: use g_get_real_time() instead of gettimeofday().
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-10-13 16:34:55 +03:00
Andrew Borodin 63aba8f7e2 (do_view_cmd): rename parameter.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-10-13 16:34:55 +03:00
Andrew Borodin 69e0283794 (view_file): rename parameter in function declaration.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-10-13 16:34:55 +03:00
Andrew Borodin f5e7a9d287 (show_editor_viewer_history): fix call of view_file().
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-10-13 16:34:55 +03:00
Andrew Borodin 94fb03c604 Remove one-line header files.
Move declaration of {advanced_chown,chattr,chmod,chown}_cmd() into cmd.h.
Delete src/filemanager/{achown,chattr,chmod,chown}.h

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-10-13 16:34:55 +03:00
Andrew Borodin d21c5946ce Sync with gnulib 85d1d48f6fa89de6a5de9e7794bda3255f0f32aa.
Fix quoting of AC_LANG_PROGRAM arguments.

* m4.include/gnulib//mountlist.m4 (gl_MOUNTLIST): Quote the
AC_LANG_PROGRAM arguments through [[...]].

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-10-13 16:34:55 +03:00
Andrew Borodin c5c561274b Remove Cray support.
Sync with gnulib dea936112710e82dd42ffbea510f3bb644acdaaa.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-10-13 16:34:55 +03:00
Andrew Borodin 375839d657 Optimize comparisions in file sort functions.
Use three-valued comparison macro from gnulib
efa15594e17fc20827dba66414fb391e99905394.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-10-13 16:34:55 +03:00
Andrew Borodin 377476765a src/filemanager/boxes.c: rename variables.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-10-13 16:34:55 +03:00
Andrew Borodin 402f5d0791 WPanel: reorder fields.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-10-13 16:34:55 +03:00
Andrew Borodin 94b7c635a3 WPanel: rename "panel_name" fileld to "name".
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-10-13 16:34:55 +03:00
Andrew Borodin 8550eee2f6 WPanel: change type of "active" and "dirty" fields to gboolean.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-10-13 16:34:55 +03:00
Andrew Borodin da223237c8 WPanel: use structure for quick search fields.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-10-13 16:34:55 +03:00