rtfm-filemanager 1.5.9 → 1.6.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 +50 -27
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4c3a3d9a904767a6ef5decf4f4924b624cea2c35c4928000084d48b318b58424
|
4
|
+
data.tar.gz: c9f94ffc2fbdac8a6be651cb90314d9042a0e54fff5031f60b8b266605fb748c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ddc76de2b511bb3306857e3f97c10cd2ac0c02903ff9b16d3c4d3ac33ce2035831f48ed93f7821b6b6977a9ba8207019a434f840bd7c55a9948e40f4a5a6a178
|
7
|
+
data.tar.gz: 0110652cfbd0f59040e1b606dfd653fb8c62207fbc6351d3cf7114d5a196233e13388b97376d4e8ad4878ab8fed3efd5a1343b5ef971034777f6c49b3323fb74
|
data/bin/rtfm
CHANGED
@@ -324,6 +324,7 @@ def main_getkey # GET KEY FROM USER
|
|
324
324
|
@directory[Dir.pwd] = @selected # Store this directory before leaving
|
325
325
|
@marks["'"] = Dir.pwd
|
326
326
|
open_selected()
|
327
|
+
@change_tag = true
|
327
328
|
@w_r.update = true
|
328
329
|
@w_b.update = true
|
329
330
|
when 'x' # Force open with file opener (used to open HTML files in browser)
|
@@ -331,6 +332,7 @@ def main_getkey # GET KEY FROM USER
|
|
331
332
|
@directory[Dir.pwd] = @selected # Store this directory before leaving
|
332
333
|
@marks["'"] = Dir.pwd
|
333
334
|
open_selected(true)
|
335
|
+
@change_tag = true
|
334
336
|
@w_r.update = true
|
335
337
|
@w_b.update = true
|
336
338
|
when 'PgDOWN'
|
@@ -401,7 +403,10 @@ def main_getkey # GET KEY FROM USER
|
|
401
403
|
@directory[Dir.pwd] = @selected # Store this directory before leaving
|
402
404
|
@marks["'"] = Dir.pwd
|
403
405
|
if File.symlink?(@selected)
|
404
|
-
|
406
|
+
begin
|
407
|
+
Dir.chdir(File.dirname(File.readlink(@selected)))
|
408
|
+
rescue
|
409
|
+
end
|
405
410
|
end
|
406
411
|
@w_b.update = true
|
407
412
|
when 'g' # Run 'grep' in the current directory
|
@@ -458,10 +463,12 @@ def main_getkey # GET KEY FROM USER
|
|
458
463
|
copy_move_link("copy")
|
459
464
|
@w_r.update = true
|
460
465
|
@w_b.update = true
|
466
|
+
@change_tag = true
|
461
467
|
when 'P' # Move tagged items here
|
462
468
|
copy_move_link("move")
|
463
469
|
@w_r.update = true
|
464
470
|
@w_b.update = true
|
471
|
+
@change_tag = true
|
465
472
|
when 's' # Create symlink to tagged items here
|
466
473
|
copy_move_link("link")
|
467
474
|
@w_r.update = true
|
@@ -564,11 +571,22 @@ def main_getkey # GET KEY FROM USER
|
|
564
571
|
when 'S' # Show comprehensive system info
|
565
572
|
begin
|
566
573
|
@w_r.pager_cmd = ""
|
567
|
-
uname = `uname -o`.
|
568
|
-
uname += `uname -r`.
|
569
|
-
uname += `uname -v`.
|
570
|
-
uname += `uname -p
|
574
|
+
uname = `uname -o`.chomp + " "
|
575
|
+
uname += `uname -r`.chomp + " "
|
576
|
+
uname += `uname -v`.chomp + " "
|
577
|
+
uname += `uname -p`.chomp + " "
|
578
|
+
uname += `awk -F '"' '/PRETTY/ {print $2}' /etc/os-release` + "\n"
|
571
579
|
text = [[253, 1, uname]]
|
580
|
+
system = "Shell & Terminal: " + `echo $SHELL`.sub(/.*\//, '').chomp + ", " + `echo $TERM`.chomp + " "
|
581
|
+
packages = `pacman -Q | wc -l`.chomp
|
582
|
+
packages = `dpkg-query -l | grep -c '^.i'`.chomp if packages == "0"
|
583
|
+
packages = "Unrecognized" if packages == "0"
|
584
|
+
system += "Packages: " + packages + "\n"
|
585
|
+
system += "Desktop: " + `awk '/^DesktopNames/' /usr/share/xsessions/* | sed 's/DesktopNames=//g' | \\
|
586
|
+
sed 's/\\;/\\n/g' | sed '/^$/d' | sort -u | sed ':a;N;$!ba;s/\\n/, /g'`.chomp + "/"
|
587
|
+
system += `grep 'gtk-theme-name' ~/.config/gtk-3.0/* | sed 's/gtk-theme-name=//g' | \\
|
588
|
+
sed 's/-/ /g'`.sub(/.*:/, '') + "\n"
|
589
|
+
text += [[251, 0, system]]
|
572
590
|
cpu = "CPUs = " + `nproc`.chop + " "
|
573
591
|
cpuinfo = `lscpu`
|
574
592
|
cpu += cpuinfo[/^.*Model name:\s*(.*)/, 1] + " "
|
@@ -594,7 +612,7 @@ def main_getkey # GET KEY FROM USER
|
|
594
612
|
image_show("clear") if @image; @image = false
|
595
613
|
@w_r.update = true
|
596
614
|
@w_b.update = true
|
597
|
-
when 'TAB' # Start paging
|
615
|
+
when 'TAB' # Start paging/Down one page
|
598
616
|
if @w_r.pager == 1 and @w_r.pager_cmd != ""
|
599
617
|
@w_r.text = `#{@w_r.pager_cmd} 2>/dev/null`
|
600
618
|
end
|
@@ -627,7 +645,7 @@ def main_getkey # GET KEY FROM USER
|
|
627
645
|
@index = m[0] unless m == []
|
628
646
|
@index = 0 if @searched == ""
|
629
647
|
@w_r.update = true
|
630
|
-
when 'n'
|
648
|
+
when 'n' # Jump to next occurence of search (after '/')
|
631
649
|
l = `ls #{@lsbase} #{@lsall} #{@lsorder} #{@lsinvert} #{@lsuser}`.split
|
632
650
|
m = l.each_index.select{|n| l[n] =~ /#{@searched}/}
|
633
651
|
i = m.find { |n| n > @index }
|
@@ -637,7 +655,7 @@ def main_getkey # GET KEY FROM USER
|
|
637
655
|
@index = i
|
638
656
|
end
|
639
657
|
@w_r.update = true
|
640
|
-
when 'N'
|
658
|
+
when 'N' # Jump to previous occurence of search (after '/')
|
641
659
|
l = `ls #{@lsbase} #{@lsall} #{@lsorder} #{@lsinvert} #{@lsuser}`.split
|
642
660
|
m = l.each_index.select{|n| l[n] =~ /#{@searched}/}.reverse
|
643
661
|
i = m.find { |n| n < @index }
|
@@ -654,7 +672,7 @@ def main_getkey # GET KEY FROM USER
|
|
654
672
|
when ';' # Show command history
|
655
673
|
w_r_info("Command history (latest on top):\n\n" + @history.join("\n"))
|
656
674
|
@w_b.update = true
|
657
|
-
when 'y', 'Y'
|
675
|
+
when 'y', 'Y' # Copy path of selected item
|
658
676
|
if @selected == nil
|
659
677
|
w_b_info(" No selected item path to copy")
|
660
678
|
else
|
@@ -1279,6 +1297,7 @@ def w_b_exec(cmd) # EXECUTE COMMAND FROM @W_B
|
|
1279
1297
|
pager_show
|
1280
1298
|
@w_r.update = false
|
1281
1299
|
end
|
1300
|
+
@change_tag = true
|
1282
1301
|
}
|
1283
1302
|
rescue
|
1284
1303
|
w_b_info(" Failed to execute command (#{cmd})")
|
@@ -1312,9 +1331,7 @@ loop do # OUTER LOOP - CATCHING REFRESHES VIA 'r'
|
|
1312
1331
|
@w_t.fg, @w_t.bg = 232, 249
|
1313
1332
|
@w_t.attr = Curses::A_BOLD
|
1314
1333
|
@w_b.fg, @w_b.bg = 250, 238
|
1315
|
-
@w_t.update = true
|
1316
1334
|
@w_b.update = true
|
1317
|
-
@w_l.update = true
|
1318
1335
|
@w_r.update = true
|
1319
1336
|
@w_r.pager = 0
|
1320
1337
|
@w_r.pager_more = false
|
@@ -1324,13 +1341,14 @@ loop do # OUTER LOOP - CATCHING REFRESHES VIA 'r'
|
|
1324
1341
|
tagged_info
|
1325
1342
|
@w_r.update = false
|
1326
1343
|
end
|
1344
|
+
@change = true
|
1345
|
+
@change_tag = true
|
1327
1346
|
loop do # INNER, CORE LOOP
|
1328
1347
|
begin # Jump to home dir if current dir is externally removed
|
1329
1348
|
Dir.pwd
|
1330
1349
|
rescue
|
1331
1350
|
Dir.chdir
|
1332
1351
|
end
|
1333
|
-
system("printf \"\033]0;RTFM: #{Dir.pwd}\007\"") # Set Window title to path
|
1334
1352
|
ls_cmd = "ls #{@lsbase} #{@lsall} #{@lsorder} #{@lsinvert} #{@lsuser}" # Get files in current directory
|
1335
1353
|
@files = `#{ls_cmd} 2>/dev/null`.split("\n")
|
1336
1354
|
ls_cmd += %q[ -lhgG --time-style="long-iso" | awk '{printf "%s%12s%6s%6s%5s", $1,$4,$5,$3,$2 "\n"}']
|
@@ -1350,28 +1368,33 @@ loop do # OUTER LOOP - CATCHING REFRESHES VIA 'r'
|
|
1350
1368
|
@index = @files.index(@selected)
|
1351
1369
|
@orderchange = false
|
1352
1370
|
end
|
1353
|
-
@index
|
1354
|
-
@index
|
1355
|
-
@min_index
|
1356
|
-
@max_index
|
1357
|
-
@index
|
1358
|
-
@index
|
1359
|
-
@selected
|
1360
|
-
|
1361
|
-
#
|
1362
|
-
|
1371
|
+
@index = @files.index(@selected) if @lsall != lsall_old # Change in showing all items must be handled
|
1372
|
+
@index = index_old if @files.index(@selected) == nil # If item no longer is shown
|
1373
|
+
@min_index = 0
|
1374
|
+
@max_index = @files.size - 1
|
1375
|
+
@index = @max_index if @index > @max_index # If deleted many items
|
1376
|
+
@index = 0 if @index < 0
|
1377
|
+
@selected = @files[@index] # Get text of selected item
|
1378
|
+
sel_old = @selected_safe
|
1379
|
+
@selected_safe = "\"#{@selected}\"" # Make it safe for commands
|
1380
|
+
@selected_safe == sel_old ? @change = false : @change = true
|
1381
|
+
@change = true if @change_tag; @change_tag = false
|
1382
|
+
if @change
|
1383
|
+
system("printf \"\033]0;RTFM: #{Dir.pwd}\007\"") # Set Window title to path
|
1384
|
+
# Top window (info line)
|
1385
|
+
w_t_info
|
1386
|
+
@w_l.setpos(0,0)
|
1387
|
+
list_dir(true)
|
1388
|
+
@w_l.refresh
|
1389
|
+
end
|
1363
1390
|
# Bottom window (command line) Before @w_r to avoid image dropping out on startup
|
1364
1391
|
w_b_info(nil) if @w_b.update
|
1365
1392
|
# Left and right windows (browser & content viewer)
|
1366
|
-
@w_l.setpos(0,0)
|
1367
|
-
list_dir(true)
|
1368
|
-
@w_l.refresh
|
1369
1393
|
if @w_r.update and @preview
|
1370
1394
|
w_r_show
|
1371
1395
|
@w_r.fg = 255
|
1372
1396
|
end
|
1373
|
-
Curses.curs_set(1) # Clear residual cursor
|
1374
|
-
Curses.curs_set(0) # ...from editing files
|
1397
|
+
Curses.curs_set(1); Curses.curs_set(0) # Clear residual cursor from editing files
|
1375
1398
|
@tag = false # Clear tag pattern
|
1376
1399
|
lsall_old = @lsall
|
1377
1400
|
main_getkey # Get key from user
|
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.6.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-
|
11
|
+
date: 2021-11-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: curses
|
@@ -33,7 +33,7 @@ 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.6.0: RTFM now uses even less resources.'
|
37
37
|
email: g@isene.com
|
38
38
|
executables:
|
39
39
|
- rtfm
|