Refactor screen rotation setup and GTK theme configuration in first-boot process

Update the one-shot script to set screen rotation using kanshi based on kernel command line parameters, replacing the previous wlr-randr method. The script now writes the configuration to ~/.config/kanshi/config and sets the GTK dark theme (PiXnoir or Adwaita-dark) at first login. Additionally, enhance documentation to reflect these changes and clarify the role of the new script in the first-boot process.
This commit is contained in:
nearxos
2026-02-23 09:59:32 +02:00
parent fd4e54f125
commit 8b4930d4b9
13 changed files with 488 additions and 113 deletions

View File

@@ -0,0 +1,73 @@
# Taskbar (start menu) icon
The icon you see in the taskbar that opens the application menu is the **start-here** icon from the current icon theme. On Raspberry Pi OS with rpd-labwc (wf-panel-pi + wfplug-menu), that icon is resolved by name: **`start-here`** in the **places** context.
On the default PiXtrix theme, `start-here` is a symlink to the Raspberry Pi logo (`rpi.png`). To show a different icon, replace **start-here** with your own image in the same theme (or in a custom theme that overrides it).
---
## How to change it
### Option 1: Replace on the device (one-off)
After first-boot, SSH in and replace the icon files. The panel uses **PiXtrix** by default; start-here there is under **places**:
- Paths: `/usr/share/icons/PiXtrix/<size>/places/start-here.png`
- Sizes present on Raspberry Pi OS: **16, 24, 32, 48, 64, 96** (and optionally 22 for legacy).
**Steps (as root):**
```bash
# Backup originals (currently symlinks to rpi.png)
for s in 16 24 32 48 64 96; do
[ -L /usr/share/icons/PiXtrix/${s}x${s}/places/start-here.png ] && \
cp -P /usr/share/icons/PiXtrix/${s}x${s}/places/start-here.png /usr/share/icons/PiXtrix/${s}x${s}/places/start-here.png.bak
done
# Replace with your PNG (one size e.g. 32x32 then scale for others, or use a scalable SVG and generate PNGs)
# Example: copy your icon to 32x32 (panel default icon_size is 32)
cp /path/to/your-icon.png /usr/share/icons/PiXtrix/32x32/places/start-here.png
# Remove symlink first if it was a link:
rm -f /usr/share/icons/PiXtrix/32x32/places/start-here.png
cp /path/to/your-icon.png /usr/share/icons/PiXtrix/32x32/places/start-here.png
# Repeat for other sizes, or use ImageMagick to scale:
for s in 16 24 48 64 96; do
convert /path/to/your-icon.png -resize ${s}x${s} /usr/share/icons/PiXtrix/${s}x${s}/places/start-here.png
done
```
Then restart the panel (or log out and back in):
```bash
pkill wf-panel-pi
# Panel is usually restarted by the session; if not, log out and in again.
```
### Option 2: Deploy via first-boot (file server)
**first-boot.sh** (step 05) already does this: if **`start-here.png`** is present in the first-boot folder on the file server (same URL as splash.png, e.g. `http://10.20.50.1:5000/files/first-boot/start-here.png`), it is downloaded and installed as the taskbar start button icon in PiXtrix (all sizes 16, 24, 32, 48, 64, 96). If ImageMagick (`convert`) is installed, the icon is resized per size; otherwise the same image is copied to each size. Place **start-here.png** in your portal first-boot folder (e.g. next to splash.png) and re-provision or run first-boot; no extra config needed.
---
## Specs for the new icon
So that it looks correct in the taskbar and in the menu, use these specs:
| Property | Value |
|----------------|--------|
| **Icon name** | Must be installed as **start-here** (in **places** context) so the panel finds it. |
| **Format** | PNG (preferred for raster), or SVG if you generate PNGs per size. |
| **Sizes** | 16×16, 24×24, 32×32, 48×48, 64×64, 96×96 px (panel default is 32px). |
| **Aspect** | Square (11). The panel shows it in a square cell. |
| **Background** | Transparent (PNG with alpha) so it fits any panel background. |
| **Content** | Simple, recognizable at 1632 px (logo or symbol). Avoid fine detail. |
| **Theme path** | `PiXtrix/<size>x<size>/places/start-here.png` (or override via a custom theme). |
### Recommendation
- **Source asset**: One PNG at **32×32** or **64×64** (or one SVG), then generate the other sizes to avoid scaling artifacts.
- **Design**: High contrast, clear at 2432 px; works on both light and dark panel (or match your panel colour).
- **File server name**: e.g. `taskbar-icon.png` or `start-here.png`; first-boot script would download it and install to the paths above.
If you want, the next step is to add a small script (and optional first-boot wiring) that downloads `taskbar-icon.png` from the file server and installs it as **start-here** in all required sizes.