From mboxrd@z Thu Jan 1 00:00:00 1970 Received: by 10.213.7.146 with SMTP id d18cs167716ebd; Thu, 14 Jan 2010 07:46:09 -0800 (PST) Received: by 10.224.59.1 with SMTP id j1mr793607qah.209.1263483967796; Thu, 14 Jan 2010 07:46:07 -0800 (PST) Return-Path: Received: from rubyforge.org (rubyforge.org [205.234.109.19]) by mx.google.com with ESMTP id 7si2141319qwf.14.2010.01.14.07.46.07; Thu, 14 Jan 2010 07:46:07 -0800 (PST) Received-SPF: pass (google.com: domain of sup-devel-bounces@rubyforge.org designates 205.234.109.19 as permitted sender) client-ip=205.234.109.19; Authentication-Results: mx.google.com; spf=pass (google.com: domain of sup-devel-bounces@rubyforge.org designates 205.234.109.19 as permitted sender) smtp.mail=sup-devel-bounces@rubyforge.org; dkim=neutral (body hash did not verify) header.i=@gmail.com Received: from rubyforge.org (rubyforge.org [127.0.0.1]) by rubyforge.org (Postfix) with ESMTP id E9C551858312; Thu, 14 Jan 2010 10:46:06 -0500 (EST) Received: from mail-qy0-f203.google.com (mail-qy0-f203.google.com [209.85.221.203]) by rubyforge.org (Postfix) with ESMTP id E09D6185830D for ; Thu, 14 Jan 2010 10:46:04 -0500 (EST) Received: by qyk41 with SMTP id 41so14160659qyk.29 for ; Thu, 14 Jan 2010 07:46:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:content-type:subject:from:to :date:message-id:user-agent:content-transfer-encoding; bh=EESpuk4F5DiJ85TGf5jOorZ+RcFPHuMNz1Ru9IkN6No=; b=wjX5NxEZv7nxNd7rnjUDbV4AAJBki3U8jqg8Dyh2+v74Bg495RaaywNmAvSW3zQBtx xRENUjdvEvt5G71XsBrXQcuWaAeM3VFlYgnQQPetNKEbkR7Y66qGZeByQaW9YSn9Efl2 KPPZ/1OiooFTVHNfBHNBdDo1Jvoz4Bvce0b6Q= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=content-type:subject:from:to:date:message-id:user-agent :content-transfer-encoding; b=Hi/u1bquUevvL3QC7mrhcqkHzC6c1Fi1+1X1WmQMJSKykZFgc3A6M0OZWRYsDa0ZoF 1TvvxZ1XHmWKY6n3zkxgkFKBzax3RQoP77b09p3Zs8HkZe07NhpwN/ZsTft3YMFcuv7h XX9/M+vdZ7Jb9ojCwuGqa5hGXCqw9YFB320OM= Received: by 10.224.116.137 with SMTP id m9mr760700qaq.319.1263483956653; Thu, 14 Jan 2010 07:45:56 -0800 (PST) Received: from localhost (c-76-98-110-216.hsd1.nj.comcast.net [76.98.110.216]) by mx.google.com with ESMTPS id 7sm273173yxd.62.2010.01.14.07.45.55 (version=TLSv1/SSLv3 cipher=RC4-MD5); Thu, 14 Jan 2010 07:45:55 -0800 (PST) From: Eric Sherman To: sup-devel Date: Thu, 14 Jan 2010 10:45:54 -0500 Message-Id: <1263483819-sup-9886@changeling.local> User-Agent: Sup/git Subject: [sup-devel] [PATCHv2] idle and unidle updates X-BeenThere: sup-devel@rubyforge.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: Sup developer discussion List-Id: Sup developer discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: sup-devel-bounces@rubyforge.org Errors-To: sup-devel-bounces@rubyforge.org --- bin/sup | 17 +++++++++++++++++ 1 files changed, 17 insertions(+), 0 deletions(-) diff --git a/bin/sup b/bin/sup index 19b2a87..0d90d00 100755 --- a/bin/sup +++ b/bin/sup @@ -260,6 +260,10 @@ begin SearchResultsMode.spawn_from_query $opts[:search] end + IDLE_THRESHOLD = 60 + no_keystrokes_since = Time.now + idle = false + until Redwood::exceptions.nonempty? || $die c = begin Ncurses.nonblocking_getch @@ -274,9 +278,22 @@ begin debug "redrawing screen on sigwinch" BufferManager.completely_redraw_screen end + + if !idle and Time.now.to_i - no_keystrokes_since.to_i >= IDLE_THRESHOLD + UpdateManager.relay self, :idle, Time.at(no_keystrokes_since) + idle = true + end + next end + if idle + UpdateManager.relay self, :unidle, Time.at(no_keystrokes_since) + idle = false + end + + no_keystrokes_since = Time.now + if c == 410 ## this is ncurses's way of telling us it's detected a refresh. ## since we have our own sigwinch handler, we don't do anything. -- 1.6.6 _______________________________________________ Sup-devel mailing list Sup-devel@rubyforge.org http://rubyforge.org/mailman/listinfo/sup-devel