def showHost(): (W, H) = (display.W, display.H) image = Image.new('1', (W, H)) draw = Draw(image) top = random.randint(1, 170) tuxicon.Y = top tuxicon.refresh(draw) hostname = platform.node() ipaddr = getIpAddr() text = '%s %s' % (hostname, ipaddr) (w, h) = draw.textsize(text, font16) draw.text((80, top + 0), text=text, font=font16, fill=111) text = '%s %s' % (platform.system(), platform.release()) (w, h) = draw.textsize(text, font16) draw.text((80, top + 20), text, font=font16, fill=111) (days, hours, minutes) = getUptime() text = 'uptime %dd %dh %dm' % (days, hours, minutes) (w, h) = draw.textsize(text, font16) draw.text((80, top + 40), text, font=font16, fill=111) display.bitmap((0, 0), image) time.sleep(INTERVAL)
def __init__(self, scheduler, rect): Widget.__init__(self, scheduler, rect) draw = Draw(Image.new('1', (0,0))) for size in xrange(100): self.font = ImageFont.truetype('trebuc.ttf', 100-size) (w,h) = draw.textsize('Wednesday', self.font) if w < self.W: break
def render(self): (W,H) = (self.W, self.H) image = Image.new('1', (W,H), color=0) draw = Draw(image) t = time.localtime() hour = t.tm_hour%12 if hour == 0: hour = 12 text = '%d:%02d' % (hour, t.tm_min) (w,h) = draw.textsize(text, self.font) draw.text((-3,-h/6), text=text, font=self.font, fill=1) return image
def __init__(self, scheduler, rect): Widget.__init__(self, scheduler, rect) draw = Draw(Image.new('1', (0,0))) for size in xrange(100): self.font = ImageFont.truetype('trebuc.ttf', 100-size) (w,h) = draw.textsize('77', self.font) if w < self.W-36: break # regexes for parsing weather reports self.icontag = re.compile('<icon_url_name>(.+).jpg</icon_url_name>') self.tempftag = re.compile('<temp_f>(\d+)</temp_f>') self.update()
def __init__(self, scheduler, rect, mail=None): Widget.__init__(self, scheduler, rect) draw = Draw(Image.new('1', (0,0))) for size in xrange(100): self.font = ImageFont.truetype('trebuc.ttf', 100-size) (w,h) = draw.textsize('7', self.font) if w < self.W-32: break if mail == None: mail = gmail.GmailStatus() self.mail = mail self.mailicon = Image.open('mail.gif').convert('L').point(lambda x: 255-x, mode='1') self.update()
def render(self): (W,H) = (self.W, self.H) image = Image.new('1', (W,H), color=0) draw = Draw(image) newmail = self.mail.messages if newmail > 0: draw.bitmap((0,2), self.mailicon, fill=1) text = '%d' % newmail (w,h) = draw.textsize(text, self.font) draw.text((30,(32-h)/2), text=text, font=self.font, fill=1) return image
def render(self): (W,H) = (self.W, self.H) image = Image.new('1', (W,H), color=0) draw = Draw(image) try: text = self.tempf (w,h) = draw.textsize(text, self.font) Y = (32-h)/2 draw.text((30,Y), text, font=self.font, fill=1) X = 30 + w draw.ellipse((X-2,2,X+2,6), outline=1, fill=0) icon = Image.open(self.icon+'.gif').convert('L').point(lambda x: 255-x, mode='1') draw.bitmap((0,2), icon, fill=1) except: pass return image