From 7ca3a2c9417d27d447a1097b774c5b25a5ced3a5 Mon Sep 17 00:00:00 2001 From: Nathaniel Wesley Filardo Date: Sat, 16 Dec 2017 16:27:50 -0500 Subject: [PATCH] lcdproc-remind: only show screen if reminders exist --- bin/lcdproc-remind.expect | 56 +++++++++++++++++++++++++++++---------- 1 file changed, 42 insertions(+), 14 deletions(-) diff --git a/bin/lcdproc-remind.expect b/bin/lcdproc-remind.expect index d983259..034da27 100755 --- a/bin/lcdproc-remind.expect +++ b/bin/lcdproc-remind.expect @@ -2,23 +2,42 @@ package require lcdproclib +set hasscreen 0 set lcdsid [::lcdproclib::spawnlcd "localhost" "13666"] ::lcdproclib::cmd ${lcdsid} "client_set -name remind" -::lcdproclib::cmd ${lcdsid} "screen_add 1" -::lcdproclib::cmd ${lcdsid} "screen_set 1 -name Reminders" -::lcdproclib::cmd ${lcdsid} "screen_set 1 -priority hidden" -::lcdproclib::cmd ${lcdsid} "screen_set 1 -cursor off" +proc scradd {} { + variable lcdsid + variable hasscreen -::lcdproclib::cmd ${lcdsid} "widget_add 1 ti title" -::lcdproclib::cmd ${lcdsid} "widget_set 1 ti Reminders" + if {$hasscreen} { return } -::lcdproclib::cmd ${lcdsid} "widget_add 1 v1 string" -::lcdproclib::cmd ${lcdsid} "widget_add 1 v2 string" -::lcdproclib::cmd ${lcdsid} "widget_add 1 v3 string" + ::lcdproclib::cmd ${lcdsid} "screen_add 1" + ::lcdproclib::cmd ${lcdsid} "screen_set 1 -name Reminders" + ::lcdproclib::cmd ${lcdsid} "screen_set 1 -priority hidden" + ::lcdproclib::cmd ${lcdsid} "screen_set 1 -cursor off" + + ::lcdproclib::cmd ${lcdsid} "widget_add 1 ti title" + ::lcdproclib::cmd ${lcdsid} "widget_set 1 ti Reminders" + + ::lcdproclib::cmd ${lcdsid} "widget_add 1 v1 string" + ::lcdproclib::cmd ${lcdsid} "widget_add 1 v2 string" + ::lcdproclib::cmd ${lcdsid} "widget_add 1 v3 string" + + ::lcdproclib::cmd ${lcdsid} "screen_set 1 -priority info" -::lcdproclib::cmd ${lcdsid} "screen_set 1 -priority info" + set hasscreen 1 +} + +proc scrdel {} { + variable lcdsid + variable hasscreen + if {[expr {!$hasscreen}]} { return } + + ::lcdproclib::cmd ${lcdsid} "screen_del 1" + set hasscreen 0 +} proc reload {lcdsid filename} { try { @@ -29,10 +48,19 @@ proc reload {lcdsid filename} { return } - ::lcdproclib::cmd ${lcdsid} "widget_set 1 ti {[gets $fp]}" - ::lcdproclib::cmd ${lcdsid} "widget_set 1 v1 1 2 {[gets $fp]}" - ::lcdproclib::cmd ${lcdsid} "widget_set 1 v2 1 3 {[gets $fp]}" - ::lcdproclib::cmd ${lcdsid} "widget_set 1 v3 1 4 {[gets $fp]}" + set line1 [gets $fp] + + if { [string equal "$line1" ""] + || [string equal -nocase "$line1" "No Reminders."]} { + scrdel + return + } else { + scradd + ::lcdproclib::cmd ${lcdsid} "widget_set 1 ti {$line1}" + ::lcdproclib::cmd ${lcdsid} "widget_set 1 v1 1 2 {[gets $fp]}" + ::lcdproclib::cmd ${lcdsid} "widget_set 1 v2 1 3 {[gets $fp]}" + ::lcdproclib::cmd ${lcdsid} "widget_set 1 v3 1 4 {[gets $fp]}" + } close ${fp} } -- 2.50.1