diff --git a/lib/irb/easter-egg.rb b/lib/irb/easter-egg.rb index 07b6137be..bf00765eb 100644 --- a/lib/irb/easter-egg.rb +++ b/lib/irb/easter-egg.rb @@ -121,6 +121,7 @@ def render_frame(i) interrupted = false prev_trap = trap("SIGINT") { interrupted = true } canvas = Canvas.new(Reline.get_screen_size) + otio = Reline::IOGate.prep Reline::IOGate.set_winch_handler do canvas = Canvas.new(Reline.get_screen_size) end @@ -139,6 +140,7 @@ def render_frame(i) end rescue Interrupt ensure + Reline::IOGate.deprep(otio) print "\e[?25h" # show cursor trap("SIGINT", prev_trap) end