Skip to content

Latest commit

 

History

History
452 lines (248 loc) · 9.58 KB

grub2_gfx_zh.md

File metadata and controls

452 lines (248 loc) · 9.58 KB
layout
default

主题

注意:主题与文件读取进度功能冲突。如果出现图像显示方面的问题,请禁用进度显示。

export enable_progress_indicator=0

字体

GRUB 支持 PFF2 字体格式。可以用 lsfonts 命令列出可用字体,用 loadfonts 命令加载字体。

图片

GRUB 支持 bmp, jpg, jpeg, png, tga 格式的图片。

颜色

支持以下格式的颜色:

  • #RRGGBB (十六进制数字,例如 "#8899FF")
  • #RGB (同上)
  • R,G,B (十进制数字,例如 "128,128,255")
  • 小写的 "SVG 1.0 颜色名称"

坐标

支持以下格式的坐标位置:

  • x (以像素为单位)
  • p% (以容器的百分比为单位)
  • p%+x, p%-x (以上两者混合)

全局属性

全局属性按以下格式指定:

  • name1: value1
  • name2: "value which may contain spaces"
  • name3: #88F
  • name4: p%+x

全局属性列表:

  • title-text

    指定标题文本。

  • title-font

    指定标题字体。

  • title-color

    指定标题文本颜色。

  • desktop-image

    指定桌面背景图片。

  • desktop-image-scale-method

    指定桌面背景图片缩放模式。可选值为 "stretch", "crop", "padding", "fitwidth", "fitheight"。

  • desktop-image-h-align

    指定桌面背景图片水平对齐模式。可选值为 "left", "center", "right"。

  • desktop-image-v-align

    指定桌面背景图片垂直对齐模式。可选值为 "top", "center", "bottom"。

  • desktop-color

    指定桌面背景颜色。

  • terminal-box

    指定命令行终端窗口的样式图片,例如 "terminal_*.png"。

  • terminal-border

    指定命令行终端窗口的边框宽度。

  • terminal-left

    指定命令行终端窗口的左坐标。

  • terminal-top

    指定命令行终端窗口的顶部坐标。

  • terminal-width

    指定命令行终端窗口的宽度。

  • terminal-height

    指定命令行终端窗口的高度。

主题组件

在主题中创建组件,方法是在组件类型前面加上一个 "+" 号:

+ label {
    text = "GNU GRUB 2"
    font = "Dos VGA"
    color = "#8FF"
    align = center
    preferred_size = (120, 80)
}

label

该组件显示一行文字。

属性
  • id

    若为 "__timeout__" 并且没有 "text" 属性,则显示启动倒计时。

    若为 "__help__" 并且没有 "text" 属性,则显示选中菜单帮助文本。

    若为 "__title__" 并且没有 "text" 属性,则显示选中菜单标题。

  • text

    要显示的文本。若文本以 "@@" 开头,则显示为变量的值,例如设为 "@@grub_cpu" 以显示变量 grub_cpu 的值。

  • var

    要显示的变量名。与 “text” 属性不同的是,每秒刷新一次变量的值。

  • hook

    与 "var" 属性搭配使用,通过执行一句简单命令来刷新变量的值。

  • font

    文本的字体。

  • color

    文本的颜色。

  • align

    文本在组件中的水平对齐方式,选项为 "left", "center" 和 "right"。

  • visible

    设为 "false" 以隐藏此组件。

image

该组件显示一幅图片。

属性
  • file

    图片的全路径。

progress_bar

显示水平的倒计时进度条。

属性
  • id

    设为 "__timeout__" 以显示倒计时。

  • fg_color

    设置前景色。

  • bg_color

    设置背景色。

  • border_color

    设置边框颜色。

  • text_color

    设置文本颜色。

  • bar_style

    设置进度条样式图片,例如 "progress_frame_*.png"。

  • highlight_style

    设置进度条高亮区域样式图片,例如 "progress_hl_*.png"。

  • highlight_overlay

    若设为 "true",则高亮显示的边缘图片将覆盖进度条框架的边缘图片。默认为 "false"。

  • font

    设置字体。

  • text

    设置在进度条上显示的文本。若值为 "@TIMEOUT_NOTIFICATION_SHORT@", "@TIMEOUT_NOTIFICATION_MIDDLE@" 或 "@TIMEOUT_NOTIFICATION_LONG@",则 GRUB 将自动更新提示信息。

circular_progress

显示圆形倒计时指示器。外观由中心图像和刻度图像决定。中心图像位于组件的中心。 围绕圆周,绘制数个刻度图像。

属性
  • id

    设为 "__timeout__" 以显示倒计时。

  • center_bitmap

    设置中心图像的文件名。

  • tick_bitmap

    设置刻度图像的文件名。

  • num_ticks

    设置圆周上的刻度数。

  • ticks_disappear

    设置当进度到达时刻度是否消失,选项为 "true" 或 "false" (默认)。

  • start_angle

    设置第一个刻度标记的位置,单位为圆的 1/256。使用 "xxx deg" 或 "xxx \xc2\xb0" 可以按角度设置位置。

boot_menu

显示 GRUB 启动菜单。

