rtfm-filemanager 1.6.2 → 1.7.0
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 +67 -75
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3a899d0ccf9e6a27a01d479cf01b1409efc10bd5d46e7d4dda77c74137311615
|
4
|
+
data.tar.gz: c60c059754f4c903d566ff95fed4ff4dae73db6616125e789e013257e6e37d76
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a71f87590b6db21861879e075c912f908c072785b6bcb83fff1b3ca775c0853dd574b571d024a9dd81d9117e954dfebb406098d269b56af69c8e73cebf1ed4cf
|
7
|
+
data.tar.gz: 37d7cc81aff7483d1ab81bcbd0e369b4031ece91f0275bc056fce1edef81f642496df81c15c66f3ebcc2da3bfef3a52f716b74855fc333e2ca5fd79dcebff479
|
data/bin/rtfm
CHANGED
@@ -20,76 +20,76 @@
|
|
20
20
|
RTFM - Ruby Terminal File Manager (https://github.com/isene/RTFM)
|
21
21
|
|
22
22
|
BASIC KEYS
|
23
|
-
?
|
24
|
-
r
|
25
|
-
R
|
26
|
-
W
|
27
|
-
|
28
|
-
q
|
29
|
-
Q
|
23
|
+
? = Show this help text
|
24
|
+
r = Refresh RTFM (recreates all windows. Use on terminal resize or when there is garbage somewhere)
|
25
|
+
R = Reload configuration (~/.rtfm.conf)
|
26
|
+
W = Write parameters to ~/.rtfm.conf
|
27
|
+
(@lsall, @lslong, @lsorder, @lsinvert, @border, @width, @preview, @tagged, @marks)
|
28
|
+
q = Quit
|
29
|
+
Q = QUIT (without writing changes to the config file)
|
30
30
|
|
31
31
|
MOTION
|
32
|
-
DOWN
|
33
|
-
UP
|
34
|
-
LEFT
|
35
|
-
RIGHT
|
36
|
-
|
37
|
-
|
38
|
-
PgDown
|
39
|
-
PgUp
|
40
|
-
END
|
41
|
-
HOME
|
32
|
+
j/DOWN = Go one item down in left pane (rounds to top)
|
33
|
+
k/UP = Go one item up in left pane (rounds to bottom)
|
34
|
+
h/LEFT = Go up one directory level
|
35
|
+
l/RIGHT = Enter directory or open file (using run-mailcap or xdg-open)
|
36
|
+
Use the key 'x' to force open using xdg-open (or run-mailcap) - used for opening html files
|
37
|
+
in a browser rather than editing the file in your text editor
|
38
|
+
PgDown = Go one page down in left pane
|
39
|
+
PgUp = Go one page up in left pane
|
40
|
+
END = Go to last item in left pane
|
41
|
+
HOME = Go to first item in left pane
|
42
42
|
|
43
43
|
JUMPING AND MARKS
|
44
|
-
m
|
45
|
-
|
46
|
-
|
47
|
-
M
|
48
|
-
'
|
49
|
-
/
|
50
|
-
n
|
51
|
-
N
|
52
|
-
h
|
53
|
-
f
|
54
|
-
L
|
44
|
+
m = Mark current dir (persistent). Next letter is the name of the mark [a-zA-Z']
|
45
|
+
The special mark "'" jumps to the last directory (makes toggling dirs easy)
|
46
|
+
Press '-' and a letter to delete that mark
|
47
|
+
M = Show marked items in right pane
|
48
|
+
' = Jump to mark (next letter is the name of the mark [a-zA-Z'])
|
49
|
+
/ = Enter search string in bottom window to highlight matching items and jump to the first match
|
50
|
+
n = Jump to the next item matched by '/'
|
51
|
+
N = Jump to the previous item matched by '/'
|
52
|
+
h = Jump to Home directory
|
53
|
+
f = Follow symlink to the directory where the target resides
|
54
|
+
L = Start 'locate' search for files, then use '#' to jump to desired line/directory
|
55
55
|
|
56
56
|
TAGGING
|
57
|
-
t
|
58
|
-
Ctrl-t
|
59
|
-
T
|
60
|
-
u
|
57
|
+
t = Tag item (toggles)
|
58
|
+
Ctrl-t = Add items matching a pattern to list of tagged items (Ctrl-t and then . will tag all items)
|
59
|
+
T = Show currently tagged items in right pane
|
60
|
+
u = Untag all tagged items
|
61
61
|
|
62
62
|
MANIPULATE ITEMS
|
63
|
-
p
|
64
|
-
P
|
65
|
-
s
|
66
|
-
d
|
67
|
-
c
|
63
|
+
p = Put (copy) tagged items here
|
64
|
+
P = PUT (move) tagged items here
|
65
|
+
s = Create symlink to tagged items here
|
66
|
+
d = Delete selected item and tagged items. Press 'd' to confirm
|
67
|
+
c = Change/rename selected (adds command to bottom window)
|
68
68
|
|
69
69
|
DIRECTORY VIEWS
|
70
|
-
a
|
71
|
-
l
|
72
|
-
o
|
73
|
-
i
|
74
|
-
O
|
75
|
-
G
|
76
|
-
H
|
77
|
-
|
78
|
-
S
|
70
|
+
a = Show all (also hidden) items
|
71
|
+
l = Show long info per item (show item attributes)
|
72
|
+
o = Change the order/sorting of directories (circular toggle)
|
73
|
+
i = Invert/reverse the sorting
|
74
|
+
O = Show the Ordering in the bottom window (the full ls command)
|
75
|
+
G = Show git status for current directory
|
76
|
+
H = Do a cryptographic hash of the current directory with subdirs
|
77
|
+
If a previous hash was made, compare and report if there has been any change
|
78
|
+
S = Show comprehensive system info (system, CPU, filesystem, latest dmesg messages)
|
79
79
|
|
80
80
|
RIGHT PANE
|
81
|
-
ENTER
|
82
|
-
TAB
|
83
|
-
S-TAB
|
84
|
-
w
|
85
|
-
-
|
81
|
+
ENTER = Refresh the right pane
|
82
|
+
TAB = Next page of the preview (if doc long and ∇ in the bottom right)
|
83
|
+
S-TAB = Previous page (if you have moved down the document first - ∆ in the top right)
|
84
|
+
w = Change the width of the left/right panes (left pane ⇒ ⅓ ⇒ ¼ ⇒ ⅕ ⇒ ⅙ ⇒ ½ ⇒ ⅓)
|
85
|
+
- = Toggle preview in right pane (turn it off for faster traversing of directories)
|
86
86
|
|
87
87
|
ADDITINAL COMMANDS
|
88
|
-
g
|
89
|
-
:
|
90
|
-
;
|
91
|
-
y
|
92
|
-
Y
|
88
|
+
g = Run 'grep' to show files that contains the MATCH in current directory
|
89
|
+
: = Enter "command mode" in bottom window (press ENTER to execute, press Ctrl-G to escape)
|
90
|
+
; = Show command history in right pane
|
91
|
+
y = Copy path of selected item to primary selection (for pasting with middle mouse button)
|
92
|
+
Y = Copy path of selected item to clipboard
|
93
93
|
|
94
94
|
COPYRIGHT: Geir Isene, 2020-1. No rights reserved. See http://isene.com for more.
|
95
95
|
HELPTEXT
|
@@ -242,7 +242,7 @@ def getchr # PROCESS KEY PRESSES
|
|
242
242
|
# Note: Curses.getch blanks out @w_t
|
243
243
|
# @w_l.getch makes Curses::KEY_DOWN etc not work
|
244
244
|
# Therefore resorting to the generic method
|
245
|
-
c = STDIN.getch(min: 0, time:
|
245
|
+
c = STDIN.getch(min: 0, time: 3)
|
246
246
|
case c
|
247
247
|
when "\e" # ANSI escape sequences
|
248
248
|
case $stdin.getc
|
@@ -300,17 +300,17 @@ def main_getkey # GET KEY FROM USER
|
|
300
300
|
@write_conf = false
|
301
301
|
exit 0
|
302
302
|
# MOTION
|
303
|
-
when 'DOWN'
|
303
|
+
when 'DOWN', 'j'
|
304
304
|
var_resets
|
305
305
|
@index = @index >= @max_index ? @min_index : @index + 1
|
306
306
|
@w_r.update = true
|
307
307
|
@w_b.update = true
|
308
|
-
when 'UP'
|
308
|
+
when 'UP', 'k'
|
309
309
|
var_resets
|
310
310
|
@index = @index <= @min_index ? @max_index : @index - 1
|
311
311
|
@w_r.update = true
|
312
312
|
@w_b.update = true
|
313
|
-
when 'LEFT'
|
313
|
+
when 'LEFT', 'h'
|
314
314
|
var_resets
|
315
315
|
cur_dir = Dir.pwd
|
316
316
|
@directory[Dir.pwd] = @selected # Store this directory before leaving
|
@@ -319,12 +319,11 @@ def main_getkey # GET KEY FROM USER
|
|
319
319
|
@directory[Dir.pwd] = File.basename(cur_dir) unless @directory.key?(Dir.pwd)
|
320
320
|
@w_r.update = true
|
321
321
|
@w_b.update = true
|
322
|
-
when 'RIGHT'
|
322
|
+
when 'RIGHT', 'l'
|
323
323
|
var_resets
|
324
324
|
@directory[Dir.pwd] = @selected # Store this directory before leaving
|
325
325
|
@marks["'"] = Dir.pwd
|
326
326
|
open_selected()
|
327
|
-
@change_tag = true
|
328
327
|
@w_r.update = true
|
329
328
|
@w_b.update = true
|
330
329
|
when 'x' # Force open with file opener (used to open HTML files in browser)
|
@@ -332,7 +331,6 @@ def main_getkey # GET KEY FROM USER
|
|
332
331
|
@directory[Dir.pwd] = @selected # Store this directory before leaving
|
333
332
|
@marks["'"] = Dir.pwd
|
334
333
|
open_selected(true)
|
335
|
-
@change_tag = true
|
336
334
|
@w_r.update = true
|
337
335
|
@w_b.update = true
|
338
336
|
when 'PgDOWN'
|
@@ -392,7 +390,7 @@ def main_getkey # GET KEY FROM USER
|
|
392
390
|
end
|
393
391
|
@w_r.update = true
|
394
392
|
@w_b.update = true
|
395
|
-
when '
|
393
|
+
when '.' # Go to home dir
|
396
394
|
var_resets
|
397
395
|
@directory[Dir.pwd] = @selected # Store this directory before leaving
|
398
396
|
@marks["'"] = Dir.pwd
|
@@ -463,17 +461,14 @@ def main_getkey # GET KEY FROM USER
|
|
463
461
|
copy_move_link("copy")
|
464
462
|
@w_r.update = true
|
465
463
|
@w_b.update = true
|
466
|
-
@change_tag = true
|
467
464
|
when 'P' # Move tagged items here
|
468
465
|
copy_move_link("move")
|
469
466
|
@w_r.update = true
|
470
467
|
@w_b.update = true
|
471
|
-
@change_tag = true
|
472
468
|
when 's' # Create symlink to tagged items here
|
473
469
|
copy_move_link("link")
|
474
470
|
@w_r.update = true
|
475
471
|
@w_b.update = true
|
476
|
-
@change_tag = true
|
477
472
|
when 'd' # Delete items tagged and @selected
|
478
473
|
tagged_info
|
479
474
|
w_b_info(" Delete selected and tagged? (press 'd' again to delete)")
|
@@ -502,7 +497,7 @@ def main_getkey # GET KEY FROM USER
|
|
502
497
|
@lsall == "" ? @lsall = "-a" : @lsall = ""
|
503
498
|
@w_r.update = true
|
504
499
|
@w_b.update = true
|
505
|
-
when '
|
500
|
+
when 'A' # Show all info for all items
|
506
501
|
@lslong = !@lslong
|
507
502
|
@w_r.update = true
|
508
503
|
@w_b.update = true
|
@@ -523,7 +518,6 @@ def main_getkey # GET KEY FROM USER
|
|
523
518
|
end
|
524
519
|
@w_r.update = true
|
525
520
|
@orderchange = true
|
526
|
-
@change_tag = true
|
527
521
|
when 'i' # Invert the order/sorting of directory views
|
528
522
|
case @lsinvert
|
529
523
|
when ""
|
@@ -535,7 +529,6 @@ def main_getkey # GET KEY FROM USER
|
|
535
529
|
end
|
536
530
|
@w_r.update = true
|
537
531
|
@orderchange = true
|
538
|
-
@change_tag = true
|
539
532
|
when 'O' # Show the Ordering in the bottom window (the full ls command)
|
540
533
|
w_b_info(" Full 'ls' command: ls <@s> #{@lsbase} #{@lsall} #{@lsorder} #{@lsinvert} #{@lsuser}")
|
541
534
|
when 'G' # Git status for selected item or current dir
|
@@ -1301,7 +1294,6 @@ def w_b_exec(cmd) # EXECUTE COMMAND FROM @W_B
|
|
1301
1294
|
pager_show
|
1302
1295
|
@w_r.update = false
|
1303
1296
|
end
|
1304
|
-
@change_tag = true
|
1305
1297
|
}
|
1306
1298
|
rescue
|
1307
1299
|
w_b_info(" Failed to execute command (#{cmd})")
|
@@ -1346,7 +1338,7 @@ loop do # OUTER LOOP - CATCHING REFRESHES VIA 'r'
|
|
1346
1338
|
@w_r.update = false
|
1347
1339
|
end
|
1348
1340
|
@change = true
|
1349
|
-
@change_tag = true
|
1341
|
+
@change_tag = true # For future need to force @change
|
1350
1342
|
loop do # INNER, CORE LOOP
|
1351
1343
|
begin # Jump to home dir if current dir is externally removed
|
1352
1344
|
Dir.pwd
|
@@ -1387,10 +1379,10 @@ loop do # OUTER LOOP - CATCHING REFRESHES VIA 'r'
|
|
1387
1379
|
system("printf \"\033]0;RTFM: #{Dir.pwd}\007\"") # Set Window title to path
|
1388
1380
|
# Top window (info line)
|
1389
1381
|
w_t_info
|
1390
|
-
@w_l.setpos(0,0)
|
1391
|
-
list_dir(true)
|
1392
|
-
@w_l.refresh
|
1393
1382
|
end
|
1383
|
+
@w_l.setpos(0,0)
|
1384
|
+
list_dir(true)
|
1385
|
+
@w_l.refresh
|
1394
1386
|
# Bottom window (command line) Before @w_r to avoid image dropping out on startup
|
1395
1387
|
w_b_info(nil) if @w_b.update
|
1396
1388
|
# Left and right windows (browser & content viewer)
|
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: 1.
|
4
|
+
version: 1.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Geir Isene
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-12-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: curses
|
@@ -33,7 +33,8 @@ dependencies:
|
|
33
33
|
description: 'A full featured terminal browser with syntax highlighted files, images
|
34
34
|
shown in the terminal, videos thumbnailed, etc. You can bookmark and jump around
|
35
35
|
easily, delete, rename, copy, symlink and move files. RTFM has a a wide range of
|
36
|
-
other features. New in 1.
|
36
|
+
other features. New in 1.7.0: Added Vim motion keys and moved other keys a bit to
|
37
|
+
make it possible.'
|
37
38
|
email: g@isene.com
|
38
39
|
executables:
|
39
40
|
- rtfm
|