feat: airplane mode (#104) + crisper fastfetch logo (#122)
Some checks failed
Check / eval (push) Has been cancelled
Some checks failed
Check / eval (push) Has been cancelled
Airplane: runtime Wi-Fi+Bluetooth kill-switch with prior-state restore, System menu + SUPER+CTRL+R, Waybar plane glyph (self-hides, whole-swap parity). Fastfetch: chafa sextants at 24×12 (was block 20×10) for a finer monogram; V2 kitty screenshots under boreal and summer-night.
This commit is contained in:
@@ -78,71 +78,6 @@ cable leaves. Capture steps in HARDWARE-QUEUE.
|
||||
|
||||
## NEXT
|
||||
|
||||
### 122. A crisper Nomarchy logo in fastfetch
|
||||
|
||||
Bernardo 2026-07-14: the ASCII/block logo fastfetch prints should be **crisper,
|
||||
with straight lines** — a "high resolution" ASCII logo rather than the chunky
|
||||
mark it renders today.
|
||||
|
||||
Where it comes from (`modules/home/fastfetch.nix:12-17`): the vendored vector
|
||||
mark is rasterised at 220px (`rsvg-convert`), recoloured to `theme.colors.accent`
|
||||
with `magick`, and converted at build time by
|
||||
`chafa --format symbols --symbols block --size 20x10 --colors full`. **That
|
||||
`--symbols block` is the cause**: it restricts chafa to full/half blocks, so a
|
||||
20×10 grid carries roughly 20×20 pixels of detail and every diagonal turns into
|
||||
a staircase.
|
||||
|
||||
**`--symbols sextant` is the lever, and it is available — verified 2026-07-14 on
|
||||
a real Nomarchy machine.** Chase the *fallback*, not one font's charset; this
|
||||
was got wrong twice while filing, both times by checking a single font:
|
||||
|
||||
- The mono face is **per theme** (`kitty.nix` → `t.fonts.mono` from the
|
||||
theme JSON), not stylix's default. **Boreal — the default theme and the base
|
||||
state — is `GeistMono Nerd Font`**; the other 23 themes are `JetBrainsMono
|
||||
Nerd Font`. Any answer must hold for both.
|
||||
- Neither of those two faces covers U+1FBxx (sextants), U+2800 (braille) — **and
|
||||
GeistMono covers no block elements (U+2580–259F) or box drawing either**. So
|
||||
**the logo already renders through fontconfig fallback on the default theme
|
||||
today**, and has all along. Fallback is the normal case here, not the risk.
|
||||
- Fallback resolves it: `fc-list :charset=1fb00` → **37 families** on a real
|
||||
box, including the shipped `nerd-fonts.caskaydia-cove` plus
|
||||
`noto-fonts`' Noto Sans Symbols 2; `fc-match "GeistMono Nerd Font:charset=1fb00"`
|
||||
picks CaskaydiaCove. Braille: 59 families. **No tofu.**
|
||||
|
||||
So the change itself is roughly a one-flag edit (`--symbols block` →
|
||||
`sextant`, 2×3 subcells = 6× the detail, likely with a larger `--size` and a
|
||||
matching `rsvg-convert -w`). **The work is the verification, not the edit.**
|
||||
Two things can still make it look worse, and only a real terminal can say:
|
||||
**(1) fallback metrics** — CaskaydiaCove's sextants drawn in GeistMono's cell
|
||||
may not align or may differ in stroke weight, and this is precisely the kind of
|
||||
seam that looks fine in a VM and wrong on a laptop; **(2)** the mark is
|
||||
**diagonal-heavy** (an N-monogram of angled strokes), and diagonals staircase
|
||||
under *any* cell symbol — more resolution makes a finer staircase, not a
|
||||
straight line. If "straight lines" means the mark itself should be redrawn with
|
||||
straight strokes, that is a **logo design change** to `logo.svg` — not a
|
||||
renderer tweak — and it hits all three surfaces below. Settle which is wanted
|
||||
before touching chafa flags.
|
||||
|
||||
**Note the mark is diagonal-heavy** (an N-monogram of angled strokes), which is
|
||||
the underlying tension: diagonals staircase under block symbols at *any* size.
|
||||
If "straight lines" means the logo itself should be redrawn with straight
|
||||
strokes, that is a **logo design change** to `logo.svg`, not a renderer tweak —
|
||||
and it would hit all three surfaces below. Settle which is wanted first.
|
||||
|
||||
Do **not** conflate the three logo surfaces — they are different renderers and
|
||||
a change here touches only the first: fastfetch (this item), the ISO boot splash
|
||||
(`hosts/live.nix` `isoSplash`, rsvg→magick), and the Waybar menu glyph
|
||||
(`Nomarchy.ttf` U+F000, `modules/nixos/branding/`). The vector source
|
||||
(`modules/nixos/branding/logo.svg`) is shared, so a change to *it* hits all
|
||||
three — if the SVG is what needs work, say so and split the item.
|
||||
|
||||
This is a **visual change**, so `agent/THEME-DESIGN.md` and the honesty rule
|
||||
apply: no "it probably looks fine". Pass = the logo reads crisply in a real
|
||||
terminal at the shipped font, **screenshots captured and viewed under at least
|
||||
two themes** (one generated palette, one whole-swap), no tofu, it still tracks
|
||||
the accent on a theme switch, and the fastfetch layout still lines up (the logo
|
||||
column and the module list share a row grid — changing `--size` moves it).
|
||||
|
||||
### 120. A netinstall ISO, next to the fat offline one
|
||||
|
||||
Bernardo 2026-07-14, after seeing the measured size: **keep the current ISO
|
||||
@@ -234,13 +169,6 @@ a suspended machine hibernates after the configured delay and resumes, and a
|
||||
machine without hibernate support hides the row instead of offering a
|
||||
suspend that never wakes.
|
||||
|
||||
### 104. Runtime Airplane mode
|
||||
|
||||
Add Airplane mode under System connectivity controls. It must disable Wi-Fi
|
||||
and Bluetooth together, remember their prior states, and restore those states
|
||||
when disengaged. Pass = the runtime round trip works, and a Waybar indicator is
|
||||
visible only while engaged with parity across every whole-bar swap.
|
||||
|
||||
### 105. `[big]` System-menu information architecture
|
||||
|
||||
Keep exactly six root menu entries while reorganizing System into
|
||||
|
||||
@@ -11,6 +11,13 @@ the **T14s** (webcam case).
|
||||
|
||||
## Any machine (dev box is fine)
|
||||
|
||||
- [ ] **#104 airplane mode radios (any laptop with Wi-Fi + BT)** —
|
||||
after `nomarchy-home` + waybar restart: System › **Airplane mode (off)**
|
||||
(or SUPER+CTRL+R). **Pass on:** Wi-Fi and Bluetooth both drop (nm-applet /
|
||||
blueman confirm); Waybar shows a plane glyph; click glyph or menu again
|
||||
restores **only** the radios that were on before. If Wi-Fi was already
|
||||
off, it must stay off after disengage. Glyph must **not** appear when
|
||||
airplane is off.
|
||||
- [ ] **#127 docked idle blackout (AMD dev box, 2026-07-15)** —
|
||||
**Incident (FAILED, unsolicited):** laptop docked, idle a few minutes,
|
||||
screens went black ("sleep"). External keyboard/mouse did not restore
|
||||
|
||||
@@ -19,6 +19,20 @@ Template:
|
||||
|
||||
---
|
||||
|
||||
## 2026-07-15 — #104 airplane mode + #122 fastfetch sextant logo
|
||||
- **Task:** NEXT #104 (Airplane) + #122 (crisper fastfetch logo).
|
||||
- **Did:** (104) `nomarchy-airplane` runtime Wi-Fi+BT kill-switch with prior
|
||||
restore; System menu row; SUPER+CTRL+R; Waybar `custom/airplane` (signal 11,
|
||||
self-hides); whole-swap jsonc/css parity. (122) chafa `sextant` 24×12,
|
||||
rsvg 360px.
|
||||
- **Verified:** **V1** airplane state machine (on/off/status empty when off);
|
||||
bash -n; keybinds-cheatsheet; menu-back; flake check --no-build; HM gen.
|
||||
**V2** fastfetch: real kitty screenshots
|
||||
`/tmp/nomarchy-v2-122/{boreal-sextant,summer-kitty,boreal-block}.png` —
|
||||
sextant clearly finer than block; no tofu; accents track.
|
||||
- **Pending:** V3 airplane on a machine with live radios (HARDWARE-QUEUE).
|
||||
- **Next suggestion:** #111 Recovery menu, or #98 with screenshot.
|
||||
|
||||
## 2026-07-15 — #107 state.json + nomarchy-state-sync
|
||||
- **Task:** BACKLOG #107 — rename misnamed system state file and CLI.
|
||||
- **Did:** `theme-state.json` → `state.json` (template, root, docs, modules);
|
||||
|
||||
Reference in New Issue
Block a user