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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/bin/rtfm +67 -75
  3. metadata +4 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b9025b9871da578c238a2c28b3c9aa7d55ffe8d0065f5002c110c7f446dbfe3f
4
- data.tar.gz: a817a49d43338f079a536a2e23eb1a35ce80331b11149b29c6c1afc1ac5e7fc4
3
+ metadata.gz: 3a899d0ccf9e6a27a01d479cf01b1409efc10bd5d46e7d4dda77c74137311615
4
+ data.tar.gz: c60c059754f4c903d566ff95fed4ff4dae73db6616125e789e013257e6e37d76
5
5
  SHA512:
6
- metadata.gz: cb32e4ecd39a4bb90f7c6aa43a300f4c81d6c743826eaf0f50aa7e65ce5dc34d5bd01b728156cc6a74710294b6a4e8c23feb1f4d4d9aa4e33092498a1f409333
7
- data.tar.gz: 4ab0e07d49e807858f1adb2c93865f55b6199c6974c35490f7d457ef12dc278b0435e57f1196a3beb4b60a24fcd3d581ad2e28227b8606380e1a3ec25170b65c
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
- ? = 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)
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 = Go one item down in left pane (rounds to top)
33
- UP = Go one item up in left pane (rounds to bottom)
34
- LEFT = Go up one directory level
35
- 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
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 = 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
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 = 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
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 = 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)
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 = 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)
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 = 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)
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 = 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
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: 1)
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 'h' # Go to home dir
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 'l' # Show long info for all items
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.6.2
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-26 00:00:00.000000000 Z
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.6.2: Bug fix in system info.'
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