rtfm-filemanager 8.1.1 → 8.1.3
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/CHANGELOG.md +10 -0
- data/bin/rtfm +18 -21
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: e58685e75cad90ce6073efe92abe1fe018bf0371060e652dd86ccf6e7e41d252
|
|
4
|
+
data.tar.gz: 6fd3b54ac0729a9111aedad4c48b3e50c6b9467547d62e49c14bc22015c58d13
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 26cb3b44a3b43f90c326050c18c0809b4d689be8610a38c9c591c5bc0519cb197988fd6b63305d0620ab7dddd3f00ae848ed2f5716b166c31d2dd8eab0237719
|
|
7
|
+
data.tar.gz: 76a5d98f72158d0cad178cf5b7c0d71e5ea7bea5bc51d06d2e23c2cbe3342e81e22508681f614f80f247e26394d299bf87765539e35b31461c27131c92a587db
|
data/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,16 @@ All notable changes to RTFM will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [8.1.3] - 2026-03-13
|
|
9
|
+
|
|
10
|
+
### Fixed
|
|
11
|
+
- **Terminal state corruption after interactive programs** - Fixed input echoing to top bar after exiting programs like hyperlist. Re-added `self.update = true` in `say` override (now safe with rcurses 6.2.2 fix)
|
|
12
|
+
|
|
13
|
+
## [8.1.2] - 2026-03-13
|
|
14
|
+
|
|
15
|
+
### Fixed
|
|
16
|
+
- **Redraw loop on terminal resize** - SIGWINCH handler now only sets a flag; the actual resize and redraw is handled once per main loop iteration. Fixes infinite redraw cascade on macOS/mlterm when dragging to resize the terminal window (#11)
|
|
17
|
+
|
|
8
18
|
## [8.1.1] - 2026-03-12
|
|
9
19
|
|
|
10
20
|
### Fixed
|
data/bin/rtfm
CHANGED
|
@@ -3393,7 +3393,6 @@ def open_remote_shell # {{{3
|
|
|
3393
3393
|
system('stty raw -echo isig < /dev/tty')
|
|
3394
3394
|
$stdin.raw!
|
|
3395
3395
|
$stdin.echo = false
|
|
3396
|
-
Rcurses.init! # Reinitialize rcurses to fix input handling
|
|
3397
3396
|
Cursor.hide
|
|
3398
3397
|
Rcurses.clear_screen
|
|
3399
3398
|
|
|
@@ -6665,6 +6664,7 @@ def marks_info # SHOW MARKS IN RIGHT WINDOW {{{2
|
|
|
6665
6664
|
end
|
|
6666
6665
|
info << "\n" + "Press " + "'" + " + letter to jump".fg(240)
|
|
6667
6666
|
end
|
|
6667
|
+
@pR.update = true
|
|
6668
6668
|
@pR.say(info)
|
|
6669
6669
|
end
|
|
6670
6670
|
|
|
@@ -6774,26 +6774,10 @@ end
|
|
|
6774
6774
|
setborder
|
|
6775
6775
|
|
|
6776
6776
|
## Catch change in terminal resize, redraw {{{2
|
|
6777
|
-
Signal
|
|
6778
|
-
|
|
6779
|
-
|
|
6780
|
-
|
|
6781
|
-
unless @external_program_running
|
|
6782
|
-
begin
|
|
6783
|
-
new_h, new_w = IO.console.winsize
|
|
6784
|
-
# Validate terminal size (minimum 10x20 to be usable)
|
|
6785
|
-
if new_h && new_w && new_h >= 10 && new_w >= 20
|
|
6786
|
-
@h, @w = new_h, new_w
|
|
6787
|
-
@pT.update = @pL.update = @pR.update = @pB.update = true
|
|
6788
|
-
refresh
|
|
6789
|
-
render
|
|
6790
|
-
end
|
|
6791
|
-
rescue => e
|
|
6792
|
-
# Silently ignore resize errors to prevent crashes
|
|
6793
|
-
# User can manually refresh with 'r' key if needed
|
|
6794
|
-
end
|
|
6795
|
-
end
|
|
6796
|
-
end
|
|
6777
|
+
# Signal handler only sets a flag (no I/O, signal-safe).
|
|
6778
|
+
# Rapid-fire SIGWINCH from live-resizing collapses into one redraw per loop.
|
|
6779
|
+
@winch_pending = false
|
|
6780
|
+
Signal.trap('WINCH') { @winch_pending = true }
|
|
6797
6781
|
|
|
6798
6782
|
|
|
6799
6783
|
## One-time flush {{{2
|
|
@@ -6816,6 +6800,19 @@ loop do
|
|
|
6816
6800
|
@pB.update = false
|
|
6817
6801
|
end
|
|
6818
6802
|
|
|
6803
|
+
# Handle pending terminal resize (debounced from SIGWINCH)
|
|
6804
|
+
if @winch_pending && !@external_program_running
|
|
6805
|
+
@winch_pending = false
|
|
6806
|
+
begin
|
|
6807
|
+
new_h, new_w = IO.console.winsize
|
|
6808
|
+
if new_h && new_w && new_h >= 10 && new_w >= 20
|
|
6809
|
+
@h, @w = new_h, new_w
|
|
6810
|
+
@pT.update = @pL.update = @pR.update = @pB.update = true
|
|
6811
|
+
refresh
|
|
6812
|
+
end
|
|
6813
|
+
rescue; end
|
|
6814
|
+
end
|
|
6815
|
+
|
|
6819
6816
|
# redraw, but ignore TTY‐focus errors
|
|
6820
6817
|
begin
|
|
6821
6818
|
render
|
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: 8.1.
|
|
4
|
+
version: 8.1.3
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Geir Isene
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-03-
|
|
11
|
+
date: 2026-03-13 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: rcurses
|