Omahub
← All plugins
B

Ink Mode

by Brad Jinks

A print-like filter for the whole screen — good for books and graphic novels, long coding sessions, and night-time viewing. Color Ink keeps hue without the glow; Ink is warm grayscale. Last mode comes back after login and Style changes.

Security review

No obvious issues detected

Deterministic scan — not a security guarantee

None
Risk level
None
Analyzed commit
f62af34
Scanned
1 month ago

No potentially dangerous behavior detected in the analyzed commit.

Automated analysis only — not a security guarantee.

AI advisory review

No obvious issues detected

Language-model assessment · ~deepseek/deepseek-v4-flash-latest — advisory only

None
AI risk level
None
Recommendation
install
Model
~deepseek/deepseek-v4-flash-latest
Analyzed commit
f62af34
Reviewed
1 month ago

This plugin is a straightforward screen-shader filter that cycles Hyprland's decoration.screen_shader between bundled shader files and saves the selected mode to a state file. The shell script is simple, validates its inputs, and performs no destructive, network, or credential-related operations. No obfuscation or hidden persistence was found beyond the documented state file.

How this check works

This review combines the deterministic scan (the rule-based results above) with an independent look at the plugin's code by a language model. The model reads a trimmed sample of the repository's files, the manifest, and the README, then gives a plain-language risk level and a recommendation: install (no notable danger), review (look closer first), or avoid (clearly dangerous).

It runs on the same analyzed commit as the deterministic scan and is strictly advisory — it is not a security guarantee and never blocks a plugin by itself. A human moderator still reviews plugins before they are listed.

AI advisory only — automated analysis, not a security guarantee.

Install
$ omarchy plugin add https://github.com/bradjinks/omarchy-ink-mode --enable
Appearance #Hyprland #bar #quickshell

Ink Mode

I tried a color e-ink reader once. Loved the muted palette. Did not love the price.

That look is what I wanted for reading and coding: color, just quieter. Desktop themes get you most of the way there. Then you open a webpage or a YouTube tab and the difference is almost painful — calm editor, neon everything else.

So I wondered: what if the whole screen just got a little desaturated? Not another theme. A filter.

Color Ink keeps hue but takes the punch out, the way print holds color without glow. Ink goes further: warm grayscale, like newsprint. Normal is the unfiltered display, one click away when you actually want the fireworks.

An Omarchy bar widget and service. Last mode is restored after login and after Style changes.

Mode Look
Normal Unfiltered color
Color Ink Soft, print-like color
Ink Warm grayscale, like newsprint

Install

omarchy plugin add https://github.com/bradjinks/omarchy-ink-mode.git --enable

That puts a chip on the right of the bar. Click it to cycle Normal → Color Ink → Ink → Normal. No extra packages: it uses Hyprland’s screen shader, which Omarchy already has.

Optional Hyprland bind (add to ~/.config/hypr/bindings.lua):

o.bind("SUPER + CTRL + SHIFT + N", "Cycle ink mode", "omarchy-shell inkMode cycle")

That goes through the plugin service so the bar chip stays in sync after login. If the shell is not up yet, bind cycle.sh instead (same path as the CLI below).

Remove

Switch to Normal first so the screen filter is cleared, then:

omarchy plugin remove jinxnet.inkmode

That uninstalls the plugin and takes the chip off the bar. It does not edit a Hyprland bind you added by hand.

Disabling without removing (omarchy plugin disable jinxnet.inkmode) leaves an active filter in place until you switch to Normal, or reload Hyprland with no shader set.

Optional leftovers:

  • ~/.local/state/omarchy/inkMode — last saved mode
  • the optional bind in ~/.config/hypr/bindings.lua

CLI

The plugin needs to be enabled and omarchy-shell running.

omarchy-shell inkMode status          # {"mode":"color-ink","desired":"color-ink"}
omarchy-shell inkMode cycle           # Normal → Color Ink → Ink → Normal
omarchy-shell inkMode set color-ink   # or: ink  /  normal
omarchy-shell inkMode refresh

cycle.sh does the same from a script or keybind, including when IPC is down:

~/.config/omarchy/plugins/jinxnet.inkmode/cycle.sh           # cycle
~/.config/omarchy/plugins/jinxnet.inkmode/cycle.sh status    # live Hyprland shader
~/.config/omarchy/plugins/jinxnet.inkmode/cycle.sh color-ink
~/.config/omarchy/plugins/jinxnet.inkmode/cycle.sh ink
~/.config/omarchy/plugins/jinxnet.inkmode/cycle.sh normal

Tweaking Color Ink

Edit shaders/color-ink.frag and change SATURATION (1.0 = unchanged, 0.0 = grayscale). Then cycle away from Color Ink and back, or reload Hyprland.

Notes

  • The last mode is saved in ~/.local/state/omarchy/inkMode and restored on login, after Style changes, and after hyprctl reload.
  • Some exclusive-fullscreen games skip Hyprland and will not be filtered.
  • Switch to Normal before disabling the plugin if you want the filter cleared immediately.

License

MIT