rtfm-filemanager 5.2 → 5.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 +5 -25
  3. metadata +3 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a3f89f1d024d3c4866b12f358b84e8e28211ece6fd9976fd53263cb7dcb03ad6
4
- data.tar.gz: 448e0787d18c2f1d1d9e0bc6b064cfed3da3dc30e4e88a3950aab0d6d65b752c
3
+ metadata.gz: 8b36bdc259840435d9b71deaea0bee4abdb1facdd3b0371549fc49d90c01fc92
4
+ data.tar.gz: d0c48761155ca6e31bf2a0ec78004925e1f2ae1e41bb944f885a4cf923c339a2
5
5
  SHA512:
6
- metadata.gz: cd5c43847c963e812d58fb38b65d2f338a93761d4e403f403ed7c9ebcf77f319abfb9515d646745b1067dc729c60afcbfddde13324dfedbd7c1328100cdd5791
7
- data.tar.gz: 6c860d211baeeb6ee115874ff462e26b0cb68113baa644bf9507cd5466fa53bed564c50a1a05f463cbb6e3d1abed8212e676809e346f4dddff1b4e2eb1a89ae1
6
+ metadata.gz: d7fedf5273a6d46f61d3f328d379f2c480d9b21375a837765803c59b29eca9631f5e5a862ca9346497c6e73b38a6c40a84b0215db28f6c574e721a1ffd237c0a
7
+ data.tar.gz: 3f49418f17c471b2d8f2ab60e450cc41cca89c64b857921d47bf9891dbed980a55b76aa5b0d8044061c1bab60144d1dde0c0f1f532e813c56b485b767eed7c41
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 = '5.2' # Added git to interactive programs
21
+ @version = '5.4' # Removed tty startup/exit codes as rcurses now handles that
22
22
 
23
23
  # BOOTSNAP {{{1
24
24
  cache_dir = ENV.fetch('BOOTSNAP_CACHE_DIR', File.join(Dir.home, '.rtfm', 'bootsnap-cache'))
@@ -427,7 +427,7 @@ $stdin.set_encoding(Encoding::UTF_8)
427
427
  @border = 1 # Set initial border config; 0 = none, 1 = Right pane, 2 = both panes, 3 = Left pane
428
428
  @preview = true # Preview in the Right pane
429
429
  @trash = false # Delete files permanently rather than moving them to ~/.rtfm/trash
430
- @interactive = 'fzf,navi,top,htop,less,vi,vim,ncdu,sh,zsh,bash,fish,git'
430
+ @interactive = 'fzf,navi,top,htop,less,vi,vim,nvim,ncdu,sh,zsh,bash,fish,git'
431
431
  ### Not saved (but can be set in ~/.rtfm/conf)
432
432
  @topcolor = 249 # Default Top pane bg color
433
433
  @topmatch = [['', 249]] # Default Top pane bg color for matching directories
@@ -1906,11 +1906,6 @@ def exit_rtfm # CLEAN EXIT {{{2
1906
1906
  rescue StandardError # rubocop:disable Lint/SuppressedException
1907
1907
  end
1908
1908
  end
1909
- # Restore terminal state
1910
- $stdin.cooked!
1911
- $stdin.echo = true
1912
- Rcurses.clear_screen
1913
- Cursor.show
1914
1909
  # Also record for the 'r' launcher
1915
1910
  last = File.join(Dir.home, '.rtfm_last_dir')
1916
1911
  begin
@@ -2073,16 +2068,11 @@ def open_selected(html = nil) # OPEN SELECTED ITEM (when pressing RIGHT or via o
2073
2068
  return
2074
2069
  end
2075
2070
  if File.read(@selected).force_encoding('UTF-8').valid_encoding? # Pure text
2076
- system("stty #{ORIG_STTY} < /dev/tty") # Restore terminal so $EDITOR can take over
2077
- system('clear < /dev/tty > /dev/tty') # Clear RTFM off the screen
2078
2071
  Cursor.show
2072
+ $stdin.raw!
2073
+ $stdin.echo = false
2079
2074
  editor = ENV.fetch('EDITOR', 'vi') # Launch $EDITOR on the real TTY
2080
- pid = Process.spawn(editor, Shellwords.escape(@selected),
2081
- in: '/dev/tty',
2082
- out: '/dev/tty',
2083
- err: '/dev/tty')
2084
- Process.wait(pid)
2085
- system('stty raw -echo isig < /dev/tty') # Re-enter raw/no-echo mode and hide cursor
2075
+ system("#{editor} #{Shellwords.escape(@selected)}")
2086
2076
  $stdin.raw!
2087
2077
  $stdin.echo = false
2088
2078
  Cursor.hide
@@ -2155,9 +2145,6 @@ Signal.trap('WINCH') do
2155
2145
  render
2156
2146
  end
2157
2147
 
2158
- ## Set terminal to raw w/o echo {{{2
2159
- $stdin.raw!
2160
- $stdin.echo = false
2161
2148
 
2162
2149
  ## One-time flush {{{2
2163
2150
  $stdin.getc while $stdin.wait_readable(0)
@@ -2183,11 +2170,4 @@ rescue StandardError => e
2183
2170
  errormsg('⚠ Internal Error', e)
2184
2171
  end
2185
2172
 
2186
- at_exit do # Always restore terminal state on quit (or fatal)
2187
- $stdin.cooked!
2188
- $stdin.echo = true
2189
- Rcurses.clear_screen
2190
- Cursor.show
2191
- end
2192
-
2193
2173
  # vim: set sw=2 sts=2 et fdm=marker fdn=2 fcs=fold\:\ :
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: '5.2'
4
+ version: '5.4'
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-05-06 00:00:00.000000000 Z
11
+ date: 2025-05-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rcurses
@@ -54,7 +54,7 @@ dependencies:
54
54
  version: '7.4'
55
55
  description: |-
56
56
  Major release - RTFM v5: Complete rewrite using rcurses (https://github.com/isene/rcurses). Massive improvements. AI integration.
57
- A full featured terminal browser with syntax highlighted files, images shown in the terminal, videos thumbnailed, etc. 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. 5.2: Added git to interactive programs.
57
+ A full featured terminal browser with syntax highlighted files, images shown in the terminal, videos thumbnailed, etc. 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. 5.4: Removed tty startup/exit codes as rcurses now handles that.
58
58
  email: g@isene.com
59
59
  executables:
60
60
  - rtfm