Imported Upstream version 1.2.0
[psensor-pkg-debian.git] / doc / TODO.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"\r
2     "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">\r
3 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">\r
4 <head>\r
5 <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" />\r
6 <meta name="generator" content="AsciiDoc 8.6.9" />\r
7 <title>Psensor TODO</title>\r
8 <style type="text/css">\r
9 \r
10 body {\r
11     background: #e2e2e2;\r
12     color: #333333;\r
13     font-family: Ubuntu,Arial,sans-serif;\r
14     line-height: 1.6;\r
15     font-weight: lighter;\r
16     margin: 1em 2em 2em 2em;\r
17     padding: 0 0 0 0;\r
18 }\r
19 \r
20 h1 {\r
21     font-size: 2.813em;\r
22     margin: 0 0 0.267em 0;\r
23     padding: 0 0 0 0;\r
24     font-weight: normal;\r
25 }\r
26 \r
27 h2 {\r
28     font-size: 2em;\r
29     margin: 0 0 0.375em;\r
30     padding: 0 0 0 0;\r
31     font-weight: normal;\r
32 }\r
33 \r
34 h3 {\r
35     font-size: 1.438em;\r
36     margin: 0 0 0.522em;\r
37     padding: 0 0 0 0;\r
38     font-weight: normal;\r
39 }\r
40 \r
41 h4 {\r
42     font-size: 1.219em;\r
43     margin: 0 0 0.615em;\r
44     padding: 0 0 0 0;\r
45     font-weight: normal;\r
46 }\r
47 \r
48 h5 {\r
49     font-size: 1em;\r
50     margin: 0 0 0.75em;\r
51     padding: 0 0 0 0;\r
52     font-weight: bold;\r
53 }\r
54 \r
55 h6 {\r
56     font-weight: normal;\r
57     font-size: 0.813em;\r
58     letter-spacing: 0.1em;\r
59     margin: 0 0 0.923em;\r
60     text-transform: uppercase;\r
61     padding: 0 0 0 0;\r
62 }\r
63 \r
64 li {\r
65     margin: 0 0 0 1em;\r
66     line-height: 1.6;\r
67 }\r
68 \r
69 li p {\r
70     margin: 0 0 0 0;\r
71 }\r
72 \r
73 ul {\r
74     margin: 0 0 0 0;\r
75     padding: 0 0 0 0;\r
76 }\r
77 \r
78 a:link, a:visited {\r
79     color: #19B6EE;\r
80     text-decoration: none;\r
81 }\r
82 \r
83 a:hover {\r
84     text-decoration: underline;\r
85 }\r
86 \r
87 code, pre, tt {\r
88     font-family: "Ubuntu Mono","Courier New",Courier,monospace;\r
89     font-weight: normal;\r
90     color: #333333;\r
91 }\r
92 \r
93 pre {\r
94     background: none repeat scroll 0 0 #e0e0e0;\r
95     border-radius: 4px;\r
96     padding: 0.5em 0.5em;\r
97     margin: 0 0 0 0;\r
98     white-space: pre-wrap;\r
99     word-wrap: break-word;\r
100 }\r
101 \r
102 table {\r
103     width: 100%;\r
104     text-align: left;\r
105 }\r
106 \r
107 #footer {\r
108     margin: 0 0 0 0;\r
109     font-size: 0.8em;\r
110     font-weight: lighter;\r
111     clear: both;\r
112     text-align: right;\r
113 }\r
114 \r
115 #page {\r
116     margin: 0 0 0 0;\r
117     padding: 0 0 0 0;\r
118 }\r
119 \r
120 #main {\r
121     background: #ffffff;\r
122 \r
123    -moz-box-sizing: border-box;\r
124 \r
125     padding: 2em 2em 2em 2em;\r
126 \r
127     -moz-border-radius: 4px;\r
128     -webkit-border-radius: 4px;\r
129     border-radius: 4px;\r
130 \r
131     -webkit-box-shadow: 0 2px 2px 0 #C2C2C2;\r
132     box-shadow: 0 2px 2px 0 #C2C2C2;\r
133 }\r
134 \r
135 #menu {\r
136     background: #ffffff;\r
137    -moz-box-sizing: border-box;\r
138     padding: 2em 2em 2em 2em;\r
139 \r
140     -moz-border-radius: 4px;\r
141     -webkit-border-radius: 4px;\r
142     border-radius: 4px;\r
143 \r
144     -webkit-box-shadow: 0 2px 2px 0 #C2C2C2;\r
145     box-shadow: 0 2px 2px 0 #C2C2C2;\r
146 }\r
147 \r
148 #menu-list, #menu-list > li > ul  {\r
149     list-style-type: none;\r
150 }\r
151 \r
152 /* menu on left col, content on right col */\r
153 \r
154 #menu {\r
155     float: left;\r
156     width: 18%;\r
157 }\r
158 \r
159 #main {\r
160     float: right;\r
161     width: 80%;\r
162 }\r
163 \r
164 /* asciidoc */\r
165 \r
166 #toc, #content {\r
167     margin: 0em 0em 2em 0em;\r
168 \r
169     background: #ffffff;\r
170    -moz-box-sizing: border-box;\r
171     padding: 2em 2em 2em 2em;\r
172 \r
173     -moz-border-radius: 4px;\r
174     -webkit-border-radius: 4px;\r
175     border-radius: 4px;\r
176 \r
177     -webkit-box-shadow: 0 2px 2px 0 #C2C2C2;\r
178     box-shadow: 0 2px 2px 0 #C2C2C2;\r
179 }\r
180 \r
181 \r
182 </style>\r
183 <script type="text/javascript">\r
184 /*<![CDATA[*/\r
185 var asciidoc = {  // Namespace.\r
186 \r
187 /////////////////////////////////////////////////////////////////////\r
188 // Table Of Contents generator\r
189 /////////////////////////////////////////////////////////////////////\r
190 \r
191 /* Author: Mihai Bazon, September 2002\r
192  * http://students.infoiasi.ro/~mishoo\r
193  *\r
194  * Table Of Content generator\r
195  * Version: 0.4\r
196  *\r
197  * Feel free to use this script under the terms of the GNU General Public\r
198  * License, as long as you do not remove or alter this notice.\r
199  */\r
200 \r
201  /* modified by Troy D. Hanson, September 2006. License: GPL */\r
202  /* modified by Stuart Rackham, 2006, 2009. License: GPL */\r
203 \r
204 // toclevels = 1..4.\r
205 toc: function (toclevels) {\r
206 \r
207   function getText(el) {\r
208     var text = "";\r
209     for (var i = el.firstChild; i != null; i = i.nextSibling) {\r
210       if (i.nodeType == 3 /* Node.TEXT_NODE */) // IE doesn't speak constants.\r
211         text += i.data;\r
212       else if (i.firstChild != null)\r
213         text += getText(i);\r
214     }\r
215     return text;\r
216   }\r
217 \r
218   function TocEntry(el, text, toclevel) {\r
219     this.element = el;\r
220     this.text = text;\r
221     this.toclevel = toclevel;\r
222   }\r
223 \r
224   function tocEntries(el, toclevels) {\r
225     var result = new Array;\r
226     var re = new RegExp('[hH]([1-'+(toclevels+1)+'])');\r
227     // Function that scans the DOM tree for header elements (the DOM2\r
228     // nodeIterator API would be a better technique but not supported by all\r
229     // browsers).\r
230     var iterate = function (el) {\r
231       for (var i = el.firstChild; i != null; i = i.nextSibling) {\r
232         if (i.nodeType == 1 /* Node.ELEMENT_NODE */) {\r
233           var mo = re.exec(i.tagName);\r
234           if (mo && (i.getAttribute("class") || i.getAttribute("className")) != "float") {\r
235             result[result.length] = new TocEntry(i, getText(i), mo[1]-1);\r
236           }\r
237           iterate(i);\r
238         }\r
239       }\r
240     }\r
241     iterate(el);\r
242     return result;\r
243   }\r
244 \r
245   var toc = document.getElementById("toc");\r
246   if (!toc) {\r
247     return;\r
248   }\r
249 \r
250   // Delete existing TOC entries in case we're reloading the TOC.\r
251   var tocEntriesToRemove = [];\r
252   var i;\r
253   for (i = 0; i < toc.childNodes.length; i++) {\r
254     var entry = toc.childNodes[i];\r
255     if (entry.nodeName.toLowerCase() == 'div'\r
256      && entry.getAttribute("class")\r
257      && entry.getAttribute("class").match(/^toclevel/))\r
258       tocEntriesToRemove.push(entry);\r
259   }\r
260   for (i = 0; i < tocEntriesToRemove.length; i++) {\r
261     toc.removeChild(tocEntriesToRemove[i]);\r
262   }\r
263 \r
264   // Rebuild TOC entries.\r
265   var entries = tocEntries(document.getElementById("content"), toclevels);\r
266   for (var i = 0; i < entries.length; ++i) {\r
267     var entry = entries[i];\r
268     if (entry.element.id == "")\r
269       entry.element.id = "_toc_" + i;\r
270     var a = document.createElement("a");\r
271     a.href = "#" + entry.element.id;\r
272     a.appendChild(document.createTextNode(entry.text));\r
273     var div = document.createElement("div");\r
274     div.appendChild(a);\r
275     div.className = "toclevel" + entry.toclevel;\r
276     toc.appendChild(div);\r
277   }\r
278   if (entries.length == 0)\r
279     toc.parentNode.removeChild(toc);\r
280 },\r
281 \r
282 \r
283 /////////////////////////////////////////////////////////////////////\r
284 // Footnotes generator\r
285 /////////////////////////////////////////////////////////////////////\r
286 \r
287 /* Based on footnote generation code from:\r
288  * http://www.brandspankingnew.net/archive/2005/07/format_footnote.html\r
289  */\r
290 \r
291 footnotes: function () {\r
292   // Delete existing footnote entries in case we're reloading the footnodes.\r
293   var i;\r
294   var noteholder = document.getElementById("footnotes");\r
295   if (!noteholder) {\r
296     return;\r
297   }\r
298   var entriesToRemove = [];\r
299   for (i = 0; i < noteholder.childNodes.length; i++) {\r
300     var entry = noteholder.childNodes[i];\r
301     if (entry.nodeName.toLowerCase() == 'div' && entry.getAttribute("class") == "footnote")\r
302       entriesToRemove.push(entry);\r
303   }\r
304   for (i = 0; i < entriesToRemove.length; i++) {\r
305     noteholder.removeChild(entriesToRemove[i]);\r
306   }\r
307 \r
308   // Rebuild footnote entries.\r
309   var cont = document.getElementById("content");\r
310   var spans = cont.getElementsByTagName("span");\r
311   var refs = {};\r
312   var n = 0;\r
313   for (i=0; i<spans.length; i++) {\r
314     if (spans[i].className == "footnote") {\r
315       n++;\r
316       var note = spans[i].getAttribute("data-note");\r
317       if (!note) {\r
318         // Use [\s\S] in place of . so multi-line matches work.\r
319         // Because JavaScript has no s (dotall) regex flag.\r
320         note = spans[i].innerHTML.match(/\s*\[([\s\S]*)]\s*/)[1];\r
321         spans[i].innerHTML =\r
322           "[<a id='_footnoteref_" + n + "' href='#_footnote_" + n +\r
323           "' title='View footnote' class='footnote'>" + n + "</a>]";\r
324         spans[i].setAttribute("data-note", note);\r
325       }\r
326       noteholder.innerHTML +=\r
327         "<div class='footnote' id='_footnote_" + n + "'>" +\r
328         "<a href='#_footnoteref_" + n + "' title='Return to text'>" +\r
329         n + "</a>. " + note + "</div>";\r
330       var id =spans[i].getAttribute("id");\r
331       if (id != null) refs["#"+id] = n;\r
332     }\r
333   }\r
334   if (n == 0)\r
335     noteholder.parentNode.removeChild(noteholder);\r
336   else {\r
337     // Process footnoterefs.\r
338     for (i=0; i<spans.length; i++) {\r
339       if (spans[i].className == "footnoteref") {\r
340         var href = spans[i].getElementsByTagName("a")[0].getAttribute("href");\r
341         href = href.match(/#.*/)[0];  // Because IE return full URL.\r
342         n = refs[href];\r
343         spans[i].innerHTML =\r
344           "[<a href='#_footnote_" + n +\r
345           "' title='View footnote' class='footnote'>" + n + "</a>]";\r
346       }\r
347     }\r
348   }\r
349 },\r
350 \r
351 install: function(toclevels) {\r
352   var timerId;\r
353 \r
354   function reinstall() {\r
355     asciidoc.footnotes();\r
356     if (toclevels) {\r
357       asciidoc.toc(toclevels);\r
358     }\r
359   }\r
360 \r
361   function reinstallAndRemoveTimer() {\r
362     clearInterval(timerId);\r
363     reinstall();\r
364   }\r
365 \r
366   timerId = setInterval(reinstall, 500);\r
367   if (document.addEventListener)\r
368     document.addEventListener("DOMContentLoaded", reinstallAndRemoveTimer, false);\r
369   else\r
370     window.onload = reinstallAndRemoveTimer;\r
371 }\r
372 \r
373 }\r
374 asciidoc.install(2);\r
375 /*]]>*/\r
376 </script>\r
377 </head>\r
378 <body class="article">\r
379 <div id="header">\r
380 <h1>Psensor TODO</h1>\r
381 <div id="toc">
382   <div id="toctitle">Table of Contents</div>
383   <noscript><p><b>JavaScript must be enabled in your browser to display the table of contents.</b></p></noscript>
384 </div>\r
385 </div>\r
386 <div id="content">\r
387 <div id="preamble">\r
388 <div class="sectionbody">\r
389 <div class="paragraph"><p>The last version of this file is available at\r
390 <a href="http://wpitchoune.net/gitweb/?p=psensor.git;a=blob_plain;f=doc/TODO.html;hb=HEAD">http://wpitchoune.net/gitweb/?p=psensor.git;a=blob_plain;f=doc/TODO.html;hb=HEAD</a>.</p></div>\r
391 <div class="ulist"><ul>\r
392 <li>\r
393 <p>\r
394 Play a sound when a sensor alert is raised. Note that\r
395    it can actually be done by using the script support.\r
396 </p>\r
397 </li>\r
398 <li>\r
399 <p>\r
400 Use max/crit temperature information provided by\r
401    lm-sensor.\r
402 </p>\r
403 </li>\r
404 <li>\r
405 <p>\r
406 Include help/faq directly in psensor UI.\r
407 </p>\r
408 </li>\r
409 </ul></div>\r
410 </div>\r
411 </div>\r
412 </div>\r
413 <div id="footnotes"><hr /></div>\r
414 <div id="footer">\r
415 <div id="footer-text">\r
416 Last updated\r
417  2016-06-05 13:12:53 CEST\r
418 </div>\r
419 </div>\r
420 </body>\r
421 </html>\r