Summary
Midnight-Commander is not opening jar/war archives anymore.
I will spare out a detailed description, because the problem is exactly this:
https://midnight-commander.org/ticket/4502
There’s also a sample.war attached in the ticket for testing.
My current workaround was to disable the regex file type matcher and add shell matchers:
--- /etc/mc/mc.ext.ini 2024-12-03 13:13:25.000000000 +0100
+++ /home/matthias/.config/mc/mc.ext.ini 2025-02-16 10:01:57.815442546 +0100
@@ -928,6 +928,19 @@
Open=%cd %p/uwim://
View=%view{ascii} /usr/libexec/mc/ext.d/archive.sh view wim
+# FIX: this is a fix for a bug in the types matcher
+[jar]
+Shell=.jar
+ShellIgnoreCase=true
+Open=%cd %p/uzip://
+View=%view{ascii} /usr/libexec/mc/ext.d/archive.sh view zip
+
+# FIX: this is a fix for a bug in the types matcher
+[war]
+Shell=.war
+ShellIgnoreCase=true
+Open=%cd %p/uzip://
+View=%view{ascii} /usr/libexec/mc/ext.d/archive.sh view zip
######### Files by Type #########
@@ -1128,11 +1141,12 @@
Open=%cd %p/uzip://
View=%view{ascii} /usr/libexec/mc/ext.d/archive.sh view zip
-[jar]
-Type=\\(Java (Jar file|archive) data \\((zip|JAR)\\)\\)
-TypeIgnoreCase=true
-Open=%cd %p/uzip://
-View=%view{ascii} /usr/libexec/mc/ext.d/archive.sh view zip
+# BUG: Currently this is not working
+#[jar]
+#Type=\\(Java (Jar file|archive) data \\((zip|JAR)\\)\\)
+#TypeIgnoreCase=true
+#Open=%cd %p/uzip://
+#View=%view{ascii} /usr/libexec/mc/ext.d/archive.sh view zip
[lha]
Type=^LHa .*archive
This should’ve been fixed with the previous version, but the problem still persists on my system:
LC_MESSAGES=C mc -V
GNU Midnight Commander 4.8.32
Built with GLib 2.82.2
Built with S-Lang pre2.3.4-16 with terminfo database
Built with libssh2 1.11.1
With builtin editor
With subshell support as default
With support for background operations
With mouse support on xterm and Linux console
With support for X11 events
With internationalization support
With multiple codepages support
With ext2fs attributes support
Virtual File Systems:
cpiofs, tarfs, sfs, extfs, ftpfs, sftpfs, shell
Data types:
char: 8; int: 32; long: 64; void *: 64; size_t: 64; off_t: 64;
inxi -b
System:
Kernel: 6.13.1-1-default arch: x86_64 bits: 64
Desktop: KDE Plasma v: 6.3.0 Distro: openSUSE Tumbleweed 20250211
Machine:
Type: Desktop System: ASUS product: N/A v: N/A serial: <superuser required>
Mobo: ASUSTeK model: PRIME X670E-PRO WIFI v: Rev 1.xx
serial: <superuser required> UEFI: American Megatrends v: 3067
date: 12/10/2024
CPU:
Info: 12-core AMD Ryzen 9 9900X [MT MCP] speed (MHz): avg: 2999
min/max: 600/5658
Graphics:
Device-1: NVIDIA TU104 [GeForce RTX 2070 SUPER] driver: nvidia v: 570.86.16
Device-2: Logitech HD Pro Webcam C920 driver: snd-usb-audio,uvcvideo
type: USB
Display: wayland server: X.org v: 1.21.1.15 with: Xwayland v: 24.1.5
compositor: kwin_wayland driver: X: loaded: nvidia
unloaded: modesetting,vesa gpu: nvidia,nvidia-nvswitch
resolution: 2560x1440~60Hz
API: OpenGL v: 4.6.0 vendor: nvidia v: 570.86.16 renderer: NVIDIA GeForce
RTX 2070 SUPER/PCIe/SSE2
Info: Tools: api: clinfo, eglinfo, glxinfo, vulkaninfo
de: kscreen-console,kscreen-doctor wl: wayland-info
x11: xdpyinfo, xprop, xrandr
Network:
Device-1: Realtek RTL8125 2.5GbE driver: r8169
Device-2: MEDIATEK MT7922 802.11ax PCI Express Wireless Network Adapter
driver: mt7921e
Drives:
Local Storage: total: 1.82 TiB used: 522.4 GiB (28.0%)
Info:
Memory: total: 64 GiB available: 62.45 GiB used: 10.26 GiB (16.4%)
Processes: 589 Uptime: 2h 50m Shell: Zsh inxi: 3.3.37
Is anybody else experience the same behavior or have an idea why the official fix is not working?