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);