player: add --screen-name and --fs-screen-name

Simple groundwork for adding a couple of user options that allow
selecting the screen with a string name. The next two commits implements
these options for xorg and wayland.
This commit is contained in:
Dudemanguy 2020-11-23 13:26:57 -06:00
parent d479dfd67d
commit 08848e76d9
4 changed files with 19 additions and 0 deletions

View File

@ -26,6 +26,9 @@ Interface changes
:: ::
--- mpv 0.34.0 ---
- add `--screen-name` and `--fs-screen-name` flags to allow selecting the
screen by its name instead of the index
--- mpv 0.33.0 --- --- mpv 0.33.0 ---
- add `--d3d11-exclusive-fs` flag to enable D3D11 exclusive fullscreen mode - add `--d3d11-exclusive-fs` flag to enable D3D11 exclusive fullscreen mode
when the player enters fullscreen. when the player enters fullscreen.

View File

@ -2839,6 +2839,12 @@ Window
See also ``--fs-screen``. See also ``--fs-screen``.
``--screen-name=<string>``
In multi-monitor configurations, this option tells mpv which screen to
display the video on based on the screen name from the video backend. The
same caveats in the ``--screen`` option also apply here. This option is
ignored and does nothing if ``--screen`` is explicitly set.
``--fullscreen``, ``--fs`` ``--fullscreen``, ``--fs``
Fullscreen playback. Fullscreen playback.
@ -2859,6 +2865,12 @@ Window
See also ``--screen``. See also ``--screen``.
``--fs-screen-name=<string>``
In multi-monitor configurations, this option tells mpv which screen to go
fullscreen to based on the screen name from the video backend. The same
caveats in the ``--fs-screen`` option also apply here. This option is
ignored and does nothing if ``--fs-screen`` is explicitly set.
``--keep-open=<yes|no|always>`` ``--keep-open=<yes|no|always>``
Do not terminate when playing or seeking beyond the end of the file, and Do not terminate when playing or seeking beyond the end of the file, and
there is not next file to be played (and ``--loop`` is not used). there is not next file to be played (and ``--loop`` is not used).

View File

@ -147,8 +147,10 @@ static const m_option_t mp_vo_opt_list[] = {
{"no", 0}, {"yes", 1}, {"downscale-big", 2})}, {"no", 0}, {"yes", 1}, {"downscale-big", 2})},
{"wid", OPT_INT64(WinID)}, {"wid", OPT_INT64(WinID)},
{"screen", OPT_CHOICE(screen_id, {"default", -1}), M_RANGE(0, 32)}, {"screen", OPT_CHOICE(screen_id, {"default", -1}), M_RANGE(0, 32)},
{"screen-name", OPT_STRING(screen_name)},
{"fs-screen", OPT_CHOICE(fsscreen_id, {"all", -2}, {"current", -1}), {"fs-screen", OPT_CHOICE(fsscreen_id, {"all", -2}, {"current", -1}),
M_RANGE(0, 32)}, M_RANGE(0, 32)},
{"fs-screen-name", OPT_STRING(fsscreen_name)},
{"keepaspect", OPT_FLAG(keepaspect)}, {"keepaspect", OPT_FLAG(keepaspect)},
{"keepaspect-window", OPT_FLAG(keepaspect_window)}, {"keepaspect-window", OPT_FLAG(keepaspect_window)},
{"hidpi-window-scale", OPT_FLAG(hidpi_window_scale)}, {"hidpi-window-scale", OPT_FLAG(hidpi_window_scale)},

View File

@ -22,7 +22,9 @@ typedef struct mp_vo_opts {
bool focus_on_open; bool focus_on_open;
int screen_id; int screen_id;
char *screen_name;
int fsscreen_id; int fsscreen_id;
char *fsscreen_name;
char *winname; char *winname;
char *appid; char *appid;
int x11_netwm; int x11_netwm;