rtfm-filemanager 3.20 → 3.25
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/bin/rtfm +27 -23
- metadata +3 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 354d37b0c84cd1a4bc9f1c6923076ab0d8acdebccca9933aac966edd918125ca
|
4
|
+
data.tar.gz: 0d393395786e90b8b18053fade19043c2525a8736a546ed0e9fa9f44c98c0238
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fdb5804d4f2a6271168652e80f8c9c71697aa7e42aff709c5aeb37868595b69b5cdc8fb8029b00e3f4bb80ad4c53853023ca69a0fa77e89924522a8e076e06ee
|
7
|
+
data.tar.gz: 96c982c709424a6eb32a3d63208a2360d209fefb1771241cbb359156482d22b314f799f59818f4879def92f093a88759badcd187607c1ce85728d0b508a6e2c1
|
data/bin/rtfm
CHANGED
@@ -14,7 +14,7 @@
|
|
14
14
|
# for any damages resulting from its use. Further, I am under no
|
15
15
|
# obligation to maintain or extend this software. It is provided
|
16
16
|
# on an 'as is' basis without any expressed or implied warranty.
|
17
|
-
@version = "3.
|
17
|
+
@version = "3.25"
|
18
18
|
|
19
19
|
# PRELIMINARIES
|
20
20
|
@help = <<HELPTEXT
|
@@ -202,7 +202,7 @@ RTFMLAUNCH
|
|
202
202
|
|
203
203
|
puts @firstrun
|
204
204
|
puts "\n... hit ENTER to start RTFM. Hit ? inside RTFM to show the help text. Enjoy :-)"
|
205
|
-
|
205
|
+
$stdin.gets
|
206
206
|
end
|
207
207
|
begin # BASIC SETUP
|
208
208
|
require 'fileutils'
|
@@ -229,7 +229,7 @@ begin # BASIC SETUP
|
|
229
229
|
|
230
230
|
cmd?('bat') ? @bat = "bat" : @bat = "batcat"
|
231
231
|
|
232
|
-
|
232
|
+
$stdin.set_encoding(Encoding::UTF_8) # Set encoding for $stdin
|
233
233
|
|
234
234
|
## Curses setup
|
235
235
|
Curses.init_screen
|
@@ -347,27 +347,28 @@ def getchr # PROCESS KEY PRESSES
|
|
347
347
|
# Note: Curses.getch blanks out @w_t
|
348
348
|
# @w_l.getch makes Curses::KEY_DOWN etc not work
|
349
349
|
# Therefore resorting to the generic method
|
350
|
-
c =
|
350
|
+
c = $stdin.getch(min: 0, time: 3)
|
351
351
|
case c
|
352
352
|
when "\e" # ANSI escape sequences
|
353
|
-
|
353
|
+
return "ESC" if $stdin.ready? == nil
|
354
|
+
case $stdin.getc
|
354
355
|
when '[' # CSI
|
355
|
-
case
|
356
|
+
case $stdin.getc
|
356
357
|
when 'A' then chr = "UP"
|
357
358
|
when 'B' then chr = "DOWN"
|
358
359
|
when 'C' then chr = "RIGHT"
|
359
360
|
when 'D' then chr = "LEFT"
|
360
361
|
when 'Z' then chr = "S-TAB"
|
361
|
-
when '2' then chr = "INS" ; chr = "C-INS" if
|
362
|
-
when '3' then chr = "DEL" ; chr = "C-DEL" if
|
363
|
-
when '5' then chr = "PgUP" ; chr = "C-PgUP" if
|
364
|
-
when '6' then chr = "PgDOWN" ; chr = "C-PgDOWN" if
|
365
|
-
when '7' then chr = "HOME" ; chr = "C-HOME" if
|
366
|
-
when '8' then chr = "END" ; chr = "C-END" if
|
362
|
+
when '2' then chr = "INS" ; chr = "C-INS" if $stdin.getc == "^"
|
363
|
+
when '3' then chr = "DEL" ; chr = "C-DEL" if $stdin.getc == "^"
|
364
|
+
when '5' then chr = "PgUP" ; chr = "C-PgUP" if $stdin.getc == "^"
|
365
|
+
when '6' then chr = "PgDOWN" ; chr = "C-PgDOWN" if $stdin.getc == "^"
|
366
|
+
when '7' then chr = "HOME" ; chr = "C-HOME" if $stdin.getc == "^"
|
367
|
+
when '8' then chr = "END" ; chr = "C-END" if $stdin.getc == "^"
|
367
368
|
else chr = ""
|
368
369
|
end
|
369
370
|
when 'O' # Set Ctrl+ArrowKey equal to ArrowKey; May be used for other purposes in the future
|
370
|
-
case
|
371
|
+
case $stdin.getc
|
371
372
|
when 'a' then chr = "C-UP"
|
372
373
|
when 'b' then chr = "C-DOWN"
|
373
374
|
when 'c' then chr = "C-RIGHT"
|
@@ -376,17 +377,19 @@ def getchr # PROCESS KEY PRESSES
|
|
376
377
|
end
|
377
378
|
end
|
378
379
|
when "", "" then chr = "BACK"
|
379
|
-
when "" then chr = "WBACK"
|
380
|
-
when "" then chr = "LDEL"
|
381
380
|
when "" then chr = "C-C"
|
382
381
|
when "" then chr = "C-D"
|
382
|
+
when "" then chr = "C-E"
|
383
383
|
when "" then chr = "C-G"
|
384
|
+
when "" then chr = "C-K"
|
384
385
|
when "" then chr = "C-L"
|
385
386
|
when "" then chr = "C-N"
|
386
387
|
when "" then chr = "C-O"
|
387
388
|
when "" then chr = "C-P"
|
388
389
|
when "" then chr = "C-T"
|
389
390
|
when "" then chr = "C-Y"
|
391
|
+
when "" then chr = "WBACK"
|
392
|
+
when "" then chr = "LDEL"
|
390
393
|
when "\r" then chr = "ENTER"
|
391
394
|
when "\t" then chr = "TAB"
|
392
395
|
when /[[:print:]]/ then chr = c
|
@@ -484,11 +487,11 @@ def main_getkey # GET KEY FROM USER
|
|
484
487
|
# JUMPING AND MARKS
|
485
488
|
when 'm' # Set mark
|
486
489
|
marks_info
|
487
|
-
m =
|
490
|
+
m = $stdin.getc
|
488
491
|
if m.match(/[\w']/)
|
489
492
|
@marks[m] = Dir.pwd
|
490
493
|
elsif m == "-"
|
491
|
-
r =
|
494
|
+
r = $stdin.getc
|
492
495
|
@marks.delete(r)
|
493
496
|
end
|
494
497
|
marks_info
|
@@ -643,7 +646,7 @@ def main_getkey # GET KEY FROM USER
|
|
643
646
|
@tagged.push("\"#{Dir.pwd}/#{@selected}\"")
|
644
647
|
@tagged.uniq!
|
645
648
|
deletes = @tagged.join(" ")
|
646
|
-
if
|
649
|
+
if $stdin.getc == 'y'
|
647
650
|
`rm -rf #{deletes} 2>/dev/null`
|
648
651
|
items_number = @tagged.length
|
649
652
|
@tagged = []
|
@@ -937,7 +940,6 @@ def main_getkey # GET KEY FROM USER
|
|
937
940
|
@w_r.update = true if dir != Dir.pwd
|
938
941
|
rescue
|
939
942
|
end
|
940
|
-
#$STDIN = ""
|
941
943
|
end
|
942
944
|
def conf_write
|
943
945
|
if File.exist?(Dir.home+'/.rtfm.conf')
|
@@ -1141,9 +1143,11 @@ def open_selected(html = nil) # OPEN SELECTED ITEM (when pressing RIGHT)
|
|
1141
1143
|
system("exec $EDITOR #{@selected_safe}")
|
1142
1144
|
else
|
1143
1145
|
if @runmailcap
|
1144
|
-
Thread.new { system("run-mailcap #{@selected_safe} 2>/dev/null") }
|
1146
|
+
#Thread.new { system("run-mailcap #{@selected_safe} 2>/dev/null") }
|
1147
|
+
system("run-mailcap #{@selected_safe} 2>/dev/null")
|
1145
1148
|
else
|
1146
|
-
Thread.new { system("xdg-open #{@selected_safe} 2>/dev/null") }
|
1149
|
+
#Thread.new { system("xdg-open #{@selected_safe} 2>/dev/null") }
|
1150
|
+
system("xdg-open #{@selected_safe} 2>/dev/null")
|
1147
1151
|
end
|
1148
1152
|
end
|
1149
1153
|
@break = true
|
@@ -1590,8 +1594,8 @@ def w_b_getstr(pretext, text, ruby=false) # A SIMPLE READLINE-LIKE ROUTINE
|
|
1590
1594
|
@history_copy[stk].insert(pos,chr)
|
1591
1595
|
pos += 1
|
1592
1596
|
end
|
1593
|
-
while
|
1594
|
-
chr =
|
1597
|
+
while $stdin.ready?
|
1598
|
+
chr = $stdin.getc
|
1595
1599
|
@history_copy[stk].insert(pos,chr)
|
1596
1600
|
pos += 1
|
1597
1601
|
end
|
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: '3.
|
4
|
+
version: '3.25'
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Geir Isene
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-10-
|
11
|
+
date: 2024-10-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: curses
|
@@ -47,8 +47,7 @@ dependencies:
|
|
47
47
|
description: 'A full featured terminal browser with syntax highlighted files, images
|
48
48
|
shown in the terminal, videos thumbnailed, etc. You can bookmark and jump around
|
49
49
|
easily, delete, rename, copy, symlink and move files. RTFM has a a wide range of
|
50
|
-
other features. New in 3.
|
51
|
-
rtfm without the launcher ''r''. 3.20: Added launcher for the fish shell.'
|
50
|
+
other features. New in 3.25: Fixed the strange ESC bug'
|
52
51
|
email: g@isene.com
|
53
52
|
executables:
|
54
53
|
- rtfm
|