summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--DOCS/man/mpv.rst16
-rw-r--r--etc/builtin.conf3
-rw-r--r--player/main.c7
3 files changed, 18 insertions, 8 deletions
diff --git a/DOCS/man/mpv.rst b/DOCS/man/mpv.rst
index 8ede4075f1..8b4d7c6065 100644
--- a/DOCS/man/mpv.rst
+++ b/DOCS/man/mpv.rst
@@ -737,20 +737,24 @@ Currently this happens only in the following cases:
- if started from explorer.exe on Windows (technically, if it was started on
Windows, and all of the stdout/stderr/stdin handles are unset)
- started out of the bundle on OSX
-- you can add ``--profile=pseudo-gui`` to the command line, but it will behave
- subtly differently (since mpv 0.22.0)
+- if you manually use ``--player-operation-mode=pseudo-gui`` on the command line
-This mode implicitly performs the same action as ``--profile=pseudo-gui``, but
-roughly before config files are loaded and the command line is applied. The
-``pseudo-gui`` profile is predefined with the following contents:
+This mode applies options from the builtin profile ``builtin-pseudo-gui``, but
+only if these haven't been set in the user's config file or on the command line.
+Also, for compatibility with the old pseudo-gui behavior, the options in the
+``pseudo-gui`` profile are applied unconditionally. In addition, the profile
+makes sure to enable the pseudo-GUI mode, so that ``--profile=pseudo-gui``
+works like in older mpv releases. The profiles are currently defined as follows:
::
- [pseudo-gui]
+ [builtin-pseudo-gui]
terminal=no
force-window=yes
idle=once
screenshot-directory=~~desktop/
+ [pseudo-gui]
+ player-operation-mode=pseudo-gui
.. warning::
diff --git a/etc/builtin.conf b/etc/builtin.conf
index da51495a71..533dce7127 100644
--- a/etc/builtin.conf
+++ b/etc/builtin.conf
@@ -3,6 +3,9 @@
# applied at later stages during loading.
[pseudo-gui]
+player-operation-mode=pseudo-gui
+
+[builtin-pseudo-gui]
terminal=no
force-window=yes
idle=once
diff --git a/player/main.c b/player/main.c
index 678ef5a5a1..ad907e034a 100644
--- a/player/main.c
+++ b/player/main.c
@@ -408,8 +408,11 @@ int mp_initialize(struct MPContext *mpctx, char **options)
return r == M_OPT_EXIT ? -2 : -1;
}
- if (opts->operation_mode == 1)
- m_config_set_profile(mpctx->mconfig, "pseudo-gui", M_SETOPT_NO_OVERWRITE);
+ if (opts->operation_mode == 1) {
+ m_config_set_profile(mpctx->mconfig, "builtin-pseudo-gui",
+ M_SETOPT_NO_OVERWRITE);
+ m_config_set_profile(mpctx->mconfig, "pseudo-gui", 0);
+ }
mp_get_resume_defaults(mpctx);