This essentially obsoletes the console wrapper (mpv.com), which is no longer needed. The console is attached depending on the context in which mpv.exe is run. Add an option to control which subsystem is targeted. Keep the GUI application as the default to preserve compatibility with Windows versions prior to 24H2. For more information about the new console handling, see: https://github.com/microsoft/terminal/blob/4386bf07fd65f763693132ee5e4c43a2a571dc76/doc/specs/%237335%20-%20Console%20Allocation%20Policy.md
Unified · Split
| @@ -1797,9 +1797,9 @@ if get_option('cplayer') · 1796 unmodified lines | ||
| 1797 | 1797 | install_data('etc/mpv-symbolic.svg', install_dir: join_paths(hicolor_dir, 'symbolic', 'apps')) |
| 1798 | 1798 | |
| 1799 | 1799 | mpv = executable('mpv', main_fn_source, objects: libmpv.extract_all_objects(recursive: true), dependencies: dependencies, |
| 1800 | − win_subsystem: 'windows', install: true) | |
| 1800 | + win_subsystem: get_option('win32-subsystem'), install: true) | |
| 1801 | 1801 | |
| 1802 | − if win32 | |
| 1802 | + if win32 and get_option('win32-subsystem') != 'console' | |
| 1803 | 1803 | wrapper_sources= 'osdep/win32-console-wrapper.c' |
| 1804 | 1804 | executable('mpv', wrapper_sources, c_args: '-municode', link_args: '-municode', |
| 1805 | 1805 | name_suffix: 'com', install: true) |
| @@ -117,6 +117,7 @@ option('swift-flags', type: 'string', description: 'Optional Swift compiler flag · 116 unmodified lines | ||
| 117 | 117 | |
| 118 | 118 | # Windows features |
| 119 | 119 | option('win32-smtc', type: 'feature', value: 'auto', description: 'Enable Media Control support') |
| 120 | +option('win32-subsystem', type : 'string', value: 'windows', description : 'Windows subsystem to use for mpv.exe') | |
| 120 | 121 | |
| 121 | 122 | # manpages |
| 122 | 123 | option('html-build', type: 'feature', value: 'disabled', description: 'HTML manual generation') |
| @@ -9,6 +9,7 @@ · 8 unmodified lines | ||
| 9 | 9 | <description>mpv - The Movie Player</description> |
| 10 | 10 | <application xmlns="urn:schemas-microsoft-com:asm.v3"> |
| 11 | 11 | <windowsSettings> |
| 12 | + <consoleAllocationPolicy xmlns="http://schemas.microsoft.com/SMI/2024/WindowsSettings">detached</consoleAllocationPolicy> | |
| 12 | 13 | <dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">True/PM</dpiAware> |
| 13 | 14 | <dpiAwareness xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">PerMonitorV2,PerMonitor</dpiAwareness> |
| 14 | 15 | <activeCodePage xmlns="http://schemas.microsoft.com/SMI/2019/WindowsSettings">UTF-8</activeCodePage> |