Public Access
The Launcher shows the Apps as a 4 x 3 grid of 32 x 32 icons, the selected one's name under it (issue #9). The icons are the website's own, doubled, and two drawn the same way for SSH and the Shell; they are PNGs in assets/icons, turned into arrays by scripts/make_icons.py, which CI checks. The selected tile is the website's: dark blue on cyan, with notched corners. - GridModel (lib/ui, host-tested) holds the selection and the scrolling. - App::badge(): a dot on the tile for unread IRC messages, a Track recording, a Capture running, an SSH session open. - Settings > Launcher: Grid or List. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0162FokPdvY2KsS4NBfwyWPk
24 lines
830 B
C++
24 lines
830 B
C++
// Made by scripts/make_icons.py from assets/icons/*.png: change the pictures, not this file.
|
|
#pragma once
|
|
|
|
#include <cstdint>
|
|
|
|
namespace roro::icons {
|
|
|
|
// One bit a pixel, the leftmost first, a row after another: what Canvas::drawBitmap takes.
|
|
constexpr int kSize = 32;
|
|
|
|
extern const uint8_t gemini[128]; // gemini.png
|
|
extern const uint8_t gnss[128]; // gnss.png
|
|
extern const uint8_t irc[128]; // irc.png
|
|
extern const uint8_t lora[128]; // lora.png
|
|
extern const uint8_t notes[128]; // notes.png
|
|
extern const uint8_t settings[128]; // settings.png
|
|
extern const uint8_t shell[128]; // shell.png
|
|
extern const uint8_t ssh[128]; // ssh.png
|
|
extern const uint8_t storage[128]; // storage.png
|
|
extern const uint8_t system[128]; // system.png
|
|
extern const uint8_t wifi_tools[128]; // wifi-tools.png
|
|
|
|
} // namespace roro::icons
|