diff --git a/Core/FormBrowser.Designer.cs b/Core/FormBrowser.Designer.cs index c1ea51fa..cfe3ab4a 100644 --- a/Core/FormBrowser.Designer.cs +++ b/Core/FormBrowser.Designer.cs @@ -32,6 +32,7 @@ private void InitializeComponent() { // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = TweetDck.Core.Utils.BrowserUtils.BackgroundColor; this.ClientSize = new System.Drawing.Size(324, 386); this.Icon = Properties.Resources.icon; this.Location = TweetDck.Core.Controls.ControlExtensions.InvisibleLocation; diff --git a/Core/FormBrowser.cs b/Core/FormBrowser.cs index 7c08eb22..d134e538 100644 --- a/Core/FormBrowser.cs +++ b/Core/FormBrowser.cs @@ -83,7 +83,10 @@ public FormBrowser(PluginManager pluginManager, UpdaterSettings updaterSettings) this.browser.LoadError += browser_LoadError; this.browser.RegisterAsyncJsObject("$TD", new TweetDeckBridge(this, notification)); this.browser.RegisterAsyncJsObject("$TDP", plugins.Bridge); - + + browser.BrowserSettings.BackgroundColor = (uint)BrowserUtils.BackgroundColor.ToArgb(); + browser.Dock = DockStyle.None; + browser.Location = ControlExtensions.InvisibleLocation; Controls.Add(browser); Controls.Add(new MenuStrip{ Visible = false }); // fixes Alt freezing the program in Win 10 Anniversary Update @@ -112,6 +115,8 @@ public FormBrowser(PluginManager pluginManager, UpdaterSettings updaterSettings) this.updates = new UpdateHandler(browser, this, updaterSettings); this.updates.UpdateAccepted += updates_UpdateAccepted; this.updates.UpdateDismissed += updates_UpdateDismissed; + + RestoreWindow(); } private void ShowChildForm(Form form){ @@ -126,10 +131,17 @@ public void ForceClose(){ // window setup - private void SetupWindow(){ + private void RestoreWindow(){ Config.BrowserWindow.Restore(this, true); prevState = WindowState; - isLoaded = true; + } + + private void OnLoaded(){ + if (!isLoaded){ + browser.Location = Point.Empty; + browser.Dock = DockStyle.Fill; + isLoaded = true; + } } private void UpdateTrayIcon(){ @@ -144,13 +156,15 @@ private void browser_LoadingStateChanged(object sender, LoadingStateChangedEvent browser.AddWordToDictionary(word); } - BeginInvoke(new Action(SetupWindow)); + BeginInvoke(new Action(OnLoaded)); browser.LoadingStateChanged -= browser_LoadingStateChanged; } } private void browser_FrameLoadEnd(object sender, FrameLoadEndEventArgs e){ if (e.Frame.IsMain && BrowserUtils.IsTweetDeckWebsite(e.Frame)){ + e.Frame.ExecuteJavaScriptAsync(BrowserUtils.BackgroundColorFix); + UpdateProperties(); ScriptLoader.ExecuteFile(e.Frame, "code.js"); ReinjectCustomCSS(Config.CustomBrowserCSS); @@ -229,9 +243,8 @@ private void Config_TrayBehaviorChanged(object sender, EventArgs e){ } private void trayIcon_ClickRestore(object sender, EventArgs e){ - isLoaded = false; Show(); - SetupWindow(); + RestoreWindow(); Activate(); UpdateTrayIcon(); } diff --git a/Core/Utils/BrowserUtils.cs b/Core/Utils/BrowserUtils.cs index 9d3023e9..4227f2d8 100644 --- a/Core/Utils/BrowserUtils.cs +++ b/Core/Utils/BrowserUtils.cs @@ -6,6 +6,7 @@ using System.Windows.Forms; using CefSharp; using System.Text.RegularExpressions; +using System.Drawing; namespace TweetDck.Core.Utils{ static class BrowserUtils{ @@ -28,6 +29,9 @@ public static string HeaderUserAgent{ } } + public static readonly Color BackgroundColor = Color.FromArgb(28, 99, 153); + public const string BackgroundColorFix = "let e=document.createElement('style');document.head.appendChild(e);e.innerHTML='body::before{background:#1c6399!important}'"; + public static readonly string[] DictionaryWords = { "tweetdeck", "TweetDeck", "tweetduck", "TweetDuck", "TD" };