summaryrefslogtreecommitdiffstats
path: root/abs/core/linhes-scripts
diff options
context:
space:
mode:
authorMichael Hanson <hansonorders@verizon.net>2011-08-09 23:21:55 (GMT)
committerMichael Hanson <hansonorders@verizon.net>2011-08-09 23:21:55 (GMT)
commit631f3dc4b6c2de23cbdf151aad88cbbb824039be (patch)
tree831339419372a49a4aea5df6238bc746fdee7269 /abs/core/linhes-scripts
parent6ff88e610f6c6e25c02ec901ffaa6132161fd2a2 (diff)
downloadlinhes_pkgbuild-631f3dc4b6c2de23cbdf151aad88cbbb824039be.zip
linhes_pkgbuild-631f3dc4b6c2de23cbdf151aad88cbbb824039be.tar.gz
linhes_pkgbuild-631f3dc4b6c2de23cbdf151aad88cbbb824039be.tar.bz2
linhes-scripts: Add the window check to idle.sh. Closes #755
Diffstat (limited to 'abs/core/linhes-scripts')
-rw-r--r--abs/core/linhes-scripts/PKGBUILD8
-rwxr-xr-xabs/core/linhes-scripts/idle.sh8
-rw-r--r--abs/core/linhes-scripts/xwin_find.sh418
3 files changed, 430 insertions, 4 deletions
diff --git a/abs/core/linhes-scripts/PKGBUILD b/abs/core/linhes-scripts/PKGBUILD
index 0b5c2a9..9ebe47c 100644
--- a/abs/core/linhes-scripts/PKGBUILD
+++ b/abs/core/linhes-scripts/PKGBUILD
@@ -3,7 +3,7 @@
pkgname=linhes-scripts
pkgver=7
-pkgrel=6
+pkgrel=7
pkgdesc="Various scripts that help to make LinHES, LinHES."
arch=('i686' 'x86_64')
license=('GPL2')
@@ -44,6 +44,7 @@ myth2fuze
dct700-cc.sh
qip7100-cc.sh
dtheme.sh
+xwin_find.sh
)
build() {
@@ -74,7 +75,7 @@ md5sums=('f56985b2d602e11dc1e10d3e7848b2a5'
'3b776bbff68906ddc2f62b7e0dde3fe4'
'15f3143d2b1369da431e4268029aba40'
'3d0adf26280cde55a0c47188fff34826'
- '7ffe9cea9c5604b696a2a1d274c21ac3'
+ '25dd5b8ec0482d561b481bfce051d648'
'b2c3dd48a4abb976eda2d5fbf22a173a'
'b527b01d119d3bc33b8fa69bdf1082bb'
'c537c44156d8404016cc4b405b092d45'
@@ -89,4 +90,5 @@ md5sums=('f56985b2d602e11dc1e10d3e7848b2a5'
'd2a29444ab9036fb385bbf044daf1ff5'
'df727c98350a64e2171c950bbefc9c5d'
'7b890e7044db38e8d439f67e398af206'
- '35693f50939d5827aeabfce8c5dce589')
+ '35693f50939d5827aeabfce8c5dce589'
+ 'e93ef4eb6dae27c872c80b22b3356432')
diff --git a/abs/core/linhes-scripts/idle.sh b/abs/core/linhes-scripts/idle.sh
index 13fdb89..70db6f0 100755
--- a/abs/core/linhes-scripts/idle.sh
+++ b/abs/core/linhes-scripts/idle.sh
@@ -106,7 +106,13 @@ if [ "$LOGINS" -ge 1 ] ; then
fi
fi
-activities=$(($BUSY + $SCHEMALOCK + $JOBS + $INUSE + $UPCOMING + $LOGINS))
+# Check for open windows
+/usr/LH/bin/xwin_find.sh -q '.*(mythtv@|xterm|Firefox|Namoroka|Opera).*'
+WINDOWS="$?"
+WINDOWS=$(($WINDOWS == 0))
+msg "windows $WINDOWS"
+
+activities=$(($BUSY + $SCHEMALOCK + $JOBS + $INUSE + $UPCOMING + $LOGINS + $WINDOWS))
msg
if [ "$activities" -eq 0 ] ; then
msg "System is idle"
diff --git a/abs/core/linhes-scripts/xwin_find.sh b/abs/core/linhes-scripts/xwin_find.sh
new file mode 100644
index 0000000..1720c96
--- /dev/null
+++ b/abs/core/linhes-scripts/xwin_find.sh
@@ -0,0 +1,418 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+<title>LinHES - xwin_find.sh - LinHES</title>
+<meta name="description" content="Redmine" />
+<meta name="keywords" content="issue,bug,tracker" />
+<meta name="csrf-param" content="authenticity_token"/>
+<meta name="csrf-token" content="xrk0pQcBCUKhfVBzGsm4tpd3fnOWzA8BHwE+MrMJfmc="/>
+<link rel='shortcut icon' href='/bugs/favicon.ico?1310384844' />
+<link href="/bugs/themes/jorgebg-redmine-aurora-theme-f004cda/stylesheets/application.css?1303599258" media="all" rel="stylesheet" type="text/css" />
+
+<script src="/bugs/javascripts/prototype.js?1310384844" type="text/javascript"></script>
+<script src="/bugs/javascripts/effects.js?1310384844" type="text/javascript"></script>
+<script src="/bugs/javascripts/dragdrop.js?1310384844" type="text/javascript"></script>
+<script src="/bugs/javascripts/controls.js?1310384844" type="text/javascript"></script>
+<script src="/bugs/javascripts/application.js?1310384844" type="text/javascript"></script>
+<script type="text/javascript">
+//<![CDATA[
+Event.observe(window, 'load', function(){ new WarnLeavingUnsaved('The current page contains unsaved text that will be lost if you leave this page.'); });
+//]]>
+</script>
+
+<!--[if IE 6]>
+ <style type="text/css">
+ * html body{ width: expression( document.documentElement.clientWidth < 900 ? '900px' : '100%' ); }
+ body {behavior: url(/bugs/stylesheets/csshover.htc?1310384844);}
+ </style>
+<![endif]-->
+
+<!-- page specific tags -->
+ <link href="/bugs/stylesheets/scm.css?1310384844" media="screen" rel="stylesheet" type="text/css" /></head>
+<body class="theme-Jorgebg-redmine-aurora-theme-f004cda controller-attachments action-show">
+<div id="wrapper">
+<div id="wrapper2">
+<div id="top-menu">
+ <div id="account">
+ <ul><li><a href="/bugs/login" class="login">Sign in</a></li>
+<li><a href="/bugs/account/register" class="register">Register</a></li></ul> </div>
+
+ <ul><li><a href="/bugs/" class="home">Home</a></li>
+<li><a href="/bugs/projects" class="projects">Projects</a></li>
+<li><a href="/bugs/tab/system_show" class="tab">LinHES Forums</a></li>
+<li><a href="http://www.redmine.org/guide" class="help">Help</a></li></ul></div>
+
+<div id="header">
+
+ <div id="quick-search">
+ <form action="/bugs/search/index/linhes" method="get">
+
+ <a href="/bugs/search/index/linhes" accesskey="4">Search</a>:
+ <input accesskey="f" class="small" id="q" name="q" size="20" type="text" />
+ </form>
+
+ </div>
+
+
+ <h1>LinHES</h1>
+
+
+ <div id="main-menu">
+ <ul><li><a href="/bugs/projects/linhes" class="overview">Overview</a></li>
+<li><a href="/bugs/projects/linhes/activity" class="activity">Activity</a></li>
+<li><a href="/bugs/projects/linhes/roadmap" class="roadmap">Roadmap</a></li>
+<li><a href="/bugs/projects/linhes/issues" class="issues">Issues</a></li>
+<li><a href="/bugs/projects/linhes/news" class="news">News</a></li>
+<li><a href="/bugs/projects/linhes/documents" class="documents">Documents</a></li>
+<li><a href="/bugs/projects/linhes/wiki" class="wiki">Wiki</a></li>
+<li><a href="/bugs/projects/linhes/repository" class="repository">Repository</a></li></ul>
+ </div>
+
+</div>
+
+<div class="nosidebar" id="main">
+ <div id="sidebar">
+
+ </br></br>
+ <form action="https://www.paypal.com/cgi-bin/webscr" method="post">
+ <span style="color: rgb(0, 0, 0);"><input name="cmd" value="_s-xclick" type="hidden">
+ <input src="https://www.paypal.com/en_US/i/btn/x-click-but21.gif" b="" order="0" name="submit" alt="Make payments with PayPal - it's fast, free and sec" height="23" type="image" width="110">
+ <input name="encrypted" value="-----BEGIN PKCS7----- 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 -----END PKCS7-----" type="hidden"></span>
+ </form>
+
+
+
+</br></br></br>
+<a href="http://www.simerec.com/PCS-2.html?LinHES/">Switch your PC on/off with your IR remote!</a>
+ </div>
+
+ <div id="content">
+
+ <h2>xwin_find.sh</h2>
+
+<div class="attachments">
+<p>xwin_find utility required by idle.sh -
+ <span class="author">chael, 01/30/2011 09:57 am</span></p>
+<p><a href="/bugs/attachments/download/569/xwin_find.sh">Download</a> <span class="size">(2 kB)</span></p>
+
+</div>
+&nbsp;
+<div class="autoscroll">
+<table class="filecontent syntaxhl">
+<tbody>
+
+
+<tr><th class="line-num" id="L1"><a href="#L1">1</a></th><td class="line-code"><pre>#!/bin/sh
+</pre></td></tr>
+
+
+<tr><th class="line-num" id="L2"><a href="#L2">2</a></th><td class="line-code"><pre>#
+</pre></td></tr>
+
+
+<tr><th class="line-num" id="L3"><a href="#L3">3</a></th><td class="line-code"><pre># xwin_find [-v|-q] [timeout] window_name_regex
+</pre></td></tr>
+
+
+<tr><th class="line-num" id="L4"><a href="#L4">4</a></th><td class="line-code"><pre>#
+</pre></td></tr>
+
+
+<tr><th class="line-num" id="L5"><a href="#L5">5</a></th><td class="line-code"><pre># Look for a window of the windows full name given by a awk regular
+</pre></td></tr>
+
+
+<tr><th class="line-num" id="L6"><a href="#L6">6</a></th><td class="line-code"><pre># expression, and print the windows xwindow ID.
+</pre></td></tr>
+
+
+<tr><th class="line-num" id="L7"><a href="#L7">7</a></th><td class="line-code"><pre>#
+</pre></td></tr>
+
+
+<tr><th class="line-num" id="L8"><a href="#L8">8</a></th><td class="line-code"><pre># If a timeout is given (in seconds)continue to look for the windows ID
+</pre></td></tr>
+
+
+<tr><th class="line-num" id="L9"><a href="#L9">9</a></th><td class="line-code"><pre># for this amount of time before returning. (EG default a single search)
+</pre></td></tr>
+
+
+<tr><th class="line-num" id="L10"><a href="#L10">10</a></th><td class="line-code"><pre>#
+</pre></td></tr>
+
+
+<tr><th class="line-num" id="L11"><a href="#L11">11</a></th><td class="line-code"><pre># If no such window is found output nothing, just exit
+</pre></td></tr>
+
+
+<tr><th class="line-num" id="L12"><a href="#L12">12</a></th><td class="line-code"><pre>#
+</pre></td></tr>
+
+
+<tr><th class="line-num" id="L13"><a href="#L13">13</a></th><td class="line-code"><pre># OPTIONS
+</pre></td></tr>
+
+
+<tr><th class="line-num" id="L14"><a href="#L14">14</a></th><td class="line-code"><pre># -v verbose, print the full matching xwininfo line on stderr
+</pre></td></tr>
+
+
+<tr><th class="line-num" id="L15"><a href="#L15">15</a></th><td class="line-code"><pre># -q do not print windows ID on stdout
+</pre></td></tr>
+
+
+<tr><th class="line-num" id="L16"><a href="#L16">16</a></th><td class="line-code"><pre>#
+</pre></td></tr>
+
+
+<tr><th class="line-num" id="L17"><a href="#L17">17</a></th><td class="line-code"><pre>####
+</pre></td></tr>
+
+
+<tr><th class="line-num" id="L18"><a href="#L18">18</a></th><td class="line-code"><pre># Anthony Thyssen September 2005
+</pre></td></tr>
+
+
+<tr><th class="line-num" id="L19"><a href="#L19">19</a></th><td class="line-code"><pre>#
+</pre></td></tr>
+
+
+<tr><th class="line-num" id="L20"><a href="#L20">20</a></th><td class="line-code"><pre>PROGNAME=`type $0 | awk '{print $3}'` # search for executable on path
+</pre></td></tr>
+
+
+<tr><th class="line-num" id="L21"><a href="#L21">21</a></th><td class="line-code"><pre>PROGDIR=`dirname $PROGNAME` # extract directory of program
+</pre></td></tr>
+
+
+<tr><th class="line-num" id="L22"><a href="#L22">22</a></th><td class="line-code"><pre>PROGNAME=`basename $PROGNAME` # base name of program
+</pre></td></tr>
+
+
+<tr><th class="line-num" id="L23"><a href="#L23">23</a></th><td class="line-code"><pre>Usage() {
+</pre></td></tr>
+
+
+<tr><th class="line-num" id="L24"><a href="#L24">24</a></th><td class="line-code"><pre> echo &gt;&amp;2 &quot;$PROGNAME:&quot; &quot;$@&quot;
+</pre></td></tr>
+
+
+<tr><th class="line-num" id="L25"><a href="#L25">25</a></th><td class="line-code"><pre> sed &gt;&amp;2 -n '/^###/q; s/^#$/# /; 3s/^#/# Usage:/; 3,$s/^# //p;' \
+</pre></td></tr>
+
+
+<tr><th class="line-num" id="L26"><a href="#L26">26</a></th><td class="line-code"><pre> &quot;$PROGDIR/$PROGNAME&quot;
+</pre></td></tr>
+
+
+<tr><th class="line-num" id="L27"><a href="#L27">27</a></th><td class="line-code"><pre> exit 10;
+</pre></td></tr>
+
+
+<tr><th class="line-num" id="L28"><a href="#L28">28</a></th><td class="line-code"><pre>}
+</pre></td></tr>
+
+
+<tr><th class="line-num" id="L29"><a href="#L29">29</a></th><td class="line-code"><pre>
+</pre></td></tr>
+
+
+<tr><th class="line-num" id="L30"><a href="#L30">30</a></th><td class="line-code"><pre>timeout=0
+</pre></td></tr>
+
+
+<tr><th class="line-num" id="L31"><a href="#L31">31</a></th><td class="line-code"><pre>
+</pre></td></tr>
+
+
+<tr><th class="line-num" id="L32"><a href="#L32">32</a></th><td class="line-code"><pre>while [ $# -gt 0 ]; do
+</pre></td></tr>
+
+
+<tr><th class="line-num" id="L33"><a href="#L33">33</a></th><td class="line-code"><pre> case &quot;$1&quot; in
+</pre></td></tr>
+
+
+<tr><th class="line-num" id="L34"><a href="#L34">34</a></th><td class="line-code"><pre> [0-9]*) timeout=`date +%s`
+</pre></td></tr>
+
+
+<tr><th class="line-num" id="L35"><a href="#L35">35</a></th><td class="line-code"><pre> timeout=`expr $timeout + $1 + 1` || Usage
+</pre></td></tr>
+
+
+<tr><th class="line-num" id="L36"><a href="#L36">36</a></th><td class="line-code"><pre> ;;
+</pre></td></tr>
+
+
+<tr><th class="line-num" id="L37"><a href="#L37">37</a></th><td class="line-code"><pre> -q) QUIET=true ;; # don't print the final window ID, just status
+</pre></td></tr>
+
+
+<tr><th class="line-num" id="L38"><a href="#L38">38</a></th><td class="line-code"><pre> -v) VERBOSE=true ;; # output the full xwininfo line on stderr
+</pre></td></tr>
+
+
+<tr><th class="line-num" id="L39"><a href="#L39">39</a></th><td class="line-code"><pre>
+</pre></td></tr>
+
+
+<tr><th class="line-num" id="L40"><a href="#L40">40</a></th><td class="line-code"><pre> --) shift; break ;; # end of user options
+</pre></td></tr>
+
+
+<tr><th class="line-num" id="L41"><a href="#L41">41</a></th><td class="line-code"><pre> -*) Usage &quot;Unknown option \&quot;$1\&quot;&quot; ;;
+</pre></td></tr>
+
+
+<tr><th class="line-num" id="L42"><a href="#L42">42</a></th><td class="line-code"><pre> *) break ;; # end of user options
+</pre></td></tr>
+
+
+<tr><th class="line-num" id="L43"><a href="#L43">43</a></th><td class="line-code"><pre> esac
+</pre></td></tr>
+
+
+<tr><th class="line-num" id="L44"><a href="#L44">44</a></th><td class="line-code"><pre> shift # next option
+</pre></td></tr>
+
+
+<tr><th class="line-num" id="L45"><a href="#L45">45</a></th><td class="line-code"><pre>done
+</pre></td></tr>
+
+
+<tr><th class="line-num" id="L46"><a href="#L46">46</a></th><td class="line-code"><pre>
+</pre></td></tr>
+
+
+<tr><th class="line-num" id="L47"><a href="#L47">47</a></th><td class="line-code"><pre>[ $# -lt 1 ] &amp;&amp; Usage &quot;Missing window search regex&quot;
+</pre></td></tr>
+
+
+<tr><th class="line-num" id="L48"><a href="#L48">48</a></th><td class="line-code"><pre>[ $# -gt 1 ] &amp;&amp; Usage &quot;Too many arguments.&quot;
+</pre></td></tr>
+
+
+<tr><th class="line-num" id="L49"><a href="#L49">49</a></th><td class="line-code"><pre>
+</pre></td></tr>
+
+
+<tr><th class="line-num" id="L50"><a href="#L50">50</a></th><td class="line-code"><pre>
+</pre></td></tr>
+
+
+<tr><th class="line-num" id="L51"><a href="#L51">51</a></th><td class="line-code"><pre>find_win() {
+</pre></td></tr>
+
+
+<tr><th class="line-num" id="L52"><a href="#L52">52</a></th><td class="line-code"><pre> # nice added to let it give way to starting processes
+</pre></td></tr>
+
+
+<tr><th class="line-num" id="L53"><a href="#L53">53</a></th><td class="line-code"><pre> if [ &quot;$VERBOSE&quot; ]; then
+</pre></td></tr>
+
+
+<tr><th class="line-num" id="L54"><a href="#L54">54</a></th><td class="line-code"><pre> line=`nice xwininfo -root -tree | awk '/&quot;'&quot;$1&quot;'&quot;:/ {print; exit}'`
+</pre></td></tr>
+
+
+<tr><th class="line-num" id="L55"><a href="#L55">55</a></th><td class="line-code"><pre> echo &gt;&amp;2 $line # VERBOSE - xwininfo output
+</pre></td></tr>
+
+
+<tr><th class="line-num" id="L56"><a href="#L56">56</a></th><td class="line-code"><pre> echo &quot;$line&quot; | sed 's/ .*//'
+</pre></td></tr>
+
+
+<tr><th class="line-num" id="L57"><a href="#L57">57</a></th><td class="line-code"><pre> else
+</pre></td></tr>
+
+
+<tr><th class="line-num" id="L58"><a href="#L58">58</a></th><td class="line-code"><pre> nice xwininfo -root -tree | awk '/&quot;'&quot;$1&quot;'&quot;:/ {print $1; exit}'
+</pre></td></tr>
+
+
+<tr><th class="line-num" id="L59"><a href="#L59">59</a></th><td class="line-code"><pre> fi
+</pre></td></tr>
+
+
+<tr><th class="line-num" id="L60"><a href="#L60">60</a></th><td class="line-code"><pre>}
+</pre></td></tr>
+
+
+<tr><th class="line-num" id="L61"><a href="#L61">61</a></th><td class="line-code"><pre>
+</pre></td></tr>
+
+
+<tr><th class="line-num" id="L62"><a href="#L62">62</a></th><td class="line-code"><pre>while :; do
+</pre></td></tr>
+
+
+<tr><th class="line-num" id="L63"><a href="#L63">63</a></th><td class="line-code"><pre> id=`find_win &quot;$1&quot;`
+</pre></td></tr>
+
+
+<tr><th class="line-num" id="L64"><a href="#L64">64</a></th><td class="line-code"><pre> if [ &quot;$id&quot; ]; then
+</pre></td></tr>
+
+
+<tr><th class="line-num" id="L65"><a href="#L65">65</a></th><td class="line-code"><pre> [ -z &quot;$QUIET&quot; ] &amp;&amp; echo $id # the window ID found
+</pre></td></tr>
+
+
+<tr><th class="line-num" id="L66"><a href="#L66">66</a></th><td class="line-code"><pre> exit 0;
+</pre></td></tr>
+
+
+<tr><th class="line-num" id="L67"><a href="#L67">67</a></th><td class="line-code"><pre> fi
+</pre></td></tr>
+
+
+<tr><th class="line-num" id="L68"><a href="#L68">68</a></th><td class="line-code"><pre> [ `date +%s` -ge $timeout ] &amp;&amp; break
+</pre></td></tr>
+
+
+<tr><th class="line-num" id="L69"><a href="#L69">69</a></th><td class="line-code"><pre>done
+</pre></td></tr>
+
+
+<tr><th class="line-num" id="L70"><a href="#L70">70</a></th><td class="line-code"><pre>
+</pre></td></tr>
+
+
+<tr><th class="line-num" id="L71"><a href="#L71">71</a></th><td class="line-code"><pre>exit 1 # window was not found
+</pre></td></tr>
+
+
+<tr><th class="line-num" id="L72"><a href="#L72">72</a></th><td class="line-code"><pre>
+</pre></td></tr>
+
+
+</tbody>
+</table>
+</div>
+
+
+
+
+
+
+ <div style="clear:both;"></div>
+ </div>
+</div>
+
+<div id="ajax-indicator" style="display:none;"><span>Loading...</span></div>
+
+<div id="footer">
+ <div class="bgl"><div class="bgr">
+ Powered by <a href="http://www.redmine.org/">Redmine</a> &copy; 2006-2011 Jean-Philippe Lang
+ </div></div>
+</div>
+</div>
+</div>
+
+</body>
+</html>