From c8d16038484c9efec300dee6ebca1f79363ca771 Mon Sep 17 00:00:00 2001 From: Gates_ice Date: Fri, 13 Feb 2026 13:02:28 -0800 Subject: [PATCH 1/3] Add a command to scale task window. --- Bootstrap.lua | 15 ++++++++++++--- UI.lua | 1 + 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/Bootstrap.lua b/Bootstrap.lua index 7f490bf..e6e1410 100644 --- a/Bootstrap.lua +++ b/Bootstrap.lua @@ -15,7 +15,7 @@ function addon:OnInitialize() -- TODO and/or use import strings so people can share QuestIDs they find if not TM_TASKS then TM_TASKS = {} end if not TM_STATUS then TM_STATUS = {} end - if not TM_WINDOW then TM_WINDOW = { width = 333, height = 500 } end + if not TM_WINDOW then TM_WINDOW = { width = 333, height = 500, scale = 1.0 } end LibStub:GetLibrary("LibDataBroker-1.1"):NewDataObject(L["Title"], { type = "launcher", @@ -73,7 +73,7 @@ SLASH_TASKMANAGER1 = "/taskmanager" SLASH_TASKMANAGER2 = "/task" SlashCmdList.TASKMANAGER = function(msg) local tokens = {} - for token in string.gmatch(msg, "(%w+)") do + for token in string.gmatch(msg, "(%S+)") do table.insert(tokens, token) end if not tokens[1] then tokens[1] = "show" end @@ -121,4 +121,13 @@ commands.cloak = function(tokens) GenericTraitFrame:SetSystemID(29) GenericTraitFrame:SetTreeID(1115) ToggleFrame(GenericTraitFrame) -end \ No newline at end of file +end + +commands.scale = function(tokens) + if tokens[2] and tonumber(tokens[2]) then + TM_FRAME:SetScale(tonumber(tokens[2])) + TM_WINDOW["scale"] = tonumber(tokens[2]) + else + print("/task scale ") + end +end diff --git a/UI.lua b/UI.lua index 1009a9e..9c9a4fc 100644 --- a/UI.lua +++ b/UI.lua @@ -120,6 +120,7 @@ function addon:CreateMainFrame() f:SetPortraitToAsset("Interface\\Icons\\inv_10_inscription_illusoryspellscrolls_color10") f:SetSize(TM_WINDOW.width or 333, TM_WINDOW.height or 500) + f:SetScale(TM_WINDOW.scale or 1.0) if TM_WINDOW.top then f:SetPoint("TOPLEFT", UIParent, "BOTTOMLEFT", TM_WINDOW.left, TM_WINDOW.top) else From 5f90e7b2053d043cfac1957bf2d1e2a0f05e9eb5 Mon Sep 17 00:00:00 2001 From: Gates_ice Date: Fri, 13 Feb 2026 13:04:45 -0800 Subject: [PATCH 2/3] Allow use shift left click to quick ignore / unignore a task for this character. --- UI.lua | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/UI.lua b/UI.lua index 9c9a4fc..a82d921 100644 --- a/UI.lua +++ b/UI.lua @@ -12,7 +12,7 @@ local COLORS = { WARN = "fff468", PROGRESS = "fff468", - IGNORED = "c0c0c0", + IGNORED = "606060", DONE = "00ffba", WARRIOR = "c69b6d", @@ -384,7 +384,10 @@ function addon:CreateTaskFrame(parent) end f.title:SetScript("OnMouseUp", function(self, button) - if button == "RightButton" then + if button == "LeftButton" and IsShiftKeyDown() then + addon:IgnoreTask(addon.guid, f.key, not addon:IsIgnored(addon.guid, f.key)) + addon:RefreshWindow() + elseif button == "RightButton" then UIDropDownMenu_Initialize(TM_FRAME.menu, function(frame, level, menuList) UIDropDownMenu_AddButton({ text = L["SkipAllTask"], arg1 = f, arg2 = true, func = addon.MenuSkipAllTask }) UIDropDownMenu_AddButton({ text = L["UnskipAllTask"], arg1 = f, arg2 = false, func = addon.MenuSkipAllTask }) From d62ba78ee14f77f7340c5bf05aae968ea1ff178d Mon Sep 17 00:00:00 2001 From: Gates_ice Date: Fri, 13 Feb 2026 13:07:36 -0800 Subject: [PATCH 3/3] Preserve window open / close status across game sessions. --- Bootstrap.lua | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/Bootstrap.lua b/Bootstrap.lua index e6e1410..9f81824 100644 --- a/Bootstrap.lua +++ b/Bootstrap.lua @@ -10,12 +10,13 @@ addonTable.addon = addon function addon:OnInitialize() addon.guid = UnitGUID("player") -- cache guid call + addon.initialized = false -- TODO back up config in case of crash? -- TODO and/or use import strings so people can share QuestIDs they find if not TM_TASKS then TM_TASKS = {} end if not TM_STATUS then TM_STATUS = {} end - if not TM_WINDOW then TM_WINDOW = { width = 333, height = 500, scale = 1.0 } end + if not TM_WINDOW then TM_WINDOW = { width = 333, height = 500, scale = 1.0, opened = false } end LibStub:GetLibrary("LibDataBroker-1.1"):NewDataObject(L["Title"], { type = "launcher", @@ -37,6 +38,10 @@ function addon:OnEnable() addon:PurgeExpired() -- could be daily local changed = addon:UpdateAll() if changed then addon:RefreshWindow() end + if TM_WINDOW.opened and not addon.initialized then + addon:ShowWindow() + addon.initialized = true + end end --local finish = debugprofilestop() @@ -57,8 +62,10 @@ end function TM_AddonCompartmentFunc(addonName, buttonName, menuButtonFrame) if TM_FRAME and TM_FRAME:IsShown() then + TM_WINDOW.opened = false TM_FRAME:Hide() else + TM_WINDOW.opened = true addon:ShowWindow() end end