rtfm-filemanager 7.0.3 → 7.0.4

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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/bin/rtfm +38 -23
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 00df56c1948a1fb636cb0a2f8550cff1b72c31f66afb46b81a260e18c82b3df6
4
- data.tar.gz: 2870a13bc0b991e5b63c9c14f60e61309734dbcec28984d08efccf5ee3f7fb50
3
+ metadata.gz: a278df456b12ebc5d5b36a4652cc8dce21040d7417dd588e6f79f679c8b6eae2
4
+ data.tar.gz: e0c0ac5fceb6eaf57a23e47a8103e3d89174e48c9c77de4f31d55110e234aeaa
5
5
  SHA512:
6
- metadata.gz: cd7f64ef405c93dee1f08d58986ad806bdc4f75719358c8d4a56847b7cbb4c4c09213cc79d7e1584006e594ec47d48d121cf30039dd3112de8d14822ed3ace41
7
- data.tar.gz: 4305ba07990eb664336ecc08f27ab46104d7ecd64eafc00fdc2771ef36c7a4845ab49b6f7d47f9e4b2a6373e72ce092fed385d87a9fea4db5909ce91be808e7d
6
+ metadata.gz: a3e9722cc4aa1d1184268aa894fc8b7bcf0429d77765e44fcff0a72b4ecd490939a18c445a94e291d2718370d8fd4594128b05922fa893d6db33f8c3a0bffda2
7
+ data.tar.gz: c9b6daabc9ec9f8f212eb161300d502c89303bcc68213edab3686925f182cd09c743d9aa7a43e8896052425cbbbf013a769eece4d1235fec55e353a48c4da815
data/bin/rtfm CHANGED
@@ -18,7 +18,7 @@
18
18
  # get a great understanding of the code itself by simply sending
19
19
  # or pasting this whole file into you favorite AI for coding with
20
20
  # a prompt like this: "Help me understand every part of this code".
21
- @version = '7.0.1' # Re-enabled directory caching for major performance improvement
21
+ @version = '7.0.4' # Fixed platform-specific issues for macOS/BSD and improved first-run message
22
22
 
23
23
  # SAVE & STORE TERMINAL {{{1
24
24
  ORIG_STTY = `stty -g`.chomp
@@ -439,26 +439,35 @@ def display_welcome_message # {{{2
439
439
  Next time you run RTFM, you can launch it from your terminal with a one letter command: 'r'
440
440
  When launched this way, RTFM will also exit in the directory you are currently in.\n".b.fg(226)
441
441
  @firstrun += "
442
- To benefit fully from all the features, you need to install some auxiliary software.
443
- On Ubuntu Linux you would use 'apt install':\n".fg(230)
442
+ To benefit fully from all the features, you need to install some auxiliary software.\n".fg(230)
444
443
  @firstrun += "
445
- Basic requirements is 'x11-utils' and 'xdotool': apt install x11-utils xdotool
446
-
447
- Viewers (you may install more sepcialised viewers later:
448
- Syntax highlighting of text uses 'bat': apt install bat
449
- Viewing Markdown uses 'pandoc': apt install pandoc
450
- Viewing PDFs uses 'pdftotext': apt install poppler-utils
451
- Viewing LibreOffice docs uses 'odt2txt': apt install odt2txt
452
- Viewing MS docx uses 'docx2txt': apt install docx2txt
453
- Viewing MS pptx uses 'unzip': apt install unzip
454
- Viewing MS xlsx uses 'ssconvert': apt install gnumeric
455
- Viewing MS doc/xls/ppt uses 'catdoc, xls2csv and catppt': apt install catdoc
456
- Viewing Images uses 'w3m and ImageMagick': apt install w3m imagemagick
457
- Viewing Video thumbnails uses 'ffmpegthumbnailer' apt install ffmpegthumbnailer\n".fg(195)
444
+ Required dependencies:
445
+ • x11-utils (X11 utilities for clipboard support)
446
+ xdotool (for window management features)
447
+
448
+ Recommended viewers (install as needed):
449
+ bat - Syntax highlighting of text files
450
+ pandoc - Viewing Markdown documents
451
+ pdftotext (from poppler-utils) - Viewing PDFs
452
+ odt2txt - Viewing LibreOffice documents
453
+ • docx2txt - Viewing MS Word docx files
454
+ unzip - Viewing MS PowerPoint pptx files
455
+ ssconvert (from gnumeric) - Viewing MS Excel xlsx files
456
+ catdoc, xls2csv, catppt - Viewing older MS Office formats
457
+ • w3m, ImageMagick - Viewing images
458
+ • ffmpegthumbnailer - Video thumbnails\n".fg(195)
458
459
  @firstrun += "
459
- All of the above in one fell swoop:\n".fg(159)
460
+ Installation methods vary by platform:\n".fg(159)
460
461
  @firstrun += "
461
- sudo apt install ruby-full git libncurses-dev x11-utils xdotool bat pandoc poppler-utils odt2txt docx2txt unzip gnumeric catdoc w3m imagemagick ffmpegthumbnailer".b.fg(87)
462
+ Linux (Debian/Ubuntu): Use apt
463
+ • Linux (Fedora/RHEL): Use dnf/yum
464
+ • macOS: Use Homebrew (brew)
465
+ • BSD: Use pkg or ports
466
+
467
+ For Ubuntu/Debian users, install all dependencies with:
468
+ sudo apt install ruby-full git libncurses-dev x11-utils xdotool bat pandoc poppler-utils odt2txt docx2txt unzip gnumeric catdoc w3m imagemagick ffmpegthumbnailer
469
+
470
+ Note: Package names may vary between platforms. The 'libncurses-dev' package is Linux-specific.".b.fg(87)
462
471
  @firstrun += "\n\n
463
472
  You need to install the basic requirements and you should install the viewers before you...
464
473
  ... hit any key to start RTFM. Hit ? inside RTFM to show the full help text. Enjoy :-)\n".fg(214)
