Skip to content

v0.2.0 — Display, power and startup items

Choose a tag to compare

@CookPiu CookPiu released this 12 Sep 01:55
· 12 commits to main since this release

This release fills out the coverage: two new categories (Display and Power), a Startup items page, and six more UI detail switches. The positioning shifted too — it's no longer organized around "keep things off the C drive", but around getting a new machine configured properly in one pass.

The interface is still Chinese-only. English UI is on the roadmap; everything else works the same regardless of system language.

New

Display and power

  • Raise the refresh rate to maximum — high-refresh panels shipping at 60 Hz is the norm on new machines. Reads by enumerating every mode at the current resolution and color depth via EnumDisplaySettings (not the GPU's advertised MaxRefreshRate, which gives false positives); writes frequency only, leaving resolution and color depth untouched.
  • Turn off Fast Startup — it turns "shut down" into hibernating the kernel session to hiberfil.sys, so a shutdown-and-boot isn't a clean cold start: it locks NTFS volumes under dual-boot, and some peripheral or driver glitches only clear on a real power cycle. Costs a few seconds at boot.
  • Later screen-off and sleep on AC (15 / 60 min) — Windows' defaults are tuned for battery life, which gets in the way when you're plugged in and downloading or compiling. Only the AC side changes; the battery side keeps the system defaults.

Startup items page — lists entries from the Run keys and the Startup folder with a switch on each. Only writes StartupApproved (the same mechanism Task Manager uses), so the Run key and shortcut stay put and can be re-enabled any time. Changes go into the session journal and show up in the run log.

Six UI detail switches — full path in the title bar, never combine taskbar buttons, seconds on the clock, keep recent items out of Quick Access, disable Aero Shake, and turn off sync provider notifications in File Explorer (that's the ad slot only — OneDrive sync itself is unaffected).

Fixed

  • Startup item count was inflated: Win32_StartupCommand only lists the raw entries in the Run keys and Startup folder — items disabled through Task Manager are listed all the same. The old check reported "14 autostart items" on the development machine when only 8 were actually enabled. It now reads StartupApproved.
  • Checks page rendered as a class name: App.xaml was missing the DataTemplate for CheckupViewModel, so the page showed the type name instead of the view. The mapping is in place, and the smoke test now asserts that every sub-page view model has a template.

Changed

  • Refresh rate and startup items were promoted from read-only checks to executable items, so the checks page goes from ten items back to eight — one thing shouldn't appear in two places, and "go change it yourself in Settings" contradicts a one-click button for the same setting.
  • IRegistry gained the Binary value type (stored as hex in the journal).

Install

Download both files, keep them in the same folder, and run WinHomestead.exe:

File Why
WinHomestead.exe Single file, all dependencies embedded
WinHomestead.exe.config Binding redirects and runtime declaration — it won't start without this

Requires Windows 11 22H2 or later and an administrator account. No .NET install needed — it runs on the .NET Framework 4.8 that ships with Windows.

Important

This exe is not code-signed, so Windows will show a SmartScreen box. Click More info → Run anyway if you want to proceed; otherwise build from source or verify the checksums below.

Checksums (SHA256)

0B5AFCB864810DFCF1133227850EFE6E5FC1ECE5BE68DC4018AC12EEB7D8E72B  WinHomestead.exe
FACB7DA0FBCCD9D6341D74F09A47E66D4E22558320E6D29C464F51C831574238  WinHomestead.exe.config

Verify with Get-FileHash .\WinHomestead.exe -Algorithm SHA256.

Not included, on purpose

No uninstalling Microsoft's built-in apps, no disabling services, no touching Windows Update, no changes to UAC / SmartScreen / memory integrity, no DNS or hosts tinkering, no network access. This is not a performance tool — it won't raise benchmark scores.

Power mode (Best power efficiency / Balanced / Best performance) and Night light are still out: the former only has the undocumented PowerSetActiveOverlayScheme, and the latter's state lives in a CloudStore binary blob whose format shifts between builds. Both are left to you in Settings.

Safety

  • A system restore point is created before the first change of each session
  • Original values go to %ProgramData%\WinHomestead\journal-*.jsonl before any write; a failed item rolls back from that record
  • Partition operations are irreversible, never pre-selected, and require explicit confirmation; no existing partition is ever deleted, moved, or merged
  • Under MDM or domain management, HKLM-touching items are skipped with the reason shown

Known limitations

  • Unsigned binary, so SmartScreen warns on first run
  • Battery health falls back to powercfg /batteryreport on machines whose firmware won't report design capacity; on a brand-new machine the battery statistics need a few days of normal use before the numbers mean anything
  • Desktop relocation shows as not applicable while OneDrive has taken it over — turn off Desktop backup in OneDrive settings first
  • Found a problem? Open an issue

Full changelog: v0.1.0...v0.2.0


中文说明

这一版把覆盖面补齐了:新增「显示」「电源」两个分类和「启动项」子页,界面细节开关补到十四条。定位也跟着调整——不再以「把东西挡在 C 盘之外」为唯一主线,而是新机该配的设置一次配到位。

新增

显示与电源

  • 把刷新率拉到最高 —— 高刷屏出厂跑 60 Hz 是新机常态。读用 EnumDisplaySettings 枚举同分辨率同色深下的全部模式取最大值(而不是显卡标称的 MaxRefreshRate,那个会误报),写只改频率,分辨率与色深不动。
  • 关闭快速启动 —— 它让「关机」实际变成把内核会话休眠到 hiberfil.sys,于是关机重启并不等于一次干净的冷启动:双系统下会锁住 NTFS 分区,外设与驱动异常有时也只有真关机才能复位。代价是开机慢几秒。
  • 插电时晚点关屏与睡眠(15 / 60 分钟)—— 系统默认按省电定,插着电源下载或编译时容易被打断。只动交流电源一侧,电池侧保持系统默认。

启动项子页 —— 列出 Run 键与启动文件夹里的自启项,逐项开关。只写 StartupApproved(和任务管理器同一套机制),Run 键与快捷方式本身不动,随时能开回来。改动进会话 journal,能在执行记录里看到。

界面细节六条 —— 标题栏显示完整路径、任务栏按钮从不合并、时钟显示秒、快速访问不留最近项目、关闭抖动最小化,以及关掉资源管理器里的同步提供程序通知(只关广告位,不影响 OneDrive 同步)。

修复

  • 启动项数量报大了:Win32_StartupCommand 只列 Run 键与启动文件夹里的原始条目,被任务管理器禁用过的项照列不误。旧版的检查项在开发机上报「14 项自启」,实际启用的只有 8 项。现在改看 StartupApproved。
  • 检查项页显示成类名:App.xaml 缺 CheckupViewModel 的 DataTemplate,页面会原样渲染类名字符串而不是界面。已补上映射,并在冒烟测试里逐个断言子页都有模板。

调整

  • 刷新率和开机启动项从只读检查项升级成了可执行条目,检查项相应从十项回到八项——一件事不该两处显示,而且一边说「自己去设置里改」、一边能一键改,结论是矛盾的。
  • IRegistry 补上 Binary 类型(journal 里按十六进制存原值)。

安装

下载上面两个文件,放在同一个目录,双击 WinHomestead.exe。需要 Windows 11 22H2 及以上 + 管理员账户,无需安装 .NET。

这个 exe 没有代码签名,Windows 会弹 SmartScreen 蓝框。确认要运行就点「更多信息」→「仍要运行」;不放心可以自己从源码构建,或者比对上面的校验和。

不做什么

不卸载微软预装应用,不禁用系统服务,不动 Windows Update,不碰 UAC / SmartScreen / 内存完整性,不改 DNS 与 Hosts,不联网。它不是「加速」工具,装了跑分不会变高。

电源模式和夜间光这一版也没做:前者只有未文档化的 PowerSetActiveOverlayScheme,后者的开关存在 CloudStore 的二进制 blob 里、格式随版本变化。

安全机制

  • 每次会话第一次执行前自动创建系统还原点
  • 写操作的原值先记进 %ProgramData%\WinHomestead\journal-*.jsonl,单项失败按记录自动回滚
  • 分区类操作不可逆,默认不勾选、执行前二次确认;永远不删除、不移动、不合并已有分区
  • MDM / 域管控的机器上,涉及 HKLM 的条目自动跳过并说明原因