Загрузочное меню ISO было оформлено в стиле Virtuality
- графическая тема GRUB (фон, подсветка выбранного пункта, полоса автозапуска) в image/grub, подключается в build-iso.sh; при отсутствии модулей GRUB меню остаётся текстовым; - пункты меню переведены: «Установить Virtuality X.Y.Z», «Загрузить с другого диска», «Настройки UEFI», «Проверить память»; - tests/render_html.mjs рендерит HTML в PNG (для фона темы). Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019LEUXMcdZo7b87mjkUsPgg
@@ -0,0 +1,12 @@
|
||||
# Тема загрузочного меню
|
||||
|
||||
`theme.txt` — тема GRUB (gfxmenu) для установочного ISO, `background.png` — фон 1024×768,
|
||||
`select_*.png` — подсветка выбранного пункта.
|
||||
|
||||
Фон рендерится из `background.html` (тот же стиль, что у страницы входа панели):
|
||||
|
||||
```bash
|
||||
NODE_PATH=$(npm root -g) node tests/render_html.mjs image/grub/background.html image/grub/background.png 1024 768
|
||||
```
|
||||
|
||||
Пиксмапы подсветки — однотонные RGBA 6×6 (110, 96, 255, 150).
|
||||
@@ -0,0 +1,19 @@
|
||||
<!doctype html><html><head><meta charset="utf-8"><style>
|
||||
html,body{margin:0;width:1024px;height:768px;overflow:hidden;font-family:Inter,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
|
||||
body{background:radial-gradient(900px 520px at 8% 0%, rgba(123,107,255,.55), transparent 60%), radial-gradient(760px 520px at 100% 100%, rgba(47,115,240,.45), transparent 55%), #0b0a1f;color:#fff;position:relative}
|
||||
.grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:radial-gradient(ellipse at 30% 30%,#000 15%,transparent 72%)}
|
||||
.brand{position:absolute;left:72px;top:64px;display:flex;align-items:center;gap:18px}
|
||||
.mark{width:64px;height:64px;border-radius:18px;background:linear-gradient(135deg,#7b6bff 0%,#5a48f5 45%,#2f73f0 100%);box-shadow:0 14px 40px -10px rgba(90,72,245,.9), inset 0 1px 0 rgba(255,255,255,.3);display:grid;place-items:center}
|
||||
.mark svg{width:38px;height:38px}
|
||||
.name{font-size:38px;font-weight:700;letter-spacing:-.02em;line-height:1}
|
||||
.name small{display:block;margin-top:8px;font-size:16px;font-weight:500;color:rgba(255,255,255,.62);letter-spacing:0}
|
||||
.tag{position:absolute;left:72px;top:176px;font-size:30px;font-weight:600;letter-spacing:-.02em;line-height:1.25;max-width:620px}
|
||||
.tag span{background:linear-gradient(90deg,#c4bcff,#8fb8ff);-webkit-background-clip:text;background-clip:text;color:transparent}
|
||||
.foot{position:absolute;left:72px;bottom:56px;color:rgba(255,255,255,.5);font-size:15px}
|
||||
.hint{position:absolute;right:72px;bottom:56px;color:rgba(255,255,255,.5);font-size:15px;text-align:right}
|
||||
</style></head><body><div class="grid"></div>
|
||||
<div class="brand"><div class="mark"><svg viewBox="0 0 24 24" fill="none"><path d="M4.5 5.5 12 19l7.5-13.5" stroke="#fff" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round"/><path d="M9 5.5h6" stroke="#fff" stroke-opacity=".55" stroke-width="2.6" stroke-linecap="round"/></svg></div><div class="name">Virtuality<small>Платформа виртуализации</small></div></div>
|
||||
<div class="tag">Ваши серверы.<br><span>Под полным контролем.</span></div>
|
||||
<div class="foot">Установщик · KVM · QEMU · libvirt</div>
|
||||
<div class="hint">↑ ↓ — выбор пункта, Enter — запуск</div>
|
||||
</body></html>
|
||||
|
После Ширина: | Высота: | Размер: 151 KiB |
|
После Ширина: | Высота: | Размер: 75 B |
|
После Ширина: | Высота: | Размер: 75 B |
|
После Ширина: | Высота: | Размер: 75 B |
|
После Ширина: | Высота: | Размер: 75 B |
|
После Ширина: | Высота: | Размер: 75 B |
|
После Ширина: | Высота: | Размер: 75 B |
|
После Ширина: | Высота: | Размер: 75 B |
|
После Ширина: | Высота: | Размер: 75 B |
|
После Ширина: | Высота: | Размер: 75 B |
@@ -0,0 +1,41 @@
|
||||
desktop-image: "background.png"
|
||||
desktop-image-scale-method: "stretch"
|
||||
desktop-color: "#0b0a1f"
|
||||
title-text: ""
|
||||
terminal-font: "Unicode Regular"
|
||||
terminal-left: "7%"
|
||||
terminal-top: "36%"
|
||||
terminal-width: "86%"
|
||||
terminal-height: "50%"
|
||||
terminal-border: "0"
|
||||
|
||||
+ boot_menu {
|
||||
left = 7%
|
||||
top = 36%
|
||||
width = 60%
|
||||
height = 42%
|
||||
item_font = "Unicode Regular"
|
||||
item_color = "#b9b8cf"
|
||||
selected_item_color = "#ffffff"
|
||||
item_height = 36
|
||||
item_padding = 10
|
||||
item_spacing = 6
|
||||
icon_width = 0
|
||||
icon_height = 0
|
||||
scrollbar = false
|
||||
selected_item_pixmap_style = "select_*.png"
|
||||
}
|
||||
|
||||
+ progress_bar {
|
||||
id = "__timeout__"
|
||||
left = 7%
|
||||
top = 86%
|
||||
width = 60%
|
||||
height = 24
|
||||
font = "Unicode Regular"
|
||||
text_color = "#ffffff"
|
||||
fg_color = "#7b6bff"
|
||||
bg_color = "#1c1a36"
|
||||
border_color = "#2a2748"
|
||||
text = "Автоматический запуск через %d с"
|
||||
}
|
||||