@@ -531,7 +540,10 @@ $stdin.set_encoding(Encoding::UTF_8)
531
540
  @rubycolor = 52 # Default color for Ruby pane at bottom
532
541
  @aicolor = 58 # Default color for AI pane at bottom
533
542
  @sshcolor = 54 # Default color for SSH pane at bottom (purple-ish)
534
- @lsbase = '--group-directories-first' # Basic ls setup
543
+
544
+ # Platform detection for ls command options
545
+ @is_macos_bsd = RUBY_PLATFORM =~ /darwin|bsd/i
546
+ @lsbase = @is_macos_bsd ? '' : '--group-directories-first' # Basic ls setup (GNU-specific option)
535
547
  @lsuser = '' # Set this variable in ~/.rtfm/conf to any 'ls' switch you want to customize directory listings
536
548
  @batuse = true # Use batcat for syntax highlighting
537
549
  @runmailcap = false # Set to 'true' in ~/.rtfm/conf if you want to use run-mailcap instead of xdg-open
@@ -1458,7 +1470,7 @@ def toggle_all # {{{3
1458
1470
  end
1459
1471
 
1460
1472
  def toggle_long # {{{3
1461
- @lslong = @lslong.empty? ? '-lh --time-style=long-iso' : ''
1473
+ @lslong = @lslong.empty? ? (@is_macos_bsd ? '-lhT' : '-lh --time-style=long-iso') : ''
1462
1474
  @pR.update = @pB.update = true
1463
1475
  end
1464
1476
 
@@ -4242,7 +4254,8 @@ def get_cached_dirlist(dir, ls_options) # {{{2
4242
4254
  # Generate new directory listing
4243
4255
  begin
4244
4256
  purels = command("ls #{Shellwords.escape(dir)} #{ls_options}").pure.split("\n")
4245
- colorls = command("ls --color #{Shellwords.escape(dir)} #{ls_options} #{@lslong}").split("\n")
4257
+ color_opt = @is_macos_bsd ? '-G' : '--color'
4258
+ colorls = command("ls #{color_opt} #{Shellwords.escape(dir)} #{ls_options} #{@lslong}").split("\n")
4246
4259
 
4247
4260
  result = { purels: purels, colorls: colorls }
4248
4261
  @dir_cache[cache_key] = result
@@ -4412,7 +4425,8 @@ def dirlist(left: true, directory: nil) # LIST DIRECTORIES {{{2
4412
4425
  else
4413
4426
  # No cache available, generate fresh directory listing
4414
4427
  begin
4415
- color_output = command("ls #{Shellwords.escape(dir)} --color=always #{ls_options}")
4428
+ color_opt = @is_macos_bsd ? '-G' : '--color=always'
4429
+ color_output = command("ls #{Shellwords.escape(dir)} #{color_opt} #{ls_options}")
4416
4430
  pure_output = command("ls #{Shellwords.escape(dir)} #{ls_options}")
4417
4431
  purels = pure_output.pure.split("\n")
4418
4432
  colorls = color_output.split("\n")
@@ -4450,7 +4464,8 @@ def dirlist(left: true, directory: nil) # LIST DIRECTORIES {{{2
4450
4464
  @selected = Dir.pwd + '/' + purels[@index]
4451
4465
  sfile = @selected.dup
4452
4466
  sfile += '/' if File.directory?(@selected)
4453
- slsl_cmd = "ls -ldHlh --time-style=long-iso #{Shellwords.escape(sfile)}"
4467
+ time_opt = @is_macos_bsd ? '-T' : '--time-style=long-iso'
4468
+ slsl_cmd = "ls -ldHlh #{time_opt} #{Shellwords.escape(sfile)}"
4454
4469
  slsl = command(slsl_cmd)
4455
4470
  a = slsl.split
4456
4471
  @fileattr = a.size >= 7 ? "#{a[2]}:#{a[3]} #{a[0]} #{a[4]} #{a[5]} #{a[6]}" : ''
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rtfm-filemanager
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.0.3
4
+ version: 7.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Geir Isene
@@ -53,7 +53,7 @@ dependencies:
53
53
  - !ruby/object:Gem::Version
54
54
  version: '7.4'
55
55
  description: |-
56
- RTFM v7.0.0: Breaking change - requires rcurses 6.0.0+ for Ruby 3.4+ compatibility.
56
+ RTFM v7.0.4: Fixed platform compatibility for macOS/BSD and improved first-run message.
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: