public async override void OnTick() { baseHandledOnTick = false; base.OnTick(); if (!baseHandledOnTick) { if (String.IsNullOrEmpty(Settings.SceneName) || titleParameters == null) { return; } await Connection.SetTitleAsync(GraphicsTools.WrapStringToFitImage(Settings.SceneName, titleParameters)); if (!String.IsNullOrEmpty(Settings.SceneName) && !isFetchingScreenshot) { // Run in task due to possible long wait times _ = Task.Run(() => { try { isFetchingScreenshot = true; _ = DrawSceneBorder(); } catch (Exception ex) { Logger.Instance.LogMessage(TracingLevel.ERROR, $"SmartSceneSwitcherAction OnTick Exception: {ex}"); } finally { isFetchingScreenshot = false; } }); } } }