Skip to content

add velo launcher palette template#29

Open
joao-paulo-santos wants to merge 1 commit into
noctalia-dev:mainfrom
joao-paulo-santos:add-velo-template
Open

add velo launcher palette template#29
joao-paulo-santos wants to merge 1 commit into
noctalia-dev:mainfrom
joao-paulo-santos:add-velo-template

Conversation

@joao-paulo-santos

Copy link
Copy Markdown

Summary

Adds a community template for velo, a fast plugin-extensible launcher for Wayland (C fork of tofi). When enabled, noctalia keeps velo's palette in sync with the active noctalia theme.

How it works

Three files in :

**** (template input) renders noctalia's six relevant color tokens (surface, onSurface, primary, onPrimary, secondary, outline) in velo's native JSON palette format with dark and light variants. Written to .

apply.sh (post-hook) runs on every theme apply and:

  1. Sets palette = "current-noctalia-override" in ~/.config/velo/config (rewrites existing line, appends if missing, creates file if absent)
  2. Sets darkmode = true|false to match noctalia's current mode

The rest of the config file is preserved. Same sed rewrite pattern velo's own theme-switch plugin uses.

template.toml registers the template under category launcher.

Design notes

  • Only writes one override palette file (current-noctalia-override.json); velo's vendored palettes are untouched
  • No runtime signal: velo reads its config at startup, so the theme applies on next launch
  • Uses velo's unprefixed key form (matches how velo's own palettes are authored; the m-prefixed form also works)
  • velo's palette loader is lenient: accepts both unprefixed (primary) and noctalia m-prefixed (mPrimary) keys, and ignores unknown keys

velo is a Wayland launcher (C fork of tofi) themed through palette
JSON files. Its loader accepts noctalia's native format, so the
template writes a single override palette and points velo at it.

- palette.json: rendered from noctalia's active palette into velo's
  six-key JSON format (surface, onSurface, primary, onPrimary,
  secondary, outline) with dark and light variants
- apply.sh: sets palette = "current-noctalia-override" and
  darkmode = true|false in velo's config, preserving the rest of the
  file. Creates the config if missing, appends lines if absent.

No runtime change: velo reads its config at startup so the new palette
applies on next launch.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant