diff --git a/DOCS/man/mpv.rst b/DOCS/man/mpv.rst index f38400c654..455baac369 100644 --- a/DOCS/man/mpv.rst +++ b/DOCS/man/mpv.rst @@ -330,7 +330,16 @@ additionally wrapped in the fixed-length syntax, e.g. ``%n%string_of_length_n`` Some mpv options interpret paths starting with ``~``. Currently, the prefix ``~~/`` expands to the mpv configuration directory (usually ``~/.config/mpv/``). ``~/`` expands to the user's home directory. (The trailing ``/`` is always -required.) +required.) There are the following paths as well: + +=============== ================================================================ +Name Meaning +=============== ================================================================ +``~home/`` same as ``~~/`` +``~global/`` the global config path, if available +``~osxbundle/`` the OSX bundle resource path (OSX only) +=============== ================================================================ + Per-File Options ---------------- diff --git a/options/path.c b/options/path.c index d19b360b99..8b1ae9777d 100644 --- a/options/path.c +++ b/options/path.c @@ -182,6 +182,11 @@ char *mp_get_user_path(void *talloc_ctx, struct mpv_global *global, res = mp_find_config_file(talloc_ctx, global, rest0); } else if (bstr_equals0(prefix, "")) { res = mp_path_join(talloc_ctx, bstr0(getenv("HOME")), rest); + } else { + char type[80]; + snprintf(type, sizeof(type), "%.*s", BSTR_P(prefix)); + res = talloc_strdup(talloc_ctx, + mp_get_platform_path(talloc_ctx, type)); } } }