<?xml version="1.0" encoding="UTF-8"?>

  <display id="win" anchor="ne"
           window-flags="sticky, below">

  <meta author="SAL"
        version="1.2"
        name="Display HTTP Image"
        category="Misc"
        description="Desklet that displays http image"/>

  <!-- Retrieve the date/time control -->
  <control id="time" interface="ITime:9y703dqtfnv4w373caserz68r"/>

  <frame id="mainframe">
    <group id="displaygroup" relative-to="mainframe,x" width="100%">
      <image id="bg_image" image-width="100%" image-height="100%" scale="1.0" uri=""/>
    </group>
  </frame>
   
  <prefs callback="prefs_cb">
    <page label="Image">
        <uri id="bg_image_uri" label="Image URL:" bind="bg_image"/>
        <integer label="Widht:" bind="img_x" min="10" max="900" help="Image width"/>
        <integer label="Height:" bind="img_y" min="10" max="900" help="Image height"/>
    </page>
  </prefs>

 <script>
    #<![CDATA[

  ### copy this to:
  ### ~/.gdesklets/Displays/HttpImage/

  last_update_min = -5
  bg_image = ""
  img_x = 673
  img_y = 219
  scale = 1.0

  def prefs_cb(key, value):
      print key, value
      if key=='bg_image':
        Dsp.bg_image.uri = value
        bg_image = value
        print "Image set:", value
      elif key=="img_x":
        Dsp.displaygroup.width = Unit(value, PX)
      elif key=="img_y":
        Dsp.displaygroup.height = Unit(value, PX)
      elif key=="scale":
        Dsp.bg_image.scale = value

  def show_img(value):
      global last_update_min
      hh,mm,ss = value
      if mm!=last_update_min or True:
        Dsp.bg_image.uri = bg_image
        print "Image updated:", bg_image, value
        last_update_min = mm

  #watch time
  time.bind("time", show_img)
  #prefs_cb('bg_image', bg_image)
  show_img(time.time)

  ]]>
 </script>
</display>
