zwire fork

July 27, 2026 · View on GitHub

The HUD extension layer (extensions/hud-internal + the HUD new-tab) gives you the tiling workspace, the ⌘K palette, the scheme picker, and your extensions — but it cannot reshape the browser chrome: tab shape, UI fonts, toolbar borders are native C++, not themeable.

This fork/ directory is the source build — the way zwire ships. It restyles the chrome itself: sharp cyberpunk tabs, Share Tech Mono / Monaco UI type, neon toolbar, HUD-colored frame, and the 8 HUD schemes wired into the DevTools Theme dropdown. It compiles a patched Chromium and installs it as the zwire base, which the bin/zwire launcher then runs with the extensions preloaded.

Cost (be sure you want this)

  • First build: ~100 GB checkout + 1–4 hours compile. Incremental rebuilds after a patch: minutes.
  • Disk: ~150 GB (src + one out dir).
  • Maintenance: rebase fork/patches/ onto each Chromium release you track, plus security-patch cadence. This is the solo-fork commitment.

Pipeline

fork/fetch.sh                 # depot_tools + fetch pinned Chromium (long)
fork/apply-patches.sh  ~/zwire-chromium/src
fork/build.sh          ~/zwire-chromium/src      # the long compile
fork/package.sh        ~/zwire-chromium/src/out/zwire
zwire                                            # runs the HUD-chromed fork
FileRole
CHROMIUM_VERSIONpinned release tag the patch series targets
args.gnGN build config — unbranded (is_chrome_branded=false), release, proprietary codecs on (H.264/AAC)
fetch.shinstall depot_tools, fetch + checkout the pinned tag, sync deps
apply-patches.shapply / reverse the HUD patch series over src/
build.shgn gen + autoninja chrome
package.shinstall the built app as the zwire base + rebrand
patches/the HUD patch series + patches/README.md target-file map

Media codecs

Stock Chromium builds with ffmpeg_branding="Chromium" — open codecs only (VP8/VP9/AV1/Opus/Vorbis), no H.264/AAC. Sites that stream H.264 (Synology SurveillanceStation web live-view, most IP cameras, MP4/AAC media) play in Google Chrome but not in an unpatched Chromium build. args.gn sets proprietary_codecs = true + ffmpeg_branding = "Chrome" so zwire decodes what Chrome does. H.265/HEVC is not software-decoded — Chromium routes it to the OS hardware decoder (enable_platform_hevc, VideoToolbox on macOS); Synology gates H.265/MPEG4/MxPEG to its native Client anyway, so set such cameras' live-view stream to H.264 for browser playback.

Status

Pipeline: ready. HUD patches (patches/series): all 27 authored against the pinned tag 150.0.7871.46 and verified apply-clean (git apply --check against each target file read at that exact tag):

PatchRestylesState
0001 tab shapesharp 2px HUD tab cornersauthored · apply-clean
0002 UI colorsHUD palette on frame / toolbar / tabs / omnibox + neon separatorauthored · apply-clean
0003 UI fontShare Tech Mono / Monaco UI type (resource_bundle.cc)authored · apply-clean
0004 toolbar border2px neon cyan line under the toolbarauthored · apply-clean
0005 omniboxsharp 2px omnibox fieldauthored · apply-clean
0006 brandingzwire product stringsauthored · apply-clean
0007 DevTools theme8 HUD schemes in the DevTools Theme dropdown (3 front_end files)authored · apply-clean

Apply-clean proves the diff context matches the pinned source; it does not prove the C++ compiles — fork/build.sh is that gate. See patches/README.md for the target-file map and anchors. Reference models: ungoogled-chromium (patch series), helium-chromium and brave-core (native-chrome restyle).