属性
  • item_font

    菜单项标题的字体。

  • selected_item_font

    选中菜单项标题的字体。默认值为 "inherit",继承 item_font 设置的字体。

  • item_color

    菜单项标题的颜色。

  • selected_item_color

    选中菜单项标题的颜色。默认值为 "inherit",继承 item_color 设置的颜色。

  • icon_width

    菜单项图标的宽度。

  • icon_height

    菜单项图标的高度。

  • item_height

    菜单项的高度。

  • item_padding

    菜单项内容每一侧要保留的空间。

  • item_icon_space

    菜单项图标与标题之间的空隙。

  • item_spacing

    菜单项之间保留的空间。

  • menu_pixmap_style

    启动菜单框的样式图片,例如 "menu_*.png"。

  • item_pixmap_style

    菜单项方框的样式图片。

  • selected_item_pixmap_style

    选中菜单项方框的样式图片。

  • scrollbar

    是否显示滚动条,选项为 "true" 或 "false"。

  • scrollbar_frame

    滚动条样式图片,如 "scrollbar_*.png"。

  • scrollbar_thumb

    滚动条滑块的样式图片,如 "scrollbar_thumb_*.png"。

  • scrollbar_thumb_overlay

    选项为 "true" 或 "false"。若为 "true",则滑块侧边将会覆盖滚动条框的侧边。

  • scrollbar_slice

    滚动条在菜单框架中的位置,选项为 "west", "center", "east" (默认)。"west" 将在左侧绘制 (右对齐),"east" 将在右侧绘制 (左对齐)。"center" 将在中心绘制。注意:若为 "center",如果绘制滚动条,则启动菜单项的宽度将减小滚动条的宽度,并且滚动条将绘制在中心图片的右侧。若不绘制滚动条,则菜单项的宽度为中心图片的宽度。

  • scrollbar_left_pad

    滚动条左侧的空间。若 scrollbar_slice 为 "west",则此属性无效。

  • scrollbar_right_pad

    滚动条右侧的空间。若 scrollbar_slice 为 "east",则此属性无效。

  • scrollbar_top_pad

    滚动条上方的空间。

  • scrollbar_bottom_pad

    滚动条底部的空间。

  • visible

    设为 "false" 以隐藏启动菜单。

canvas

canvas 是一个容器,可以在其内部放任何组件,且不更改其子组件的位置。

hbox

hbox 容器会将其子组件从左到右排布,为每个子组件设置其首选宽度。每个子组件的高度将会设为子组件中最高的首选高度。

vbox

vbox 容器会将其子组件从上到下排布,为每个子组件设置其首选高度。每个子组件的宽度将会设为子组件中最宽的首选宽度。

animation

显示动画。需要正确地设置变量 grub_frame_speed 以启用动画。

export grub_frame_speed=110

其中,110为帧速,单位是毫秒每帧。

示例
+ animation {
    dir_name = "IMAGE_DIR"
    image_format = png/jpg/jpeg/tga
    frame_number = n
    left = p%
    width = p%
    top = p%
    height = p%
    size_ratio = n
    start_x = n
    start_y = n
    move_speed = n
    move_direction = up/down/left/right
    play_once = pause/disappear
    hit_wall = pause/stop/disappear
    bind_menu = fixed_position/follow_single/foll_variety/full_screen
    bind_direction = left/right
}
属性
  • dirname = "IMAGE_DIR"

    动画序列图片所在文件夹,指 theme.txt 所在目录下的文件夹

  • image_format = png/jpg/jpeg/tga

    指定动画图片的扩展名,支持 png, jpg, jpeg, tga

  • frame_number = n

    动画序列图片总数。图片文件命名必须是数字加扩展名,数字从 1 开始,例如 1.jpg, 2.jpg, 3.jpg ...

  • size_ratio = n

    动画大小相对于容器的比例。

  • start_x/start_y = n

    动画在容器中x/y坐标的偏移值。若动画跟随主菜单选择条目的位置而移动,则 start_y 无效。

  • move_direction = up/down/left/right

    设置动画初始的移动方向,只在随机移动的动画中有效。

  • move_speed = n

    设置动画移动速度。值为 0,则在原地播放动画。值不能为负数。

  • play_once = pause/disappear

    设置动画播放一次后暂停显示最后一帧或消失。若不设置此项,则为循环播放。

  • hit_wall = pause/stop/disappear

    设置当动画撞到容器壁后的行为,pause -- 暂停播放动画,stop -- 停止移动,继续播放动画,disappear -- 消失。

  • bind_menu = fixed_position/follow_single/foll_variety/full_screen

    设置动画作为随菜单选项变化的 logo 使用。若参数不是 follow_single,则动画序列应该放在 dir_name 参数目录的各子目录中,子目录名与 menuentry --class 的参数相同。

    • fixed_position -- 在固定位置随菜单项播放动画
    • follow_single -- 跟随菜单项,在不同位置显示同一组动画
    • follow_variety -- 跟随菜单项,在不同位置播放不同动画
    • full_screen -- 全屏显示随菜单项变化的动画
    • bind_direction = left/right 在启用跟随菜单项的动画后,设置动画的位置在主菜单左边框的左边或右边

通用属性

  • left

    指定组件的左边框位置。

  • top

    指定组件的顶部边框位置。

  • width

    指定组件的宽度。

  • height

    指定组件的高度。