commit 6026f8bc9600e93eeb48a22abc440fbc8212e5a2 Author: PJ568 Date: Sun Feb 11 17:32:05 2024 +0800 重构 diff --git a/.github/workflows/Release.yml b/.github/workflows/Release.yml new file mode 100644 index 0000000..e272056 --- /dev/null +++ b/.github/workflows/Release.yml @@ -0,0 +1,69 @@ +on: + push: + tags: + - "v*" + +jobs: + Release: + runs-on: ubuntu-latest + permissions: write-all + name: Export + steps: + + - name: Checkout + uses: actions/checkout@v4 + + - name: Get Release + id: get-release + uses: robinraju/release-downloader@v1.9 + with: + repository: "atelier-anchor/smiley-sans" + latest: true + fileName: "*.zip" + # out-file-path: "Build" + # extract: true + + - name: Check workspace + run: | + ls $GITHUB_WORKSPACE/ + + - name: Make font + run: | + mkdir ./Build/ + mkdir ./Build/x1/ + mkdir ./Build/x2/ + unzip -o ${{ fromJson(steps.get-release.outputs.downloaded_files)[0] }} -d ./Build + grub-mkfont -o ./Build/x1/SmileySans-Oblique_32.pf2 -s 32 -v ./Build/SmileySans-Oblique.ttf + grub-mkfont -o ./Build/x1/SmileySans-Oblique_48.pf2 -s 48 -v ./Build/SmileySans-Oblique.ttf + grub-mkfont -o ./Build/x2/SmileySans-Oblique_64.pf2 -s 64 -v ./Build/SmileySans-Oblique.ttf + grub-mkfont -o ./Build/x2/SmileySans-Oblique_96.pf2 -s 96 -v ./Build/SmileySans-Oblique.ttf + find . -type d -name "568flat*" ! -name "568flat_x*" -exec bash -c 'cp -v -u -r "./Build/x1/SmileySans-Oblique_32.pf2" "{}/"' \; + find . -type d -name "568flat*" ! -name "568flat_x*" -exec bash -c 'cp -v -u -r "./Build/x1/SmileySans-Oblique_48.pf2" "{}/"' \; + find . -type d -name "568flat_x2*" -exec bash -c 'cp -v -u -r "./Build/x2/SmileySans-Oblique_64.pf2" "{}/"' \; + find . -type d -name "568flat_x2*" -exec bash -c 'cp -v -u -r "./Build/x2/SmileySans-Oblique_96.pf2" "{}/"' \; + + - name: Place Components + run: | + # 公共 + find . -maxdepth 1 -type d -name "568flat*" | xargs -I {} sh -c 'cp -v $(find ./assets/Components/ -maxdepth 1 -type f -name "*.png") {}/' + # 分辨率 + find . -maxdepth 1 -type d -name "568flat*" ! -name "568flat_x*" | xargs -I {} sh -c 'cp -v $(find ./assets/Components/x1/ -maxdepth 1 -type f -name "*.png") {}/' + find . -maxdepth 1 -type d -name "568flat_x2*" | xargs -I {} sh -c 'cp -v $(find ./assets/Components/x2/ -maxdepth 1 -type f -name "*.png") {}/' + # 语言和分辨率 + find . -maxdepth 1 -type d -name "568flat*" ! -name "568flat_x*" ! -name "*-en" | xargs -I {} sh -c 'cp -v $(find ./assets/Components/x1/zh/ -maxdepth 1 -type f -name "*.png") {}/' + find . -maxdepth 1 -type d -name "568flat*-en" ! -name "568flat_x*" | xargs -I {} sh -c 'cp -v $(find ./assets/Components/x1/en/ -maxdepth 1 -type f -name "*.png") {}/' + find . -maxdepth 1 -type d ! -name "*-en" -name "568flat_x2*" | xargs -I {} sh -c 'cp -v $(find ./assets/Components/x2/zh/ -maxdepth 1 -type f -name "*.png") {}/' + find . -maxdepth 1 -type d -name "*-en" -name "568flat_x2*" | xargs -I {} sh -c 'cp -v $(find ./assets/Components/x2/en/ -maxdepth 1 -type f -name "*.png") {}/' + + - name: Pack + run: | + mkdir Release + find . -type d -name "568flat*" -exec bash -c 'zip -r "./Release/$(basename {}).zip" "{}"' \; + + - name: Create release + uses: ncipollo/release-action@v1 + with: + token: ${{ secrets.TOKEN }} + generateReleaseNotes: true + tag: ${{ github.ref_name }} + artifacts: Release/* \ No newline at end of file diff --git a/.github/workflows/Test.yml b/.github/workflows/Test.yml new file mode 100644 index 0000000..4e8d13a --- /dev/null +++ b/.github/workflows/Test.yml @@ -0,0 +1,63 @@ +on: + workflow_dispatch: + +jobs: + Release: + runs-on: ubuntu-latest + permissions: write-all + name: test-Export + steps: + + - name: Checkout + uses: actions/checkout@v4 + + - name: Get Release + id: get-release + uses: robinraju/release-downloader@v1.9 + with: + repository: "atelier-anchor/smiley-sans" + latest: true + fileName: "*.zip" + # out-file-path: "Build" + # extract: true + + - name: Check workspace + run: | + ls $GITHUB_WORKSPACE/ + + - name: Make font + run: | + mkdir ./Build/ + mkdir ./Build/x1/ + mkdir ./Build/x2/ + unzip -o ${{ fromJson(steps.get-release.outputs.downloaded_files)[0] }} -d ./Build + grub-mkfont -o ./Build/x1/SmileySans-Oblique_32.pf2 -s 32 -v ./Build/SmileySans-Oblique.ttf + grub-mkfont -o ./Build/x1/SmileySans-Oblique_48.pf2 -s 48 -v ./Build/SmileySans-Oblique.ttf + grub-mkfont -o ./Build/x2/SmileySans-Oblique_64.pf2 -s 64 -v ./Build/SmileySans-Oblique.ttf + grub-mkfont -o ./Build/x2/SmileySans-Oblique_96.pf2 -s 96 -v ./Build/SmileySans-Oblique.ttf + find . -type d -name "568flat*" ! -name "568flat_x*" -exec bash -c 'cp -v -u "./Build/x1/SmileySans-Oblique_32.pf2" "{}/"' \; -exec bash -c 'cp -v -u "./Build/x1/SmileySans-Oblique_48.pf2" "{}/"' \; + find . -type d -name "568flat_x2*" -exec bash -c 'cp -v -u "./Build/x2/SmileySans-Oblique_64.pf2" "{}/"' \; -exec bash -c 'cp -v -u "./Build/x2/SmileySans-Oblique_96.pf2" "{}/"' \; + + - name: Place Components + run: | + # 公共 + find . -maxdepth 1 -type d -name "568flat*" | xargs -I {} sh -c 'cp -v $(find ./assets/Components/ -maxdepth 1 -type f -name "*.png") {}/' + # 分辨率 + find . -maxdepth 1 -type d -name "568flat*" ! -name "568flat_x*" | xargs -I {} sh -c 'cp -v $(find ./assets/Components/x1/ -maxdepth 1 -type f -name "*.png") {}/' + find . -maxdepth 1 -type d -name "568flat_x2*" | xargs -I {} sh -c 'cp -v $(find ./assets/Components/x2/ -maxdepth 1 -type f -name "*.png") {}/' + # 语言和分辨率 + find . -maxdepth 1 -type d -name "568flat*" ! -name "568flat_x*" ! -name "*-en" | xargs -I {} sh -c 'cp -v $(find ./assets/Components/x1/zh/ -maxdepth 1 -type f -name "*.png") {}/' + find . -maxdepth 1 -type d -name "568flat*-en" ! -name "568flat_x*" | xargs -I {} sh -c 'cp -v $(find ./assets/Components/x1/en/ -maxdepth 1 -type f -name "*.png") {}/' + find . -maxdepth 1 -type d ! -name "*-en" -name "568flat_x2*" | xargs -I {} sh -c 'cp -v $(find ./assets/Components/x2/zh/ -maxdepth 1 -type f -name "*.png") {}/' + find . -maxdepth 1 -type d -name "*-en" -name "568flat_x2*" | xargs -I {} sh -c 'cp -v $(find ./assets/Components/x2/en/ -maxdepth 1 -type f -name "*.png") {}/' + + - name: Pack + run: | + mkdir Release + find . -type d -name "568flat*" -exec bash -c 'zip -r "./Release/$(basename {}).zip" "{}"' \; + + - name: test-Check + uses: actions/upload-artifact@v4 + with: + name: test-Files + path: ./Release/* \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..080cef6 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +/Build/ +/Release/ \ No newline at end of file diff --git a/568flat-en/theme.txt b/568flat-en/theme.txt new file mode 100644 index 0000000..99a5719 --- /dev/null +++ b/568flat-en/theme.txt @@ -0,0 +1,241 @@ +# Copyright (C) 2024 PJ568 + + +# 全局设置 | General +title-text: "" +desktop-color: "#f9f7f0" +# message-font: "Smiley Sans Italic 32" +message-color: "#072a40" + + +# 标题 | Title ++ hbox { + left = 50%-511 + width = 766 + top = 50%-271 + height = 62 + + image { + file = "PJ568-62.png" + width = 62 + height = 62 + } + # + label { + # text = "Ventoy" + # font = "Smiley Sans Italic 48" + # color = "#072a40" + # } + + image { + file = "Title.png" + } +} + + +# 遮蔽(上、右、下、左)| Shadow (up, right, down, left) ++ image { + file = "shadow_c.png" + left = 0 + width = 50%+512 + top = 0 + height = 50%-272 +} ++ image { + file = "shadow_c.png" + left = 50%+512 + width = 50%-511 + top = 0 + height = 50%+272 +} ++ image { + file = "shadow_c.png" + left = 50%-512 + width = 50%+513 + top = 50%+272 + height = 50%-271 +} ++ image { + file = "shadow_c.png" + left = 0 + width = 50%-512 + top = 50%-272 + height = 50%+273 +} + + +# 提示信息 | Information text +# + vbox { +# left = 50%+256 +# top = 50%-272 +# width = 256 +# height = 544 +# + label {text = "@VTOY_HOTKEY_TIP@" +# font = "Smiley Sans Italic 32" +# color = "#f9f7f0" +# align = "center" +# } +# } ++ vbox { + left = 50%+288 + top = 50%-208 + width = 256 + height = 544 + + label { + text = "[e] Edit" + font = "Smiley Sans Italic 32" + color = "#f9f7f0" + } + + label { + text = "[c] Command" + font = "Smiley Sans Italic 32" + color = "#f9f7f0" + } + + label { + text = "[F1] Help" + font = "Smiley Sans Italic 32" + color = "#f9f7f0" + } + + label { + text = "[F2] Browser" + font = "Smiley Sans Italic 32" + color = "#f9f7f0" + } + + label { + text = "[F3] ListView" + font = "Smiley Sans Italic 32" + color = "#f9f7f0" + } + + label { + text = "[F4] Localboot" + font = "Smiley Sans Italic 32" + color = "#f9f7f0" + } + + label { + text = "[F5] Tools" + font = "Smiley Sans Italic 32" + color = "#f9f7f0" + } + + label { + text = "[F6] ExMenu" + font = "Smiley Sans Italic 32" + color = "#f9f7f0" + } +} +# + image { +# file = "Info-en.png" +# left = 50%+256 +# top = 50%-272 +# width = 256 +# height = 544 +# } + + +# 工具栏 | Information box ++ image { + file = "info_c.png" + left = 50%+256 + width = 50%-255 + top = 0 + height = 101% +} + + +# 进度(数字)| Progress ++ label { + id = "__timeout__" + # text = "@TIMEOUT_NOTIFICATION_SHORT@" + text = "%ds" + font = "Smiley Sans Italic 32" + align = "center" + + left = 50%+192 + width = 64 + top = 50%+208 + height = 64 + + color = "#f9f7f0" + # text_color = "#f9f7f0" + # bar_style = "status_*.png" + # highlight_style = "box_*.png" +} + + +# 状态信息 | Status text ++ hbox { + left = 50%-512 + top = 50%+209 + height = 62 + + label { + text = ":-)" + font = "Smiley Sans Italic 32" + width = 64 + color = "#f9f7f0" + align = "center" + } + + label { + text = "@VTOY_MEM_DISK@" + font = "Smiley Sans Italic 32" + width = 136 + color = "#f9f7f0" + align = "center" + } + + label { + text = "@VTOY_ISO_RAW@" + font = "Smiley Sans Italic 32" + width = 230 + color = "#f9f7f0" + align = "center" + } + + label { + text = "@VTOY_GRUB2_MODE@" + font = "Smiley Sans Italic 32" + width = 136 + color = "#f9f7f0" + align = "center" + } + + label { + text = "@VTOY_ISO_UEFI_DRV@" + font = "Smiley Sans Italic 32" + width = 136 + color = "#f9f7f0" + align = "center" + } + # + label { + # text = "@VTOY_WIMBOOT_MODE@" + # font = "Smiley Sans Italic 32" + # width = 160 + # color = "#f9f7f0" + # align = "center" + # } +} + + +# 状态栏 | Status box ++ image { + file = "status_c.png" + left = 0 + width = 100% + top = 50%+208 + height = 50%-207 +} + + +# 主菜单 | Main ++ boot_menu { + left = 50%-512 + width = 768 + top = 50%-208 + height = 416 + + item_font = "Smiley Sans Italic 32" + item_color = "#072a40" + selected_item_color = "#f9f7f0" + # item_icon_space = 32 + item_height = 48 + item_padding = 0 + item_spacing = 0 + selected_item_pixmap_style = "select_*.png" + + scrollbar = true + scrollbar_width = 8 + scrollbar_thumb = "box_*.png" + scrollbar_slice = "center" +} diff --git a/568flat/theme.txt b/568flat/theme.txt new file mode 100644 index 0000000..6490de5 --- /dev/null +++ b/568flat/theme.txt @@ -0,0 +1,241 @@ +# Copyright (C) 2024 PJ568 + + +# 全局设置 | General +title-text: "" +desktop-color: "#f9f7f0" +# message-font: "Smiley Sans Italic 32" +message-color: "#072a40" + + +# 标题 | Title ++ hbox { + left = 50%-511 + width = 766 + top = 50%-271 + height = 62 + + image { + file = "PJ568-62.png" + width = 62 + height = 62 + } + # + label { + # text = "Ventoy 引导程序" + # font = "Smiley Sans Italic 48" + # color = "#072a40" + # } + + image { + file = "Title.png" + } +} + + +# 遮蔽(上、右、下、左)| Shadow (up, right, down, left) ++ image { + file = "shadow_c.png" + left = 0 + width = 50%+512 + top = 0 + height = 50%-272 +} ++ image { + file = "shadow_c.png" + left = 50%+512 + width = 50%-511 + top = 0 + height = 50%+272 +} ++ image { + file = "shadow_c.png" + left = 50%-512 + width = 50%+513 + top = 50%+272 + height = 50%-271 +} ++ image { + file = "shadow_c.png" + left = 0 + width = 50%-512 + top = 50%-272 + height = 50%+273 +} + + +# 提示信息 | Information text +# + vbox { +# left = 50%+256 +# top = 50%-272 +# width = 256 +# height = 544 +# + label {text = "@VTOY_HOTKEY_TIP@" +# font = "Smiley Sans Italic 32" +# color = "#f9f7f0" +# align = "center" +# } +# } ++ vbox { + left = 50%+288 + top = 50%-208 + width = 256 + height = 544 + + label { + text = "[e] 编辑选择项" + font = "Smiley Sans Italic 32" + color = "#f9f7f0" + } + + label { + text = "[c] 命令行" + font = "Smiley Sans Italic 32" + color = "#f9f7f0" + } + + label { + text = "[F1] 显示帮助信息" + font = "Smiley Sans Italic 32" + color = "#f9f7f0" + } + + label { + text = "[F2] 浏览本地镜像" + font = "Smiley Sans Italic 32" + color = "#f9f7f0" + } + + label { + text = "[F3] 切换菜单模式" + font = "Smiley Sans Italic 32" + color = "#f9f7f0" + } + + label { + text = "[F4] 本地启动" + font = "Smiley Sans Italic 32" + color = "#f9f7f0" + } + + label { + text = "[F5] 工具菜单" + font = "Smiley Sans Italic 32" + color = "#f9f7f0" + } + + label { + text = "[F6] 自定义菜单" + font = "Smiley Sans Italic 32" + color = "#f9f7f0" + } +} +# + image { +# file = "Info.png" +# left = 50%+256 +# top = 50%-272 +# width = 256 +# height = 544 +# } + + +# 工具栏 | Information box ++ image { + file = "info_c.png" + left = 50%+256 + width = 50%-255 + top = 0 + height = 101% +} + + +# 进度(数字)| Progress ++ label { + id = "__timeout__" + # text = "@TIMEOUT_NOTIFICATION_SHORT@" + text = "%ds" + font = "Smiley Sans Italic 32" + align = "center" + + left = 50%+192 + width = 64 + top = 50%+208 + height = 64 + + color = "#f9f7f0" + # text_color = "#f9f7f0" + # bar_style = "status_*.png" + # highlight_style = "box_*.png" +} + + +# 状态信息 | Status text ++ hbox { + left = 50%-512 + top = 50%+209 + height = 62 + + label { + text = ":-)" + font = "Smiley Sans Italic 32" + width = 64 + color = "#f9f7f0" + align = "center" + } + + label { + text = "@VTOY_MEM_DISK@" + font = "Smiley Sans Italic 32" + width = 136 + color = "#f9f7f0" + align = "center" + } + + label { + text = "@VTOY_ISO_RAW@" + font = "Smiley Sans Italic 32" + width = 230 + color = "#f9f7f0" + align = "center" + } + + label { + text = "@VTOY_GRUB2_MODE@" + font = "Smiley Sans Italic 32" + width = 136 + color = "#f9f7f0" + align = "center" + } + + label { + text = "@VTOY_ISO_UEFI_DRV@" + font = "Smiley Sans Italic 32" + width = 136 + color = "#f9f7f0" + align = "center" + } + # + label { + # text = "@VTOY_WIMBOOT_MODE@" + # font = "Smiley Sans Italic 32" + # width = 160 + # color = "#f9f7f0" + # align = "center" + # } +} + + +# 状态栏 | Status box ++ image { + file = "status_c.png" + left = 0 + width = 100% + top = 50%+208 + height = 50%-207 +} + + +# 主菜单 | Main ++ boot_menu { + left = 50%-512 + width = 768 + top = 50%-208 + height = 416 + + item_font = "Smiley Sans Italic 32" + item_color = "#072a40" + selected_item_color = "#f9f7f0" + # item_icon_space = 32 + item_height = 48 + item_padding = 0 + item_spacing = 0 + selected_item_pixmap_style = "select_*.png" + + scrollbar = true + scrollbar_width = 8 + scrollbar_thumb = "box_*.png" + scrollbar_slice = "center" +} diff --git a/568flat_x2-en/theme.txt b/568flat_x2-en/theme.txt new file mode 100644 index 0000000..6e31492 --- /dev/null +++ b/568flat_x2-en/theme.txt @@ -0,0 +1,234 @@ +# Copyright (C) 2024 PJ568 + + +# 全局设置 | General +title-text: "" +desktop-color: "#f9f7f0" +# message-font: "Smiley Sans Italic 64" +message-color: "#072a40" + + +# 标题 | Title ++ hbox { + left = 50%-1023 + width = 826 + top = 50%-543 + height = 126 + + image { + file = "PJ568-126.png" + width = 126 + height = 126 + } + # + label { + # text = "Ventoy" + # font = "Smiley Sans Italic 96" + # color = "#072a40" + # } + + image { + file = "Title.png" + } +} + + +# 遮蔽(上、右、下、左)| Shadow (up, right, down, left) ++ image { + file = "shadow_c.png" + left = 0 + width = 50%+1024 + top = 0 + height = 50%-544 +} ++ image { + file = "shadow_c.png" + left = 50%+1024 + width = 50%-1023 + top = 0 + height = 50%+544 +} ++ image { + file = "shadow_c.png" + left = 50%-1024 + width = 50%+1025 + top = 50%+544 + height = 50%-543 +} ++ image { + file = "shadow_c.png" + left = 0 + width = 50%-1024 + top = 50%-544 + height = 50%+545 +} + + +# 提示信息 | Information text +# + vbox { +# left = 50%+512 +# top = 50%-544 +# width = 512 +# height = 1088 +# + label {text = "@VTOY_HOTKEY_TIP@" +# font = "Smiley Sans Italic 64" +# color = "#f9f7f0" +# align = "center" +# } +# } ++ vbox { + left = 50%+576 + top = 50%-416 + width = 512 + height = 1088 + + label { + text = "[e] Edit" + font = "Smiley Sans Italic 64" + color = "#f9f7f0" + } + + label { + text = "[c] Command" + font = "Smiley Sans Italic 64" + color = "#f9f7f0" + } + + label { + text = "[F1] Help" + font = "Smiley Sans Italic 64" + color = "#f9f7f0" + } + + label { + text = "[F2] Browser" + font = "Smiley Sans Italic 64" + color = "#f9f7f0" + } + + label { + text = "[F3] ListView" + font = "Smiley Sans Italic 64" + color = "#f9f7f0" + } + + label { + text = "[F4] Localboot" + font = "Smiley Sans Italic 64" + color = "#f9f7f0" + } + + label { + text = "[F5] Tools" + font = "Smiley Sans Italic 64" + color = "#f9f7f0" + } + + label { + text = "[F6] ExMenu" + font = "Smiley Sans Italic 64" + color = "#f9f7f0" + } +} + + +# 工具栏 | Information box ++ image { + file = "info_c.png" + left = 50%+512 + width = 50%-511 + top = 0 + height = 101% +} + + +# 进度(数字)| Progress ++ label { + id = "__timeout__" + # text = "@TIMEOUT_NOTIFICATION_SHORT@" + text = "%ds" + font = "Smiley Sans Italic 64" + align = "center" + + left = 50%+384 + width = 128 + top = 50%+416 + height = 128 + + color = "#f9f7f0" + # text_color = "#f9f7f0" + # bar_style = "status_*.png" + # highlight_style = "box_*.png" +} + + +# 状态信息 | Status text ++ hbox { + left = 50%-1024 + top = 50%+417 + height = 126 + + label { + text = ":-)" + font = "Smiley Sans Italic 64" + width = 128 + color = "#f9f7f0" + align = "center" + } + + label { + text = "@VTOY_MEM_DISK@" + font = "Smiley Sans Italic 64" + width = 272 + color = "#f9f7f0" + align = "center" + } + + label { + text = "@VTOY_ISO_RAW@" + font = "Smiley Sans Italic 64" + width = 460 + color = "#f9f7f0" + align = "center" + } + + label { + text = "@VTOY_GRUB2_MODE@" + font = "Smiley Sans Italic 64" + width = 272 + color = "#f9f7f0" + align = "center" + } + + label { + text = "@VTOY_ISO_UEFI_DRV@" + font = "Smiley Sans Italic 64" + width = 272 + color = "#f9f7f0" + align = "center" + } + # + label { + # text = "@VTOY_WIMBOOT_MODE@" + # font = "Smiley Sans Italic 64" + # width = 320 + # color = "#f9f7f0" + # align = "center" + # } +} + + +# 状态栏 | Status box ++ image { + file = "status_c.png" + left = 0 + width = 100% + top = 50%+416 + height = 50%-415 +} + + +# 主菜单 | Main ++ boot_menu { + left = 50%-1024 + width = 1536 + top = 50%-416 + height = 832 + + item_font = "Smiley Sans Italic 64" + item_color = "#072a40" + selected_item_color = "#f9f7f0" + # item_icon_space = 64 + item_height = 96 + item_padding = 0 + item_spacing = 0 + selected_item_pixmap_style = "select_*.png" + + scrollbar = true + scrollbar_width = 16 + scrollbar_thumb = "box_*.png" + scrollbar_slice = "center" +} diff --git a/568flat_x2/theme.txt b/568flat_x2/theme.txt new file mode 100644 index 0000000..055b87c --- /dev/null +++ b/568flat_x2/theme.txt @@ -0,0 +1,234 @@ +# Copyright (C) 2024 PJ568 + + +# 全局设置 | General +title-text: "" +desktop-color: "#f9f7f0" +# message-font: "Smiley Sans Italic 64" +message-color: "#072a40" + + +# 标题 | Title ++ hbox { + left = 50%-1023 + width = 826 + top = 50%-543 + height = 126 + + image { + file = "PJ568-126.png" + width = 126 + height = 126 + } + # + label { + # text = "Ventoy 引导程序" + # font = "Smiley Sans Italic 96" + # color = "#072a40" + # } + + image { + file = "Title.png" + } +} + + +# 遮蔽(上、右、下、左)| Shadow (up, right, down, left) ++ image { + file = "shadow_c.png" + left = 0 + width = 50%+1024 + top = 0 + height = 50%-544 +} ++ image { + file = "shadow_c.png" + left = 50%+1024 + width = 50%-1023 + top = 0 + height = 50%+544 +} ++ image { + file = "shadow_c.png" + left = 50%-1024 + width = 50%+1025 + top = 50%+544 + height = 50%-543 +} ++ image { + file = "shadow_c.png" + left = 0 + width = 50%-1024 + top = 50%-544 + height = 50%+545 +} + + +# 提示信息 | Information text +# + vbox { +# left = 50%+512 +# top = 50%-544 +# width = 512 +# height = 1088 +# + label {text = "@VTOY_HOTKEY_TIP@" +# font = "Smiley Sans Italic 64" +# color = "#f9f7f0" +# align = "center" +# } +# } ++ vbox { + left = 50%+576 + top = 50%-416 + width = 512 + height = 1088 + + label { + text = "[e] 编辑选择项" + font = "Smiley Sans Italic 64" + color = "#f9f7f0" + } + + label { + text = "[c] 命令行" + font = "Smiley Sans Italic 64" + color = "#f9f7f0" + } + + label { + text = "[F1] 显示帮助信息" + font = "Smiley Sans Italic 64" + color = "#f9f7f0" + } + + label { + text = "[F2] 浏览本地镜像" + font = "Smiley Sans Italic 64" + color = "#f9f7f0" + } + + label { + text = "[F3] 切换菜单模式" + font = "Smiley Sans Italic 64" + color = "#f9f7f0" + } + + label { + text = "[F4] 本地启动" + font = "Smiley Sans Italic 64" + color = "#f9f7f0" + } + + label { + text = "[F5] 工具菜单" + font = "Smiley Sans Italic 64" + color = "#f9f7f0" + } + + label { + text = "[F6] 自定义菜单" + font = "Smiley Sans Italic 64" + color = "#f9f7f0" + } +} + + +# 工具栏 | Information box ++ image { + file = "info_c.png" + left = 50%+512 + width = 50%-511 + top = 0 + height = 101% +} + + +# 进度(数字)| Progress ++ label { + id = "__timeout__" + # text = "@TIMEOUT_NOTIFICATION_SHORT@" + text = "%ds" + font = "Smiley Sans Italic 64" + align = "center" + + left = 50%+384 + width = 128 + top = 50%+416 + height = 128 + + color = "#f9f7f0" + # text_color = "#f9f7f0" + # bar_style = "status_*.png" + # highlight_style = "box_*.png" +} + + +# 状态信息 | Status text ++ hbox { + left = 50%-1024 + top = 50%+417 + height = 126 + + label { + text = ":-)" + font = "Smiley Sans Italic 64" + width = 128 + color = "#f9f7f0" + align = "center" + } + + label { + text = "@VTOY_MEM_DISK@" + font = "Smiley Sans Italic 64" + width = 272 + color = "#f9f7f0" + align = "center" + } + + label { + text = "@VTOY_ISO_RAW@" + font = "Smiley Sans Italic 64" + width = 460 + color = "#f9f7f0" + align = "center" + } + + label { + text = "@VTOY_GRUB2_MODE@" + font = "Smiley Sans Italic 64" + width = 272 + color = "#f9f7f0" + align = "center" + } + + label { + text = "@VTOY_ISO_UEFI_DRV@" + font = "Smiley Sans Italic 64" + width = 272 + color = "#f9f7f0" + align = "center" + } + # + label { + # text = "@VTOY_WIMBOOT_MODE@" + # font = "Smiley Sans Italic 64" + # width = 320 + # color = "#f9f7f0" + # align = "center" + # } +} + + +# 状态栏 | Status box ++ image { + file = "status_c.png" + left = 0 + width = 100% + top = 50%+416 + height = 50%-415 +} + + +# 主菜单 | Main ++ boot_menu { + left = 50%-1024 + width = 1536 + top = 50%-416 + height = 832 + + item_font = "Smiley Sans Italic 64" + item_color = "#072a40" + selected_item_color = "#f9f7f0" + # item_icon_space = 64 + item_height = 96 + item_padding = 0 + item_spacing = 0 + selected_item_pixmap_style = "select_*.png" + + scrollbar = true + scrollbar_width = 16 + scrollbar_thumb = "box_*.png" + scrollbar_slice = "center" +} diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..ff07fc1 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2024 PJ568 + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..4964ee9 --- /dev/null +++ b/README.md @@ -0,0 +1,84 @@ +# ![演示图](assets/概念图_发行.svg) + +> 🗃️[Github](https://github.com/PJ-568/568flat-ventoy-theme) | [Gitee](https://gitee.com/PJ-568/568flat-ventoy-theme) | [Pling](https://www.pling.com/p/2123244) + +## 568flat + +568flat is a cool grub 2 theme which is designed for ventoy. + +> [568flat](#568flat-installation) is designed for resolution of 1024x544 and above. +> +> If your screen resolution is over 2048x1088, please use [568flat_x2](#568flat_x2-installation) for better experience. + +## Installation + +If the resolution is not over 2048x1088, please goto [568flat Installation](#568flat-installation); Else, goto [568flat_x2 Installation](#568flat_x2-installation). + +Download the theme and extract it. + +### 568flat Installation + +Copy the `568flat` folder into `ventoy/themes` which should be located in the partition where your ISOs are located. + +Make sure that `ventoy/ventoy.json` (at least) contains: + +```json +{ + "theme":{ + "file":[ + "/ventoy/themes/568flat/theme.txt" + ], + "fonts":[ + "/ventoy/themes/568flat/SmileySans-Oblique_48.pf2", + "/ventoy/themes/568flat/SmileySans-Oblique_32.pf2" + ] + } +} +``` + +### 568flat_x2 Installation + +Copy the `568flat_x2` folder into `ventoy/themes` which should be located in the partition where your ISOs are located. + +Make sure that `ventoy/ventoy.json` (at least) contains: + +```json +{ + "theme":{ + "file":[ + "/ventoy/themes/568flat_x2/theme.txt" + ], + "fonts":[ + "/ventoy/themes/568flat_x2/SmileySans-Oblique_96.pf2", + "/ventoy/themes/568flat_x2/SmileySans-Oblique_64.pf2" + ] + } +} +``` + +## Q&A + +- Could not find some of the files or directories in my ventoy disk. + - Please create one if missing. +- UI looks too small on my screen. + - Lower the resolution of ventoy or use hi-res version of the theme, such as 568flat_x2 instead of 568flat. +- \[Memdisk\] or other status not showing. + - The statuses should show when you enable them. And it works with ventoy only. +- Does the theme supports grub? + - In theory, yes. But it is not tested. +- What font is this? + - [Smiley Sans](https://github.com/atelier-anchor/smiley-sans). +- Why using a picture instead of a label as title? + - Some how, I could only make ventoy use the last font it loads by now. So a picture is used temporarily. + +--- + +Please leave your comments and suggestions. Let me know if what is wrong or can be improved. + +:-D + +--- + +[About Smiley Sans](https://github.com/atelier-anchor/smiley-sans) + +[More info about ventoy themes](https://www.ventoy.net/en/plugin_theme.html) diff --git a/assets/Components/box_c.png b/assets/Components/box_c.png new file mode 100644 index 0000000..9dd2323 Binary files /dev/null and b/assets/Components/box_c.png differ diff --git a/assets/Components/info_c.png b/assets/Components/info_c.png new file mode 100644 index 0000000..9d80e4a Binary files /dev/null and b/assets/Components/info_c.png differ diff --git a/assets/Components/select_c.png b/assets/Components/select_c.png new file mode 100644 index 0000000..a13a39a Binary files /dev/null and b/assets/Components/select_c.png differ diff --git a/assets/Components/shadow_c.png b/assets/Components/shadow_c.png new file mode 100644 index 0000000..feea35b Binary files /dev/null and b/assets/Components/shadow_c.png differ diff --git a/assets/Components/status_c.png b/assets/Components/status_c.png new file mode 100644 index 0000000..4394b93 Binary files /dev/null and b/assets/Components/status_c.png differ diff --git a/assets/Components/x1/PJ568-62.png b/assets/Components/x1/PJ568-62.png new file mode 100644 index 0000000..213be9f Binary files /dev/null and b/assets/Components/x1/PJ568-62.png differ diff --git a/assets/Components/x1/en/Info-en.png b/assets/Components/x1/en/Info-en.png new file mode 100644 index 0000000..fb45f65 Binary files /dev/null and b/assets/Components/x1/en/Info-en.png differ diff --git a/assets/Components/x1/en/Title.png b/assets/Components/x1/en/Title.png new file mode 100644 index 0000000..38c6c26 Binary files /dev/null and b/assets/Components/x1/en/Title.png differ diff --git a/assets/Components/x1/zh/Info.png b/assets/Components/x1/zh/Info.png new file mode 100644 index 0000000..56fd3a8 Binary files /dev/null and b/assets/Components/x1/zh/Info.png differ diff --git a/assets/Components/x1/zh/Title.png b/assets/Components/x1/zh/Title.png new file mode 100644 index 0000000..7173e36 Binary files /dev/null and b/assets/Components/x1/zh/Title.png differ diff --git a/assets/Components/x2/PJ568-126.png b/assets/Components/x2/PJ568-126.png new file mode 100644 index 0000000..6e192d5 Binary files /dev/null and b/assets/Components/x2/PJ568-126.png differ diff --git a/assets/Components/x2/en/Title.png b/assets/Components/x2/en/Title.png new file mode 100644 index 0000000..3bce164 Binary files /dev/null and b/assets/Components/x2/en/Title.png differ diff --git a/assets/Components/x2/zh/Title.png b/assets/Components/x2/zh/Title.png new file mode 100644 index 0000000..ae40e34 Binary files /dev/null and b/assets/Components/x2/zh/Title.png differ diff --git a/assets/Logo_发行.png b/assets/Logo_发行.png new file mode 100644 index 0000000..6b1a4fb Binary files /dev/null and b/assets/Logo_发行.png differ diff --git a/assets/Logo_发行.svg b/assets/Logo_发行.svg new file mode 100644 index 0000000..8b24931 --- /dev/null +++ b/assets/Logo_发行.svg @@ -0,0 +1,255 @@ + + + + + 568flat-logo + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + PJ568 + + + + + PJ568 + + + + + PJ568 + + + 568flat-logo + + + + + + + + + + + + diff --git a/assets/Logo_工程.svg b/assets/Logo_工程.svg new file mode 100644 index 0000000..a8c2cc4 --- /dev/null +++ b/assets/Logo_工程.svg @@ -0,0 +1,331 @@ + + + + + 568flat-logo + + + + + + + + + + + + + + + + + + :-) [Memdisk] + Windows 11 +Deepin 23 +ReactOS +恢复环境 +UEFI 选项 + [ e ] 编辑选择项 +[ c ] 命令行 +[F1] 显示帮助信息 +[F2] 浏览本地镜像 +[F3] 菜单模式 +[F4] 本地启动 +[F5] 工具菜单 +[F6] 自定义菜单 + Ventoy + + + + + + + + + PJ568 + + + + + PJ568 + + + + + PJ568 + + + 568flat-logo + + + + + + + + + + + + diff --git a/assets/概念图_发行.png b/assets/概念图_发行.png new file mode 100644 index 0000000..1c5ebc0 Binary files /dev/null and b/assets/概念图_发行.png differ diff --git a/assets/概念图_发行.svg b/assets/概念图_发行.svg new file mode 100644 index 0000000..5ae2db9 --- /dev/null +++ b/assets/概念图_发行.svg @@ -0,0 +1,175 @@ + + + +568flatPJ568PJ568PJ568568flatPJ568 diff --git a/assets/概念图_工程.svg b/assets/概念图_工程.svg new file mode 100644 index 0000000..71af3cd --- /dev/null +++ b/assets/概念图_工程.svg @@ -0,0 +1,286 @@ + + + +568flat:-) [Memdisk] Compatible Mode UEFI FS 16sWindows 11 Local +Deepin 23 +ReactOS +恢复环境 +UEFI 选项[ e ] 编辑选择项 +[ c ] 命令行 +[F1] 显示帮助信息 +[F2] 浏览本地镜像 +[F3] 切换菜单模式 +[F4] 本地启动 +[F5] 工具菜单 +[F6] 自定义菜单Ventoy 引导程序PJ568PJ568PJ568568flatPJ568