Display dpf {
    Driver     'DPF'
    Port       'usb0'
    Font       '6x8'
    Foreground 'ffffff'
    Background '000000'
    Basecolor  '000000'
    Orientation 0          # 0 = standard, 1 = rotate 90° CW
                           # 2 = rotate 180°, 3 = rotate 90° CCW
    Backlight  backlight   # Backlight variable control, 0..7 (0=off, 7=max)
}

Widget OS {
    class 'Text'
    expression '*** '.uname('sysname').' '.uname('release').' - dpf-ax driver by hackfin & superelchi ***'
    width 20
    align 'M'
    update tick
    Background '008000'
    Foreground 'ffffff'
}

Widget CPU {
    class  'Text'
    expression  uname('machine')
    prefix 'CPU '
    width  10
    align  'L'
    update tick
    Background 'FFFFFF00'
}


Widget RAM {
    class  'Text'
    expression meminfo('MemTotal')/1024
    postfix ' MB RAM'
    width  11
    precision 0
    align  'R'
    update tick
    Background 'FFFFFF00'
}

Widget Busy {
    class 'Text'
    expression proc_stat::cpu('busy', 500)
    prefix 'Busy'
    postfix '%'
    width 10
    precision 1
    align 'R'
    update tick
    Foreground 'ffffff'
    Background 'FFFFFF00'
}

Widget System {
    class 'Text'
    expression proc_stat::cpu('system', 500)
    prefix 'Sys'
    postfix '%'
    width 10
    precision 1
    align 'R'
    update tick
    Foreground 'ffffff'
    Background 'FFFFFF00'
}

Widget User {
    class 'Text'
    expression proc_stat::cpu('user', 500)
    prefix 'User'
    postfix '%'
    width 10
    precision 1
    align 'R'
    update tick
    Foreground 'ffffff'
    Background 'FFFFFF00'
}

Widget BusyBar {
    class 'Bar'
    expression  proc_stat::cpu('busy',   500)
    expression2 proc_stat::cpu('system', 500)
    length 20
    direction 'E'
    update tack
    Foreground 'ffffff'
    Background '00000080'
    BarColor0 '5f5fff'
    BarColor1 'ff5f5f'
}

Widget Load {
    class 'Text'
    expression loadavg(1)
    prefix 'Load'
    postfix loadavg(1)>1.0?'!':' '
    width 10
    precision 1
    align 'R'
    update tick
    Foreground 'ffffff'
    Background 'FFFFFF00'
}

Widget LoadBar {
    class 'Bar'
    expression  loadavg(1)
    max 2.0
    length 20
    direction 'E'
    update tack
    Foreground 'ffffff'
    Background '00000080'
    BarColor0 '5f5fff'
    BarColor1 'ff5f5f'
}


Widget Disk {
    class 'Text'
    # disk.[rw]blk return blocks, we assume a blocksize of 512
    # to get the number in kB/s we would do blk*512/1024, which is blk/2
    # expression (proc_stat::disk('.*', 'rblk', 500)+proc_stat::disk('.*', 'wblk', 500))/2
    # with kernel 2.6, disk_io disappeared from /proc/stat but moved to /proc/diskstat
    # therefore you have to use another function called 'diskstats':
    expression diskstats('hd.', 'read_sectors', 500) + diskstats('hd.', 'write_sectors', 500)
    prefix 'disk'
    postfix ' '
    width 10
    precision 0
    align 'R'
    update tick
    Foreground 'ffffff'
    Background 'FFFFFF00'
}

Widget DiskBar {
    class 'Bar'
    #expression  proc_stat::disk('.*', 'rblk', 500)
    #expression2 proc_stat::disk('.*', 'wblk', 500)
    # for kernel 2.6:
    expression  diskstats('sd.', 'read_sectors',  500)
    expression2 diskstats('sd.', 'write_sectors', 500)
    length 20
    direction 'E'
    update tack
    Foreground 'ffffff'
    Background '00000080'
    BarColor0 '5f5fff'
    BarColor1 'ff5f5f'
}

Widget Eth0 {
    class 'Text'
    expression (netdev('eth0', 'Rx_bytes', 500)+netdev('wlan0', 'Tx_bytes', 500))/1024
    prefix 'LAN'
    postfix ' '
    width 10
    precision 0
    align 'R'
    update tick
    Foreground 'ffffff'
    Background 'FFFFFF00'
}

Widget Eth0Bar {
    class 'Bar'
    expression  netdev('eth0', 'Rx_bytes', 500)
    expression2 netdev('eth0', 'Tx_bytes', 500)
    length 20
    direction 'E'
    update tack
    Foreground 'ffffff'
    Background '00000080'
    BarColor0 '5f5fff'
    BarColor1 'ff5f5f'
}

Widget Uptime {
    class 'Text'
    expression uptime('%d days %H:%M:%S')
    width 20
    align 'R'
    prefix 'Up '
    update 1000
    Background 'FFFFFF00'
}

#Widget Bgnd {
#    class 'Image'
#    file 'bgnd.png'
#    reload 1
#    update 5000
#    inverted 0
#    visible 1
#}

Display 'DPF'

Layout layout_128x128 {
    Row01.Col01 'OS'
    Row02.Col01 'CPU'
    Row03.Col09 'RAM'
    Row06.Col01 'Busy'
    Row07.Col01 'BusyBar'
    Row08.Col01 'Load'
    Row09.Col01 'LoadBar'
    Row10.Col01 'Disk'
    Row11.Col01 'DiskBar'
    Row12.Col01 'Eth0'
    Row13.Col01 'Eth0Bar'
    Row16.Col01 'Uptime'
#    Layer 2 {
#	X1.Y1 'Bgnd'
#    }
}

Layout 'layout_128x128'

Variables {
    backlight 7
    tick 500
    tack 200
    minute 60000
}

