插件多模式选项

Ventoy 会为每一个插件定义一个 json 配置项用来设置与此插件功能相关的属性。
比如全局控制插件的 control,主题插件的 theme,菜单别名插件的 menu_alias,自动安装插件的 auto_install 等。

所有这些选项都支持针对不同的 BIOS 模式分别配置。

什么意思呢?以主题插件 theme 为例,你可以在 json 文件中配置一个 theme 选项,此时这个配置针对所有模式都生效。

{
    "theme": {
        "file": "/ventoy/theme/theme.txt",
        "gfxmode": "1920x1080"
    }
}

你也可以分别配置 theme_legacy theme_uefi theme_ia32 theme_aa64,分别针对 x86 Legacy BIOS、x86_64 UEFI、IA32 UEFI 和 ARM64 UEFI 模式生效。
当然这两种方式不能同时配。

{
    "theme_legacy": {
        "display_mode": "CLI"        
    },
    "theme_uefi": {
        "file": "/ventoy/theme/theme.txt",
        "gfxmode": "1920x1080"
    },
    "theme_ia32": {
        "file": "/ventoy/theme/theme.txt",
        "gfxmode": "1920x1080"
    },
    "theme_aa64": {
        "file": "/ventoy/theme/theme.txt",
        "gfxmode": "1920x1080"
    }
}

同样的:
control 对应 control_legacycontrol_ueficontrol_ia32control_aa64
auto_install 对应 auto_install_legacyauto_install_uefiauto_install_ia32auto_install_aa64 等。

说明

1. 对于配置项 xxx 对应的多模式配置项即为 xxx_legacyxxx_uefixxx_ia32xxx_aa64 (注意字母全小写)
2. 两种方式不能同时配置,比如配置了 control 就不能再配置 control_legacycontrol_uefi,反之亦然
3. 多模式配置项你可以只配置其中1个,比如你可以只配置 theme_uefi 但不配置其他的,这样就只会在 x86_64 UEFI 模式下生效,其他模式保持默认
4. 配置项内部的子选项定义和使用方式都是一样的


ventoy.json 示例

{
    "control_legacy": [
        { "VTOY_DEFAULT_MENU_MODE": "1" },
        { "VTOY_FILT_DOT_UNDERSCORE_FILE": "1" }
    ],
    
    "control_uefi": [
        { "VTOY_DEFAULT_MENU_MODE": "0" },
        { "VTOY_FILT_DOT_UNDERSCORE_FILE": "1" }
    ],
    
    "control_ia32": [
        { "VTOY_DEFAULT_MENU_MODE": "0" },
        { "VTOY_FILT_DOT_UNDERSCORE_FILE": "1" }
    ],
    
    "control_aa64": [
        { "VTOY_DEFAULT_MENU_MODE": "0" },
        { "VTOY_FILT_DOT_UNDERSCORE_FILE": "1" }
    ],
    
    "theme_legacy": {
        "display_mode": "CLI"        
    },
    
    "theme_uefi": {
        "file": "/ventoy/theme/theme.txt",
        "gfxmode": "1920x1080"
    },
    
    "theme_ia32": {
        "file": "/ventoy/theme/theme.txt",
        "gfxmode": "800x600"
    },
    
    "theme_aa64": {
        "file": "/ventoy/theme/theme.txt",
        "gfxmode": "1024x768"
    }
}