[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH] dtas-console: support terminal resize
From: |
Eric Wong |
Subject: |
[PATCH] dtas-console: support terminal resize |
Date: |
Fri, 30 Aug 2013 07:01:31 +0000 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
Lightly-tested, but this seems to work.
---
bin/dtas-console | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/bin/dtas-console b/bin/dtas-console
index f60ae13..3b246bd 100755
--- a/bin/dtas-console
+++ b/bin/dtas-console
@@ -6,14 +6,17 @@
# Note: no idea what I'm doing, especially w.r.t. curses
require 'dtas/unix_client'
require 'dtas/rg_state'
+require 'dtas/sigevent'
require 'curses'
require 'yaml'
+se = DTAS::Sigevent.new
+trap(:WINCH) { se.signal }
w = DTAS::UNIXClient.new
w.req_ok('watch')
c = DTAS::UNIXClient.new
cur = YAML.load(c.req('current'))
-readable = [ w, $stdin ]
+readable = [ se, w, $stdin ]
# current rg mode
rg_mode = DTAS::RGState::RG_MODE.keys.unshift("off")
@@ -146,6 +149,9 @@ begin
r = IO.select(readable, nil, nil, current ? interval : nil) or next
r[0].each do |io|
case io
+ when se
+ se.readable_iter {} # noop, just consume the event
+ Curses.clear
when w
event = w.res_wait
events << "#{Time.now.strftime(tfmt)} #{event}"
--
EW
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [PATCH] dtas-console: support terminal resize,
Eric Wong <=