Skip to content

feat(tmux): Add tmux template - #101

Merged
Ly-sec merged 15 commits into
noctalia-dev:mainfrom
CollieIsCute:feature/tmux-template
Aug 27, 2026
Merged

feat(tmux): Add tmux template#101
Ly-sec merged 15 commits into
noctalia-dev:mainfrom
CollieIsCute:feature/tmux-template

Conversation

@CollieIsCute

@CollieIsCute CollieIsCute commented Aug 21, 2026

Copy link
Copy Markdown

Template

  • App: tmux
  • Template id (directory): tmux
  • New template
  • Update to an existing template

What it themes

Native tmux status, windows, pane borders, menus, popups, and copy mode.

Inactive tabs use their own background by default. Users can set @noctalia_inactive_tabs_use_background to off before sourcing the theme to inherit the status background instead.

Testing

  • App version tested: tmux 3.7c
  • Applied a dark theme and confirmed the app picked it up
  • Applied a light theme and confirmed the app picked it up
  • Re-applied twice and the app config is still correct (hooks are idempotent)
  • Regression test verifies off removes the inactive-tab background and on restores it

Screenshots

tmux dark and light Material themes

Hooks

  • What the hook does: Adds one source-file line at the end of the standard tmux config and reloads active servers that use that config without starting one.
  • It is idempotent: running it twice does not duplicate lines or corrupt the config.
  • It fails loudly (non-zero exit, message on stderr) when the app config is missing.
  • It downloads nothing and executes nothing it did not ship in this directory.
  • It touches only this app own config.

Checklist

  • The directory name matches the catalog id in template.toml.
  • category is an allowed value.
  • Every input_path names a file that exists in this directory.
  • No generated output or app-specific personal config is committed.

@CollieIsCute
CollieIsCute marked this pull request as ready for review August 22, 2026 07:51
CollieIsCute added a commit to CollieIsCute/dotfiles that referenced this pull request Aug 22, 2026
## 目的

讓 Noctalia 控制 tmux 的原生 status 與 tab 配色,避免 Catppuccin format 內嵌的顏色覆蓋
Noctalia style。

## 變更

- 移除 Catppuccin tmux plugin 與相關設定。
- 移除依賴 Catppuccin 的 uptime status module。
- 保留既有 tmux layout、TPM 與其他 plugins。

## 依賴

-
[noctalia-dev/community-templates#101](noctalia-dev/community-templates#101)
- 在 tmux community template 啟用前,tmux 會使用原生配色。

## 驗證

- chezmoi source 與部署後的 tmux config 均無 Catppuccin 引用。
- 現有 tmux server 的 window formats 已恢復為不含 inline colors 的原生格式。
- Noctalia styles 已套用到一般與 current tabs。
- Noctalia source line 保持單一且可重複套用。
@CollieIsCute CollieIsCute changed the title Add tmux template feat(tmux): Add tmux template Aug 22, 2026
CollieIsCute added a commit to CollieIsCute/dotfiles that referenced this pull request Aug 24, 2026
## Summary

- Render the full tmux Material template with Matugen on macOS.
- Reuse the pinned upstream apply hook to update matching live tmux
servers.

The template and hook are pinned to noctalia-dev/community-templates#101
head commit until that upstream PR merges.

## Verification

- Rendered macOS and Windows chezmoi templates and parsed the resulting
TOML.
- Rendered the exact tmux template with Matugen 4.2.0.
- Verified live reload on default and named isolated tmux servers, plus
automatic loading by a later server.
- Verified the tmux target with chezmoi deployment dry-run.
- CI remains deployment-only.
CollieIsCute added a commit to CollieIsCute/dotfiles that referenced this pull request Aug 26, 2026
## Summary

- Register tmux as a Linux Noctalia user template until
noctalia-dev/community-templates#101 reaches the catalog.
- Lazy-cache the exact PR head template and apply hook; generated colors
remain outside chezmoi ownership.
- Keep the workaround to one file and one droppable commit.

## Removal

After #101 is published, drop commit `170c340` and add `tmux` to
`community_ids`.

## Verification

- `noctalia config validate home/dot_config/noctalia`
- Verified pinned file checksums and `apply.sh` syntax locally.
- Rendered the template with Noctalia and confirmed current, last,
activity, and bell styles.
@Ly-sec
Ly-sec merged commit 12b4e17 into noctalia-dev:main Aug 27, 2026
1 check passed
CollieIsCute added a commit to CollieIsCute/dotfiles that referenced this pull request Aug 29, 2026
## Summary

- remove the temporary Linux tmux user-template downloader
- enable the published Noctalia community tmux template
- make macOS Matugen follow the official upstream `main` tmux template
and reload hook, refreshed every 24 hours
- refresh stale Fish and macOS wallpaper documentation

## Ownership

- Linux: Noctalia community catalog owns the tmux template and generated
theme
- macOS: Matugen fetches the current upstream `main` template inputs
through chezmoi
- chezmoi continues to manage only generator configuration and the
stable tmux source line

The macOS externals intentionally omit fixed checksums: a checksum would
make the floating `main` URLs fail as soon as upstream changes.
`refreshPeriod = "24h"` keeps the cache current; `chezmoi apply -R`
forces an immediate refresh. This means the upstream `apply.sh` hook is
trusted when it changes.

## Verification

- `noctalia config validate home/dot_config/noctalia`
- `noctalia theme --list-templates -c
home/dot_config/noctalia/config.toml`
- rendered the official tmux template with Noctalia in faithful/light
mode and matched the current generated theme byte-for-byte
- downloaded both current upstream `main` files; they still match the
former pinned SHA256 values
- `bash -n` on the current upstream `apply.sh`
- parsed rendered Darwin and Windows Matugen/external TOML
- ran the upstream apply hook twice against an isolated tmux 3.7c
server; the config stayed idempotent and the generated status colors
reloaded live
- `git diff --check`

Upstream: noctalia-dev/community-templates#101
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.

2 participants