XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet

XFESystem

【Rust】XFE系统,基于Rust和汇编

公开
关注 0 Fork 0 Star 0
UTF-8

C# 桌面第三轮:外观设置与平滑交互

本轮保留 XFEToolBox 的窗口布局,标题栏右上角只有最小化和关闭;双击标题栏最大化/还原,拖动右下角调整大小。旧发行目录和 ZIP 保留。

系统设置

点击顶部 Settings、任务栏最右侧的滑杆图标,或开始菜单中的 Settings,进入外观设置。

  • Light / Dark 即时切换;默认浅色。
  • 深色沿用旧版的背景 #09121B、面板 #102538 和蓝色标题 #285171,终端默认文字 #75C9F5、背景 #0C1321。
  • Blue、Purple、Teal、Rose、Amber 五个预设;自定义输入 #RRGGBB,按 Enter 或 Apply 应用。Tab 可移动焦点。
  • 主题色影响界面与指针;文字和描边会派生足够对比度的颜色,程序显式指定的 Console/ANSI 颜色保持其实际值。
  • 外观配置写入 X:\System\Settings\Appearance.json,可在同一工作区重新加载。当前 C# 文件系统是 RAM live,关闭虚拟机后设置和用户文件消失;设置窗口明确显示这一范围。损坏配置或写入失败会报告错误。

窗口与指针

窗口圆角、标题栏符号和其他线条以原生像素覆盖率抗锯齿,边缘与实际场景混色。内侧大面积仍用快速填充,圆角只计算和缓存小块覆盖数据。

箭头保持交点较粗、端点渐细和短尾;文本 I 形、调整大小指针采用同样风格。光晕是低透明度的主题色,与当前背景实际混合,不再用不透明的浅色带堆成白团。1×/2× 覆盖率分别生成,支持局部恢复旧指针和提交损伤区域。

桌面入口、标题按钮、任务栏、开始菜单、文件列表、工具栏和设置选项具有悬停/按下反馈。相同按钮内移动保留指针缓存;跨目标只使旧/新区域失效。最小化/关闭在原按钮范围内松开鼠标时执行,拖出可取消;其余交互保留短暂按下反馈。

九个原有 Imagegen PNG 保持不变。新增 Settings 使用原生抗锯齿滑杆符号,单独处理,不索引九图标 Atlas 之外的数据。

任务栏与 QEMU 视口

上一轮普通窗口以 1:1 显示完整 4K framebuffer;窗口客户区小于 3840×2160 时,底部任务栏会被裁出视口。新启动器默认最大化普通窗口并启用 zoom-to-fit,让整张来宾画面完整可见。来宾分辨率仍为 3840×2160,200% 界面倍率独立;宿主视口的重采样也独立。

-NativePixels 可显式选择 1:1 像素显示,窗口放不下时允许裁切;它不能与 -FitToWindow 同时指定。-Fullscreen 是显式选项,不在固件启动前默认启用。此前存在一次全屏启动停在 EDK2 的记录,普通窗口已成功启动。

QEMU 获得焦点和输入捕获后可用 Win/Alt+Tab 等快捷键;Ctrl+Alt+G 释放输入捕获。当前来宾绘制目标按主屏设置为240 Hz,实际提交 FPS、GTK 可见呈现和物理 VSync 继续分别记录,不能把目标值当作稳定可见帧率。

验收范围

宿主像素测试覆盖暗/浅背景混色、原生圆角、线条与缓存;真实 QEMU 检查覆盖主题和自定义颜色、非法输入拒绝、两按钮标题、悬停/按下像素差异、完整来宾底栏及滚动性能。启动器另有 PowerShell 5 只读计划回归。无 GUI 原生截图只证明来宾画面,完整可见视口还需用实际窗口与启动参数验证。

本轮仍是 x86_64 C# 开发预览,完整 .NET/CoreCLR、原生 HTTPS、实体 USB 输入、多显示器、持久化与 GPU VSync 的既有移植边界不变。按用户先完成镜像的安排,不更新专用 U 盘。