#!/usr/bin/python

from Xlib import X, display, Xutil
import time

data = '\xc6\xc6\xc6\xff\xc6\xc6\xc6\xff\xc6\xc6\xc6\xff\xc6\xc6\xc6\xff\xc6\xc6\xc6\xff\xc6\xc6\xc6\xff\xc6\xc6\xc6\xff\x00\x00\x00\xff\x00\x00\x00\xff\xc6\xc6\xc6\xff\xc6\xc6\xc6\xff\xc6\xc6\xc6\xff\xc6\xc6\xc6\xff\xc6\xc6\xc6\xff\xc6\xc6\xc6\xff\xc6\xc6\xc6\xff\xc6\xc6\xc6\xff\xc6\xc6\xc6\xff\xc6\xc6\xc6\xff\xc6\xc6\xc6\xff\xc6\xc6\xc6\xff\xc6\xc6\xc6\xff\x00\x00\x00\xff\xfe\xfe\xfe\xff\x00\xf9\xfb\xff\x00\x00\x00\xff\xc6\xc6\xc6\xff\xc6\xc6\xc6\xff\xc6\xc6\xc6\xff\xc6\xc6\xc6\xff\xc6\xc6\xc6\xff\xc6\xc6\xc6\xff\xc6\xc6\xc6\xff\xc6\xc6\xc6\xff\xc6\xc6\xc6\xff\xc6\xc6\xc6\xff\xc6\xc6\xc6\xff\x00\x00\x00\xff\xfe\xfe\xfe\xff\x00\xf9\xfb\xff\x00\xf9\xfb\xff\x0c\xd2\xf0\xff\x00\x00\x00\xff\xc6\xc6\xc6\xff\xc6\xc6\xc6\xff\xc6\xc6\xc6\xff\xc6\xc6\xc6\xff\xc6\xc6\xc6\xff\xc6\xc6\xc6\xff\xc6\xc6\xc6\xff\xc6\xc6\xc6\xff\xc6\xc6\xc6\xff\xc6\xc6\xc6\xff\x00\x00\x00\xff\xfe\xfe\xfe\xff\x00\xf9\xfb\xff\x00\xf9\xfb\xff\x0c\xd2\xf0\xff\x00\x00\x00\xff\xc6\xc6\xc6\xff\xc6\xc6\xc6\xff\xc6\xc6\xc6\xff\xc6\xc6\xc6\xff\xc6\xc6\xc6\xff\xc6\xc6\xc6\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xfe\xfe\xfe\xff\x00\xf9\xfb\xff\x00\xf9\xfb\xff\x00\xf9\xfb\xff\x00\xf9\xfb\xff\x0c\xd2\xf0\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xc6\xc6\xc6\xff\x00\x00\x00\xff\xfe\xfe\xfe\xff\xfe\xfe\xfe\xff\xfe\xfe\xfe\xff\x00\xf9\xfb\xff\x00\xf9\xfb\xff\x00\xf9\xfb\xff\x00\xf9\xfb\xff\x00\xf9\xfb\xff\x00\xf9\xfb\xff\x00\xf9\xfb\xff\x00\xf9\xfb\xff\x00\xf9\xfb\xff\x00\xdb\xfb\xff\x00\xdb\xfb\xff\x00\x00\x00\xff\x00\x00\x00\xff\xfe\xfe\xfe\xff\x00\xf9\xfb\xff\x00\xf9\xfb\xff\x00\xf9\xfb\xff\x00\xf9\xfb\xff\x00\xf9\xfb\xff\x00\xf9\xfb\xff\x00\xf9\xfb\xff\x00\xf9\xfb\xff\x00\xf9\xfb\xff\x00\xf9\xfb\xff\x00\xdb\xfb\xff\x00\xdb\xfb\xff\x10\x8f\xd3\xff\x00\x00\x00\xff\xc6\xc6\xc6\xff\x00\x00\x00\xff\x0c\xd2\xf0\xff\x0c\xd2\xf0\xff\x00\xf9\xfb\xff\x00\xf9\xfb\xff\x00\xf9\xfb\xff\x00\xf9\xfb\xff\x00\xf9\xfb\xff\x00\xf9\xfb\xff\x00\xf9\xfb\xff\x00\xdb\xfb\xff\x00\xdb\xfb\xff\x10\x8f\xd3\xff\x00\x00\x00\xff\xc6\xc6\xc6\xff\xc6\xc6\xc6\xff\xc6\xc6\xc6\xff\x00\x00\x00\xff\x10\x8f\xd3\xff\x0c\xd2\xf0\xff\x0c\xd2\xf0\xff\x00\xf9\xfb\xff\x00\xf9\xfb\xff\x00\xf9\xfb\xff\x00\xf9\xfb\xff\x00\xdb\xfb\xff\x00\xdb\xfb\xff\x10\x8f\xd3\xff\x00\x00\x00\xff\xc6\xc6\xc6\xff\xc6\xc6\xc6\xff\xc6\xc6\xc6\xff\xc6\xc6\xc6\xff\xc6\xc6\xc6\xff\x00\x00\x00\xff\x10\x8f\xd3\xff\x0c\xd2\xf0\xff\x00\xf9\xfb\xff\x00\xf9\xfb\xff\x00\xf9\xfb\xff\x00\xdb\xfb\xff\x00\xdb\xfb\xff\x10\x8f\xd3\xff\x00\x00\x00\xff\xc6\xc6\xc6\xff\xc6\xc6\xc6\xff\xc6\xc6\xc6\xff\xc6\xc6\xc6\xff\xc6\xc6\xc6\xff\xc6\xc6\xc6\xff\x00\x00\x00\xff\x0c\xd2\xf0\xff\x00\xf9\xfb\xff\x00\xf9\xfb\xff\x00\xdb\xfb\xff\x00\xdb\xfb\xff\x00\xdb\xfb\xff\x00\xdb\xfb\xff\x10\x8f\xd3\xff\x00\x00\x00\xff\xc6\xc6\xc6\xff\xc6\xc6\xc6\xff\xc6\xc6\xc6\xff\xc6\xc6\xc6\xff\xc6\xc6\xc6\xff\x00\x00\x00\xff\x0c\xd2\xf0\xff\x00\xdb\xfb\xff\x00\xdb\xfb\xff\x00\xdb\xfb\xff\x00\xdb\xfb\xff\x10\x8f\xd3\xff\x00\xdb\xfb\xff\x00\xdb\xfb\xff\x00\xdb\xfb\xff\x10\x8f\xd3\xff\x00\x00\x00\xff\xc6\xc6\xc6\xff\xc6\xc6\xc6\xff\xc6\xc6\xc6\xff\xc6\xc6\xc6\xff\x00\x00\x00\xff\x00\xdb\xfb\xff\x00\xdb\xfb\xff\x00\xdb\xfb\xff\x10\x8f\xd3\xff\x00\x00\x00\xff\x00\x00\x00\xff\x10\x8f\xd3\xff\x00\xdb\xfb\xff\x00\xdb\xfb\xff\x00\xdb\xfb\xff\x00\x00\x00\xff\xc6\xc6\xc6\xff\xc6\xc6\xc6\xff\xc6\xc6\xc6\xff\xc6\xc6\xc6\xff\x00\x00\x00\xff\x10\x8f\xd3\xff\x00\xdb\xfb\xff\x10\x8f\xd3\xff\x00\x00\x00\xff\xc6\xc6\xc6\xff\xc6\xc6\xc6\xff\x00\x00\x00\xff\x10\x8f\xd3\xff\x00\xdb\xfb\xff\x10\x8f\xd3\xff\x00\x00\x00\xff\xc6\xc6\xc6\xff\xc6\xc6\xc6\xff\xc6\xc6\xc6\xff\xc6\xc6\xc6\xff\xc6\xc6\xc6\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xc6\xc6\xc6\xff\xc6\xc6\xc6\xff\xc6\xc6\xc6\xff\xc6\xc6\xc6\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xc6\xc6\xc6\xff\xc6\xc6\xc6\xff\xc6\xc6\xc6\xff\xc6\xc6\xc6\xff\xc6\xc6\xc6\xff\xc6\xc6\xc6\xff\xc6\xc6\xc6\xff\xc6\xc6\xc6\xff\xc6\xc6\xc6\xff\xc6\xc6\xc6\xff\xc6\xc6\xc6\xff\xc6\xc6\xc6\xff\xc6\xc6\xc6\xff\xc6\xc6\xc6\xff\xc6\xc6\xc6\xff\xc6\xc6\xc6\xff\xc6\xc6\xc6\xff\xc6\xc6\xc6\xff\xc6\xc6\xc6\xff'
quit = False
display = display.Display()
screen = display.screen()
window = screen.root.create_window(10, 10, 100, 100, 1, screen.root_depth, background_pixel=screen.white_pixel, event_mask=X.ExposureMask | X.KeyPressMask)
gc = window.create_gc(foreground = screen.white_pixel, background = screen.white_pixel)
window.map()
pixmap = window.create_pixmap(16, 16, 24)
pixmap.put_image(gc, 0, 0, 16, 16, X.ZPixmap, 24, 0, bytearray(data))
window.set_wm_hints(flags = Xutil.StateHint | Xutil.IconPixmapHint, initial_state = Xutil.NormalState, icon_pixmap = pixmap)
while not quit:
  if display.pending_events():
    e = display.next_event()

    if e.type == X.Expose:
      window.fill_rectangle(gc, 20, 20, 10, 10)
    elif e.type == X.KeyPress:
      window.destroy()
      display.close()
      quit = True
  else:
    p = window.create_pixmap(16, 16, 24)
    p.put_image(gc, 0, 0, 16, 16, X.ZPixmap, 24, 0, bytearray(data))
    window.set_wm_hints(flags = Xutil.IconPixmapHint, icon_pixmap = p)
    pixmap.free()
    pixmap = p
#    hints = window.get_wm_hints()
