From d34dd2f67dd0f9adce41c32b7f5c1d8359b4bca6 Mon Sep 17 00:00:00 2001 From: Jean-Pierre Martineau Date: Mon, 5 Oct 2026 22:47:17 -0400 Subject: [PATCH] The Cardputer's launcher shows the website's logo as MeshTerm's icon The launcher entry carried a placeholder. Its icon is now meshterm.net's logo, the red skyline, resized to the launcher's 100x100 the way the site makes its own small icons (Lanczos from the 410 px source). Co-Authored-By: Claude Opus 5.5 (1M context) --- scripts/README.md | 2 +- scripts/cardputer-zero/meshterm.png | Bin 7579 -> 10636 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/README.md b/scripts/README.md index d9bd990..59a8399 100644 --- a/scripts/README.md +++ b/scripts/README.md @@ -5,7 +5,7 @@ Repo-side tools. None of these ship in the wheel. | Script | What it is for | |---|---| | `basemap-doctor.py` | Why a user's map has no basemap — certificates, DNS, proxy, or colour depth | -| `cardputer-zero/` | `launcher-entry.sh` puts a source checkout on the Cardputer Zero's app launcher (and `remove` takes it off), until there is a store package; `meshterm.png` is its placeholder icon. `type-text.py` types a pasted string (an API key, a Wi-Fi password) on the Cardputer's keyboard from another computer, over SSH | +| `cardputer-zero/` | `launcher-entry.sh` puts a source checkout on the Cardputer Zero's app launcher (and `remove` takes it off), until there is a store package; `meshterm.png` is its icon, the website's logo at the launcher's 100×100. `type-text.py` types a pasted string (an API key, a Wi-Fi password) on the Cardputer's keyboard from another computer, over SSH | | `picocalc-lyra/` | Calculinux device setup: console font, palette, Wi-Fi; `xiao-radio/` is the XIAO radio kit (firmware build, flashing, UART setup) | | `uconsole/` | The uConsole's always-on SPI bridge service (MeshTerm can also drive that radio directly, with no script at all — see `docs/devices/uconsole.md`) | diff --git a/scripts/cardputer-zero/meshterm.png b/scripts/cardputer-zero/meshterm.png index 959a32f38449dfeb3d0fa406aa4052190b897426..c84fc6e86ce67a74b2f935f8ce37cbfbc516d162 100644 GIT binary patch literal 10636 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 V_jR8z>Xap#%12FwD*4aB{|C?IC1wBs literal 7579 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