'Set a dict with the icons of the window'

def update_wm_net_icon(self):

    icon = self.window.get_property('_NET_WM_ICON', 'CARDINAL')
    if (not icon):
        return
    icon = list(map(ord, icon.value))
    icons = {}
    while True:
        if (not icon):
            break
        size = icon[:8]
        if ((len(size) != 8) or (not size[0]) or (not size[4])):
            break
        icon = icon[8:]
        width = size[0]
        height = size[4]
        next_pix = ((width * height) * 4)
        data = icon[:next_pix]
        arr = array.array('B', data)
        for i in range(0, len(arr), 4):
            mult = (arr[(i + 3)] / 255.0)
            arr[(i + 0)] = int((arr[(i + 0)] * mult))
            arr[(i + 1)] = int((arr[(i + 1)] * mult))
            arr[(i + 2)] = int((arr[(i + 2)] * mult))
        icon = icon[next_pix:]
        icons[('%sx%s' % (width, height))] = arr
    self.icons = icons
    hook.fire('net_wm_icon_change', self)
