Skip to content
badenpilandPublic

About

Theme Chromium pages to match the active Omarchy theme.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

Omareader

Web pages use the Omarchy theme you already picked. Switch themes and the open tabs follow.

curl -fsSL https://raw.githubusercontent.com/badenpiland/omareader/main/install.sh | bash

Restart that browser. Chrome asks for sudo once.

The same page in Harbor, then Tokyo Night, without a reload

What it does

Omareader is a Chromium extension. A small Python program watches ~/.local/state/omarchy/current and sends over the background, foreground, and selection color whenever omarchy theme set swaps that directory.

The themeing is Dark Reader’s dynamic theme engine (darkreader 4.9.133, MIT, copyright Dark Reader Ltd). You do not install the Dark Reader extension. The popup asks once before turning it off. If Omareader cannot see other extensions yet, that question says so. Turning it off asks for permission to manage extensions. Leaving it on means both extensions restyle the page. Pages also get Dark Reader’s site fixes, including Amazon. The bundled list is from Dark Reader 4.9.133. Once a day Omareader downloads Dark Reader's public site-fix list from raw.githubusercontent.com. No browsing data is sent. Uncheck “Update site fixes daily” in the popup to keep the list already in use. A failed download, or a list with a command this version does not know, also keeps the list already in use. Once a day Omareader checks this repo's GitHub releases, including pre-releases. When one is newer, the popup names the installed version and links the available version to the repo. That check sends no browsing data.

Alt+Shift+O turns Omareader on or off. The toolbar shows the dark glasses while it is on, and the light glasses while it is off. Pause on this site leaves that host alone and shows the light glasses on its tabs.

Link and syntax colors stay on Dark Reader’s usual path. They are not replaced with the terminal’s red, green, and blue. Text that would disappear into the theme background is drawn in the theme foreground. A stylesheet from another host is fetched by the extension and themed the same way. On a dark theme the Amazon header wordmark stays the light sprite Amazon ships, and the orange smile stays orange.

Install

The command follows the Omarchy default browser and installs Omareader only there. Chromium, Brave, Brave Origin, and Edge load it on the next restart. Chrome ignores that per-user install, so the command asks once for sudo and writes the extension where Chrome will load it. Firefox and Zen are not supported.

If a browser already refused the extension, it will not accept the installer again until the extension is installed by hand once, removed, and the command is run again.

The palette has to come from your machine, so the extension and the native host are installed together. The extension id is mhglniaepbokfgnpeennihlifandcgjh.

The command above copies the host to ~/.local/share/omareader/ and downloads the signed extension for the version on main. It checks the published checksum. It does not compile anything and it does not create a signing key. From a checkout, ./install.sh does the same thing.

Limits

chrome:// pages and the Chrome Web Store cannot be themed.

Build from source

npm ci
npm run build
# then load dist/ as an unpacked extension (chrome://extensions, Developer mode, Load unpacked)

The extension id stays mhglniaepbokfgnpeennihlifandcgjh, so the native host still works. scripts/pack.sh writes release/omareader.crx and release/omareader.crx.sha256. Upload both files to the GitHub release. install.sh checks that checksum when it is published, and warns if the .sha256 file is missing. After the release is published, update the Omarchy suggestion at omacom/omarchy#14632: comment with the version, the install command, and any behavior change that matters for inclusion, and correct the original post if a claim there is no longer true.

npm run lint
npm test

GitHub Actions runs the lint, the tests, and the build on every push and pull request. It does not sign a release.

The public key in src/manifest.json pins the extension id. key.pem stays private and is how scripts/pack.sh signs release/omareader.crx. Do not generate a replacement key. A new key would publish a different extension id, and already-installed browsers would keep the old one.

The build refreshes LICENSES/darkreader-MIT.txt from node_modules/darkreader/LICENSE and copies it into the extension.

Omarchy

This is a pre-release. Inclusion in Omarchy is suggested here: omacom/omarchy#14632

License

MIT, see LICENSE.

Bundles the Dark Reader engine (MIT, Copyright (c) Dark Reader Ltd.), see LICENSES/darkreader-MIT.txt. Icon derived from the Omarchy mark (MIT, Copyright (c) David Heinemeier Hansson), see LICENSES/omarchy-MIT.txt.

Not affiliated with or endorsed by Dark Reader Ltd. or the Omarchy project.

About

Theme Chromium pages to match the active Omarchy theme.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages