rtfm-filemanager 7.0.14 → 7.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +12 -10
- data/bin/rtfm +22 -8
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3a39d2642135dedd764081bbacf9324552b2e398570d128da2447d8586b30b1d
|
4
|
+
data.tar.gz: e4619be8f3579ad2f2f26b1c2a84b14a8e3712a23f2a33c01225566124209f50
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c576e346669cffe05991d30829c165f24af56435cde8e29906e8fe1aa2faddb8d1fbe0183a063700e4e6532d9b4e2773ebbbe3fb7d6c2c5608f9f479654a8205
|
7
|
+
data.tar.gz: 679467d5bdad962dc4a5e460336f6e3ae5f1b245e187b8d06f27eeeb101ca4980c2aef623be2d2c8078319d0c7fa83b7e6e97c24df19f7bda098658fd04cb6a2
|
data/README.md
CHANGED
@@ -2,16 +2,15 @@
|
|
2
2
|
|
3
3
|
 [](https://badge.fury.io/rb/rtfm-filemanager)  
|
4
4
|
|
5
|
-
## Version
|
5
|
+
## Version 7.1
|
6
6
|
|
7
|
-
Version
|
7
|
+
Version 7.1 adds comprehensive compressed archive viewing capabilities:
|
8
8
|
|
9
|
-
- **
|
10
|
-
- **
|
11
|
-
- **
|
12
|
-
|
13
|
-
|
14
|
-
- **Performance optimizations** and code cleanup for improved stability
|
9
|
+
- **Archive preview** for .zip, .tar, .gz, .tgz, .bz2, .tbz, .tbz2, .xz, .txz, .rar, .7z files
|
10
|
+
- **Smart fallback** for compressed archives vs standalone compressed files
|
11
|
+
- **Seamless integration** with existing preview system
|
12
|
+
|
13
|
+
Version 6.0 introduced comprehensive remote directory browsing capabilities and enhanced user experience improvements including remote SSH/SFTP browsing, SSH shell integration, enhanced help system, and comprehensive undo system.
|
15
14
|
|
16
15
|
Version 5 was a complete rewrite using [rcurses](https://github.com/isene/rcurses) as the underlying library, providing stability, higher quality code and extensive features including optional trash bin, advanced OpenAI integrations, plugin architectures for keybindings, user defined features and file viewers.
|
17
16
|
|
@@ -168,11 +167,14 @@ MS xlsx | `ssconvert` | `apt install gn
|
|
168
167
|
MS doc/xls/ppt | `catdoc`, `xls2csv` and `catppt` | `apt install catdoc`
|
169
168
|
Images | `w3m` and `ImageMagick` | `apt install w3m imagemagick`
|
170
169
|
Video (thumbnails) | `ffmpegthumbnailer` | `apt install ffmpegthumbnailer`
|
170
|
+
Compressed archives | `unzip`, `tar`, `gzip`, `bzip2`, `xz` | `apt install unzip tar gzip bzip2 xz-utils`
|
171
|
+
RAR archives | `unrar` | `apt install unrar`
|
172
|
+
7-Zip archives | `7z` | `apt install p7zip-full`
|
171
173
|
|
172
174
|
Install rtfm from scratch with all of the above on Ubuntu:
|
173
175
|
```
|
174
176
|
sudo apt update
|
175
|
-
sudo apt install ruby-full git libncurses-dev x11-utils xdotool bat pandoc poppler-utils odt2txt docx2txt unzip gnumeric catdoc w3m imagemagick ffmpegthumbnailer
|
177
|
+
sudo apt install ruby-full git libncurses-dev x11-utils xdotool bat pandoc poppler-utils odt2txt docx2txt unzip gnumeric catdoc w3m imagemagick ffmpegthumbnailer tar gzip bzip2 xz-utils unrar p7zip-full
|
176
178
|
sudo gem install rcurses
|
177
179
|
git clone https://github.com/isene/RTFM
|
178
180
|
cd RTFM
|
@@ -181,7 +183,7 @@ sudo cp rtfm /usr/bin/
|
|
181
183
|
Or with a simpler gem install:
|
182
184
|
```
|
183
185
|
sudo apt update
|
184
|
-
sudo apt install ruby-full git libncurses-dev x11-utils xdotool bat pandoc poppler-utils odt2txt docx2txt unzip gnumeric catdoc w3m imagemagick ffmpegthumbnailer
|
186
|
+
sudo apt install ruby-full git libncurses-dev x11-utils xdotool bat pandoc poppler-utils odt2txt docx2txt unzip gnumeric catdoc w3m imagemagick ffmpegthumbnailer tar gzip bzip2 xz-utils unrar p7zip-full
|
185
187
|
gem install rtfm-filemanager
|
186
188
|
```
|
187
189
|
|
data/bin/rtfm
CHANGED
@@ -839,6 +839,14 @@ preview_specs = {
|
|
839
839
|
'doc' => "catdoc @s 2>/dev/null",
|
840
840
|
'xls' => "xls2csv @s 2>/dev/null",
|
841
841
|
'ppt' => "catppt @s 2>/dev/null",
|
842
|
+
# compressed archives
|
843
|
+
'zip' => "unzip -l @s",
|
844
|
+
'tar' => "tar -tvf @s",
|
845
|
+
'gz, tgz' => "tar -tzvf @s 2>/dev/null || gunzip -l @s 2>/dev/null",
|
846
|
+
'bz2, tbz, tbz2' => "tar -tjvf @s 2>/dev/null || bzip2 -l @s 2>/dev/null",
|
847
|
+
'xz, txz' => "tar -tJvf @s 2>/dev/null || xz -l @s 2>/dev/null",
|
848
|
+
'rar' => "unrar l @s 2>/dev/null",
|
849
|
+
'7z' => "7z l @s 2>/dev/null",
|
842
850
|
# images ⇒ nil => call showimage
|
843
851
|
'png, jpg, jpeg, bmp, gif, webp, tif, tiff, svg' => nil,
|
844
852
|
# video ⇒ nil, but detected via pattern below
|
@@ -1474,7 +1482,8 @@ end
|
|
1474
1482
|
|
1475
1483
|
def toggle_long # {{{3
|
1476
1484
|
@lslong = @lslong.empty? ? (@is_macos_bsd ? '-lhT' : '-lh --time-style=long-iso') : ''
|
1477
|
-
@
|
1485
|
+
@pB.say(@lslong.empty? ? ' Long info: Off' : ' Long info: On')
|
1486
|
+
@pL.update = @pR.update = true
|
1478
1487
|
end
|
1479
1488
|
|
1480
1489
|
def toggle_order # {{{3
|
@@ -4302,30 +4311,34 @@ def ruby_debug # {{{3
|
|
4302
4311
|
end
|
4303
4312
|
|
4304
4313
|
# GENERIC FUNCTIONS {{{1
|
4305
|
-
def get_cached_dirlist(dir, ls_options) # {{{2
|
4314
|
+
def get_cached_dirlist(dir, ls_options, ls_options_with_long = nil) # {{{2
|
4315
|
+
# Use ls_options_with_long for display, or fall back to ls_options
|
4316
|
+
ls_options_with_long ||= ls_options
|
4317
|
+
|
4306
4318
|
# Generate cache key with directory mtime for automatic invalidation
|
4319
|
+
# Include ls_options_with_long in cache key so toggling @lslong invalidates cache
|
4307
4320
|
begin
|
4308
4321
|
dir_mtime = File.mtime(dir).to_i
|
4309
|
-
cache_key = "#{dir}:#{
|
4322
|
+
cache_key = "#{dir}:#{ls_options_with_long}:#{dir_mtime}"
|
4310
4323
|
rescue
|
4311
4324
|
return nil # Can't cache if we can't get mtime
|
4312
4325
|
end
|
4313
|
-
|
4326
|
+
|
4314
4327
|
# Return cached result if available and fresh
|
4315
4328
|
cached = @dir_cache[cache_key]
|
4316
4329
|
return cached if cached
|
4317
|
-
|
4330
|
+
|
4318
4331
|
# Clean old cache entries if cache is getting too large
|
4319
4332
|
if @dir_cache_size >= @max_cache_entries
|
4320
4333
|
@dir_cache.clear
|
4321
4334
|
@dir_cache_size = 0
|
4322
4335
|
end
|
4323
|
-
|
4336
|
+
|
4324
4337
|
# Generate new directory listing
|
4325
4338
|
begin
|
4326
4339
|
purels = command("ls #{Shellwords.escape(dir)} #{ls_options}").pure.split("\n")
|
4327
4340
|
color_opt = @is_macos_bsd ? '-G' : '--color'
|
4328
|
-
colorls = command("ls #{color_opt} #{Shellwords.escape(dir)} #{
|
4341
|
+
colorls = command("ls #{color_opt} #{Shellwords.escape(dir)} #{ls_options_with_long}").split("\n")
|
4329
4342
|
|
4330
4343
|
result = { purels: purels, colorls: colorls }
|
4331
4344
|
@dir_cache[cache_key] = result
|
@@ -4490,7 +4503,8 @@ def dirlist(left: true, directory: nil) # LIST DIRECTORIES {{{2
|
|
4490
4503
|
end
|
4491
4504
|
# Use cached directory listing
|
4492
4505
|
ls_options = "#{@lsbase} #{@lsall} #{@lsorder} #{@lsinvert} #{@lsuser}"
|
4493
|
-
|
4506
|
+
ls_options_with_long = "#{ls_options} #{@lslong}".strip
|
4507
|
+
cached = get_cached_dirlist(dir, ls_options, ls_options_with_long)
|
4494
4508
|
|
4495
4509
|
if cached
|
4496
4510
|
purels = cached[:purels]
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rtfm-filemanager
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 7.
|
4
|
+
version: 7.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Geir Isene
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2025-09
|
11
|
+
date: 2025-10-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rcurses
|
@@ -53,7 +53,7 @@ dependencies:
|
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '7.4'
|
55
55
|
description: |-
|
56
|
-
RTFM v7.
|
56
|
+
RTFM v7.1.1: Fixed 'A' key toggle for long file info display - now properly shows ls -l format with user feedback and correct cache invalidation.
|
57
57
|
A full featured terminal browser with syntax highlighted files, images shown in the terminal, videos thumbnailed, etc. Features include remote SSH/SFTP browsing, interactive SSH shell, comprehensive undo system, bookmarks, and much more. You can bookmark and jump around easily, delete, rename, copy, symlink and move files. RTFM is one of the most feature-packed terminal file managers.
|
58
58
|
email: g@isene.com
|
59
59
|
executables:
|