From 0206227b75cddf6442faba3439d178596e23088a Mon Sep 17 00:00:00 2001 From: Shamun Date: Sun, 30 Apr 2017 07:47:19 -0700 Subject: [PATCH] UI: Add command line option for starting up always on top Closes jp9000/obs-studio#853 --- UI/obs-app.cpp | 5 +++++ UI/obs-app.hpp | 1 + UI/window-basic-main.cpp | 2 +- 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/UI/obs-app.cpp b/UI/obs-app.cpp index cf3e78c1e..098f01e7f 100644 --- a/UI/obs-app.cpp +++ b/UI/obs-app.cpp @@ -70,6 +70,7 @@ bool opt_studio_mode = false; bool opt_start_replaybuffer = false; bool opt_minimize_tray = false; bool opt_allow_opengl = false; +bool opt_always_on_top = false; string opt_starting_collection; string opt_starting_profile; string opt_starting_scene; @@ -1757,6 +1758,9 @@ int main(int argc, char *argv[]) } else if (arg_is(argv[i], "--verbose", nullptr)) { log_verbose = true; + } else if (arg_is(argv[i], "--always-on-top", nullptr)) { + opt_always_on_top = true; + } else if (arg_is(argv[i], "--unfiltered_log", nullptr)) { unfiltered_log = true; @@ -1801,6 +1805,7 @@ int main(int argc, char *argv[]) "--minimize-to-tray: Minimize to system tray.\n" << "--portable, -p: Use portable mode.\n\n" << "--verbose: Make log more verbose.\n" << + "--always-on-top: Start in 'always on top' mode.\n\n" << "--unfiltered_log: Make log unfiltered.\n\n" << "--allow-opengl: Allow OpenGL on Windows.\n\n" << "--version, -V: Get current version.\n"; diff --git a/UI/obs-app.hpp b/UI/obs-app.hpp index 318569d5a..acbb9ae06 100644 --- a/UI/obs-app.hpp +++ b/UI/obs-app.hpp @@ -182,4 +182,5 @@ extern bool opt_start_replaybuffer; extern bool opt_minimize_tray; extern bool opt_studio_mode; extern bool opt_allow_opengl; +extern bool opt_always_on_top; extern std::string opt_starting_scene; diff --git a/UI/window-basic-main.cpp b/UI/window-basic-main.cpp index db4718c51..74703d73b 100644 --- a/UI/window-basic-main.cpp +++ b/UI/window-basic-main.cpp @@ -1371,7 +1371,7 @@ void OBSBasic::OBSInit() bool alwaysOnTop = config_get_bool(App()->GlobalConfig(), "BasicWindow", "AlwaysOnTop"); - if (alwaysOnTop) { + if (alwaysOnTop || opt_always_on_top) { SetAlwaysOnTop(this, true); ui->actionAlwaysOnTop->setChecked(true); }