diff --git a/Core/FormManager.cs b/Core/FormManager.cs
index 568cd6ff..eab58f45 100644
--- a/Core/FormManager.cs
+++ b/Core/FormManager.cs
@@ -1,6 +1,5 @@
 using System.Linq;
 using System.Windows.Forms;
-using TweetDuck.Core.Other;
 
 namespace TweetDuck.Core{
     static class FormManager{
@@ -18,12 +17,14 @@ public static bool TryBringToFront<T>() where T : Form{
             else return false;
         }
 
+        public static bool HasAnyDialogs => Application.OpenForms.OfType<IAppDialog>().Any();
+        
         public static void CloseAllDialogs(){
-            foreach(Form form in Application.OpenForms.Cast<Form>().Reverse()){
-                if (form is FormSettings || form is FormPlugins || form is FormAbout || form is FormGuide){
-                    form.Close();
-                }
+            foreach(IAppDialog dialog in Application.OpenForms.OfType<IAppDialog>().Reverse()){
+                ((Form)dialog).Close();
             }
         }
+
+        public interface IAppDialog{}
     }
 }
diff --git a/Core/Other/FormAbout.cs b/Core/Other/FormAbout.cs
index edf06b41..7bb7fcab 100644
--- a/Core/Other/FormAbout.cs
+++ b/Core/Other/FormAbout.cs
@@ -5,7 +5,7 @@
 using TweetDuck.Core.Utils;
 
 namespace TweetDuck.Core.Other{
-    sealed partial class FormAbout : Form{
+    sealed partial class FormAbout : Form, FormManager.IAppDialog{
         private const string TipsLink = "https://github.com/chylex/TweetDuck/wiki";
         private const string IssuesLink = "https://github.com/chylex/TweetDuck/issues";
 
diff --git a/Core/Other/FormGuide.cs b/Core/Other/FormGuide.cs
index 42ae7e84..0d11c656 100644
--- a/Core/Other/FormGuide.cs
+++ b/Core/Other/FormGuide.cs
@@ -12,7 +12,7 @@
 using TweetDuck.Resources;
 
 namespace TweetDuck.Core.Other{
-    sealed partial class FormGuide : Form{
+    sealed partial class FormGuide : Form, FormManager.IAppDialog{
         private const string GuideUrl = "https://tweetduck.chylex.com/guide/v2/";
         private const string GuidePathRegex = @"^guide(?:/v\d+)?(?:/(#.*))?";
 
diff --git a/Core/Other/FormPlugins.cs b/Core/Other/FormPlugins.cs
index 7f5a9255..c3c99da6 100644
--- a/Core/Other/FormPlugins.cs
+++ b/Core/Other/FormPlugins.cs
@@ -7,7 +7,7 @@
 using TweetDuck.Plugins.Controls;
 
 namespace TweetDuck.Core.Other{
-    sealed partial class FormPlugins : Form{
+    sealed partial class FormPlugins : Form, FormManager.IAppDialog{
         private readonly PluginManager pluginManager;
         
         public FormPlugins(){
diff --git a/Core/Other/FormSettings.cs b/Core/Other/FormSettings.cs
index 0cd5bbd1..beef313b 100644
--- a/Core/Other/FormSettings.cs
+++ b/Core/Other/FormSettings.cs
@@ -13,7 +13,7 @@
 using TweetDuck.Updates;
 
 namespace TweetDuck.Core.Other{
-    sealed partial class FormSettings : Form{
+    sealed partial class FormSettings : Form, FormManager.IAppDialog{
         private readonly FormBrowser browser;
         private readonly PluginManager plugins;