aboutsummaryrefslogtreecommitdiffstats
path: root/Status
blob: 61a348bb92ae02575a8ce6b3cc0638d449324b14 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
Lcd4Linux NextGeneration porting status

 DRIVERS :  format : status (widgets) + extras [todo]
-------------------------------------------------------
        Crystalfontz -> Ported (Text,Bar,Icon) + blacklight,contrast,pwm [gpo,rpm]
             Cwlinux -> Ported (Text,Bar,Icon) + blacklight [gpo,gpi,inverted text,relay]
             HD44780 -> Ported (Text,Bar,Icon) + soft brightness,'busy flag',gpo [soft contrast]
              M50530 -> Ported (Text,Bar,Icon) + gpo
       MatrixOrbital -> Ported (Text,Bar,Icon) + blacklight,contrast,gpo,pwm,rpm [?]
              T6963* -> Ported (Text,Bar,Icon) [?]
              USBLCD -> Ported (Text,Bar,Icon) [?]
            XWindow* -> Ported (Text,Bar,Icon) [gnome applet ?]

        BeckmannEgle ->     
              Curses ->    
  MilfordInstruments ->
           PalmPilot ->
             Raster* ->
                SIN* ->


* graphic displays

 PLUGINS :  format : status (functions) {old tokens} [todo]
------------------------------------------------------------
	 plugin_apm  -> Finished (apm) {battery: bd bp bs} 
      plugin_cpuinfo -> Finished (cpuinfo) {P}
          plugin_dvb -> Finished (dvb) NEW
	 plugin_exec -> Finished (exec) {x*}
  plugin_i2c_sensors -> Finished (i2c_sensors) {s*} [needs testing for procfs]
         plugin_imon -> Finished (imon, version, rates) [hazardous function names]
      plugin_loadavg -> Finished (loadavg) {L l1 l2 l3}
      plugin_meminfo -> Finished (meminfo) {ma mb mc mf ms mt mu r}
        plugin_mysql -> Finished (mySQLquery, mySQLstatus) NEW
       plugin_netdev -> Finished (netdev) {nm nr nt nw}
          plugin_ppp -> Finished (ppp) {ti tm to tt}
    plugin_proc_stat -> Finished (proc_stat, cpu, disk) {cb ci cn cs cu dm dr dt dw}
	 plugin_seti -> Finished (seti) {hc ht}
        plugin_uname -> Finished (uname) {o v}
     plugin_wireless -> Finished (level, noise, quality, ...) {ws wl wn}
         plugin_xmms -> Finished (xmms) NEW

(special plugins : plugin_cfg, plugin_math, plugin_string)

tokens not ported :
mail {e* u*}
ISDN {ic ii im io it}

 TODO : task {assigned to}
--------

For 0.10.0 :
* namespace support for plugins (with ::) {Michael}
* finish debian package {Xavier, Luk, Samuel}
* new website ? {Xavier}
- write decent documentation

For 0.10.1 :
- add events/input layer
- support "virtual rows" (will be done with events)
- add support for input (display keypads, gamepads, socket, ...)

Not time-critical
- support visible attribute for widgets other than icons
- time-based bars for graphic displays
- dynamic loading of plugins/displays/input (after 0.10.0)

( - todo; * in progress; + done)
> #include <sys/utsname.h> #include "debug.h" #include "plugin.h" static void my_uname(RESULT * result, RESULT * arg1) { struct utsname utsbuf; char *key, *value; key = R2S(arg1); if (uname(&utsbuf) != 0) { error("uname() failed: %s", strerror(errno)); SetResult(&result, R_STRING, ""); return; } if (strcasecmp(key, "sysname") == 0) { value = utsbuf.sysname; } else if (strcasecmp(key, "nodename") == 0) { value = utsbuf.nodename; } else if (strcasecmp(key, "release") == 0) { value = utsbuf.release; } else if (strcasecmp(key, "version") == 0) { value = utsbuf.version; } else if (strcasecmp(key, "machine") == 0) { value = utsbuf.machine; #if defined(_GNU_SOURCE) && ! defined(__APPLE__) && ! defined(__CYGWIN__) } else if (strcasecmp(key, "domainname") == 0) { value = utsbuf.domainname; #endif } else { error("uname: unknown field '%s'", key); value = ""; } SetResult(&result, R_STRING, value); } int plugin_init_uname(void) { AddFunction("uname", 1, my_uname); return 0; } void plugin_exit_uname(void) { }