<screen name="MessageBoxExt" position="340,175" size="600,10" title="Message">
	<widget name="text" position="110,15" size="680,0" font="mediaportal;22"/>
	<widget name="ErrorPixmap" pixmap="skin_default/icons/input_error.png" position="30,20" size="53,53" alphatest="blend"/>
	<widget name="QuestionPixmap" pixmap="skin_default/icons/input_question.png" position="30,20" size="53,53" alphatest="blend"/>
	<widget name="InfoPixmap" pixmap="skin_default/icons/input_info.png" position="30,20" size="53,53" alphatest="blend"/>
	<widget name="list" position="20,95" size="760,300"/>
	<applet type="onLayoutFinish">
# this should be factored out into some helper code, but currently demonstrates applets.
from enigma import eSize, ePoint

orgwidth = self.instance.size().width()
orgpos = self.instance.position()
textsize = self["text"].getSize()

# y size still must be fixed in font stuff...
textsize = (textsize[0] + 40, textsize[1] + 40)
offset = 0
if self.type == self.TYPE_YESNO:
        offset = 100
wsizex = textsize[0] + 120
wsizey = textsize[1] + offset
if (600 &gt; wsizex):
        wsizex = 600
wsize = (wsizex, wsizey)

# resize
self.instance.resize(eSize(*wsize))

# resize label
self["text"].instance.resize(eSize(*textsize))

# move list
listsize = (wsizex - 20, 50)
self["list"].instance.move(ePoint(10, textsize[1]+40))
self["list"].instance.resize(eSize(*listsize))

# center window
newwidth = wsize[0]
self.instance.move(ePoint(orgpos.x() + (orgwidth - newwidth)/2, (720-wsizey)/2))
	</applet>
</screen>
