Index: code/branches/notifications/data/gui/scripts/NotificationLayer.lua
===================================================================
--- code/branches/notifications/data/gui/scripts/NotificationLayer.lua	(revision 7341)
+++ code/branches/notifications/data/gui/scripts/NotificationLayer.lua	(revision 7342)
@@ -9,7 +9,9 @@
     local root = winMgr:getWindow("orxonox/NotificationLayer/Root")
     local queue = winMgr:createWindow("MenuWidgets/Listbox", "orxonox/NotificationLayer/Root/Queue/" .. name)
+    root:addChildWindow(queue)
+
     queue:setPosition(CEGUI.UVector2(CEGUI.UDim(0, 0), CEGUI.UDim(0, 0)))
-    queue:setSize(CEGUI.UVector2(CEGUI.UDim(1, 0), CEGUI.UDim(0.2, 0)))
-    root:addChildWindow(queue)
+    queue:setSize(CEGUI.UVector2(CEGUI.UDim(1.0, 0), CEGUI.UDim(0, P.queueHeightHelper(queue, size))))
+
     table.insert(P.queueList, queue)
     table.insert(P.nameList, name)
@@ -35,5 +37,5 @@
 
 function P.changePosition(name, xPos, yPos)
-    local queue = P.nameToQueue(name)
+    local queue = P.nameToQueueHelper(name)
     if queue == nil then
         cout(0, "Queue is nil!")
@@ -44,5 +46,5 @@
 
 function P.pushNotification(queueName, notification)
-    local queue = P.nameToQueue(queueName)
+    local queue = P.nameToQueueHelper(queueName)
     if queue == nil then
         cout(0, "Queue is nil!")
@@ -59,5 +61,5 @@
 
 function P.popNotification(queueName)
-    local queue = P.nameToQueue(queueName)
+    local queue = P.nameToQueueHelper(queueName)
     if queue == nil then
         cout(0, "Queue is nil!")
@@ -69,5 +71,5 @@
 
 function P.removeNotification(queueName, index)
-    local queue = P.nameToQueue(queueName)
+    local queue = P.nameToQueueHelper(queueName)
     if queue == nil then
         cout(0, "Queue is nil!")
@@ -79,5 +81,5 @@
 
 function P.clearQueue(name)
-    local queue = P.nameToQueue(name)
+    local queue = P.nameToQueueHelper(name)
     if queue == nil then
         cout(0, "Queue is nil!")
@@ -88,5 +90,5 @@
 end
 
-function P.nameToQueue(name)
+function P.nameToQueueHelper(name)
     local queue = nil
     for k,v in pairs(P.nameList) do
@@ -99,4 +101,16 @@
 end
 
+function P.queueHeightHelper(queue, size)
+    local listbox = CEGUI.toListbox(queue)
+    local item = CEGUI.createListboxTextItem("Text")
+    listbox:addItem(item)
+    local singleItemHeight = listbox:getTotalItemsHeight()
+    local lookAndFeel = CEGUI.WidgetLookManager:getSingleton():getWidgetLook(queue:getLookNFeel())
+    local formattedArea = lookAndFeel:getNamedArea("ItemRenderingArea"):getArea():getPixelRect(queue)
+    local frameHeight = queue:getUnclippedPixelRect():getHeight() - formattedArea:getHeight()
+    listbox:removeItem(item)
+    return frameHeight + singleItemHeight*size
+end
+
 return P
 
Index: code/branches/notifications/data/gui/scripts/SheetManager.lua
===================================================================
--- code/branches/notifications/data/gui/scripts/SheetManager.lua	(revision 7341)
+++ code/branches/notifications/data/gui/scripts/SheetManager.lua	(revision 7342)
@@ -69,8 +69,5 @@
 
     -- Count the number of sheets that don't need input till the first that does.
-    local counter = activeMenuSheets.size
-    while counter > 0 and activeMenuSheets[counter].bNoInput do
-        counter = counter - 1
-    end
+    local counter = noInputSheetCounter()
     -- Pause game control if this is the first menu to be displayed
     -- HUGE HACK?
@@ -182,8 +179,5 @@
 
     -- Count the number of sheets that don't need input till the first that does.
-    local counter = activeMenuSheets.size
-    while counter > 0 and activeMenuSheets[counter].bNoInput do
-        counter = counter - 1
-    end
+    local counter = noInputSheetCounter()
     -- Resume control if the last (non-noInput) menu is hidden
     if counter == 0 then
@@ -204,8 +198,5 @@
 
     -- Count the number of sheets that don't need input till the first that does.
-    local counter = activeMenuSheets.size
-    while counter > 0 and activeMenuSheets[counter].bNoInput do
-        counter = counter - 1
-    end
+    local counter = noInputSheetCounter()
 
     -- If the first sheet that needs input is the MainMenu.
@@ -224,4 +215,13 @@
 end
 
+function noInputSheetCounter()
+    -- Count the number of sheets that don't need input till the first that does.
+    local counter = activeMenuSheets.size
+    while counter > 0 and activeMenuSheets[counter].bNoInput do
+        counter = counter - 1
+    end
+    return counter
+end
+
 ----------------------
 --- Initialisation ---
