diff --git a/src/resources/emco.lua b/src/resources/emco.lua
index a35c79d..7f5a34e 100644
--- a/src/resources/emco.lua
+++ b/src/resources/emco.lua
@@ -29,6 +29,7 @@ local EMCO = Geyser.Container:new({
tabBoxColor = "black",
consoleContainerCSS = "",
consoleContainerColor = "black",
+ noTabMessage = [[
No tabs added...]],
tabHeight = 25,
leftMargin = 0,
rightMargin = 0,
@@ -236,6 +237,11 @@ end
-- "black" |
--
--
+-- noTabMessage |
+-- Message shown in the parent label when there are no tabs added. |
+-- [[No tabs added...]] |
+--
+--
-- gap |
-- How many pixels to place between the tabs and the miniconsoles? |
-- 1 |
@@ -1045,6 +1051,12 @@ end
--- resets the object, redrawing everything
function EMCO:reset()
self:createContainers()
+
+ if next(self.consoles) == nil then
+ -- Stop execution if there are no consoles, this happens if EMCO is initialized by passing an empty table into consoles property
+ return
+ end
+
for _, tabName in ipairs(self.consoles) do
self:createComponentsForTab(tabName)
end
@@ -1074,6 +1086,7 @@ function EMCO:createContainers()
width = "100%",
height = "-0px",
name = self.name .. "ConsoleContainer",
+ message = self.noTabMessage
}, self)
self.consoleContainer:setStyleSheet(self.consoleContainerCSS)
self.consoleContainer:setColor(self.consoleContainerColor)
@@ -2212,6 +2225,7 @@ function EMCO:save()
tabBoxColor = self.tabBoxColor,
consoleContainerCSS = self.consoleContainerCSS,
consoleContainerColor = self.consoleContainerColor,
+ noTabMessage = self.noTabMessage,
gap = self.gap,
consoles = self.consoles,
allTabExclusions = self.allTabExclusions,
@@ -2288,6 +2302,7 @@ function EMCO:load()
self.tabBoxColor = configTable.tabBoxColor
self.consoleContainerCSS = configTable.consoleContainerCSS
self.consoleContainerColor = configTable.consoleContainerColor
+ self.noTabMessage = configTable.noTabMessage
self.gap = configTable.gap
self.consoles = configTable.consoles
self.allTabExclusions = configTable.allTabExclusions