diff --git a/UI/data/locale/en-US.ini b/UI/data/locale/en-US.ini
index 17dc8372f..3119bd8b7 100644
--- a/UI/data/locale/en-US.ini
+++ b/UI/data/locale/en-US.ini
@@ -778,7 +778,9 @@ Basic.Settings.General.Theme="Theme"
Basic.Settings.General.Language="Language"
Basic.Settings.General.EnableAutoUpdates="Automatically check for updates on startup"
Basic.Settings.General.OpenStatsOnStartup="Open stats dialog on startup"
-Basic.Settings.General.HideOBSWindowsFromCapture="Hide OBS windows from display capture"
+Basic.Settings.General.HideOBSWindowsFromCapture="Hide OBS windows from screen capture"
+Basic.Settings.General.HideOBSWindowsFromCapture.Tooltip="This setting will hide all non-projector OBS Studio windows from being captured by OBS and affects \nother applications, such as conferencing, screen sharing, remote support, screenshots, and other capture software."
+Basic.Settings.General.HideOBSWindowsFromCapture.Message="Enabling this option hides all non-projector OBS Studio windows from being captured by OBS and affects other applications, such as conferencing, screen sharing, remote support, screenshots, and other capture software."
Basic.Settings.General.WarnBeforeStartingStream="Show confirmation dialog when starting streams"
Basic.Settings.General.WarnBeforeStoppingStream="Show confirmation dialog when stopping streams"
Basic.Settings.General.WarnBeforeStoppingRecord="Show confirmation dialog when stopping recording"
diff --git a/UI/forms/OBSBasicSettings.ui b/UI/forms/OBSBasicSettings.ui
index e180119ae..87da1c95b 100644
--- a/UI/forms/OBSBasicSettings.ui
+++ b/UI/forms/OBSBasicSettings.ui
@@ -250,6 +250,9 @@
Basic.Settings.General.HideOBSWindowsFromCapture
+
+ Basic.Settings.General.HideOBSWindowsFromCapture.Tooltip
+
diff --git a/UI/window-basic-settings.cpp b/UI/window-basic-settings.cpp
index 2121c98bb..02eb3ca07 100644
--- a/UI/window-basic-settings.cpp
+++ b/UI/window-basic-settings.cpp
@@ -1241,6 +1241,9 @@ void OBSBasicSettings::LoadGeneralSettings()
config_get_bool(GetGlobalConfig(), "BasicWindow",
"HideOBSWindowsFromCapture");
ui->hideOBSFromCapture->setChecked(hideWindowFromCapture);
+
+ connect(ui->hideOBSFromCapture, SIGNAL(stateChanged(int)), this,
+ SLOT(HideOBSWindowWarning(int)));
}
#endif
@@ -4209,6 +4212,24 @@ void OBSBasicSettings::SpeakerLayoutChanged(int idx)
}
}
+void OBSBasicSettings::HideOBSWindowWarning(int state)
+{
+ if (loading || state == Qt::Unchecked)
+ return;
+
+ if (config_get_bool(GetGlobalConfig(), "General",
+ "WarnedAboutHideOBSFromCapture"))
+ return;
+
+ OBSMessageBox::information(
+ this, QTStr("Basic.Settings.General.HideOBSWindowsFromCapture"),
+ QTStr("Basic.Settings.General.HideOBSWindowsFromCapture.Message"));
+
+ config_set_bool(GetGlobalConfig(), "General",
+ "WarnedAboutHideOBSFromCapture", true);
+ config_save_safe(GetGlobalConfig(), "tmp", nullptr);
+}
+
/*
* resets current bitrate if too large and restricts the number of bitrates
* displayed when multichannel OFF
diff --git a/UI/window-basic-settings.hpp b/UI/window-basic-settings.hpp
index feed0c429..4c66bc210 100644
--- a/UI/window-basic-settings.hpp
+++ b/UI/window-basic-settings.hpp
@@ -368,6 +368,7 @@ private slots:
void on_disableOSXVSync_clicked();
void GeneralChanged();
+ void HideOBSWindowWarning(int state);
void AudioChanged();
void AudioChangedRestart();
void ReloadAudioSources();