Schublade: Symbol, Name, Untertitel

Der Pfeil rechts klappt in beiden Leisten ein Raster auf statt einer
Liste. Symbol gross, Name, Untertitel als dritte Zeile — der stand
bisher nur auf den Kacheln.

Entschieden gegen Symbol allein: Acht geteilte Glyphen identifizieren
nicht, zwei Apps koennen dieselbe Wolke tragen. Und die Schublade macht
man auf, weil man sucht — der Streifen ist der Ort fuers Wiedererkennen,
dort sind die Symbole abschaltbar.

Dazu 1.4 (CORS in Aether) und 1.5 (Cookie-Sitzung fuer InkNote) aus den
Ideen gestrichen: Widgets, die Daten aus den eigenen Apps holen, sind
nicht mehr gewollt. Der Rest ist neu durchnummeriert.
This commit is contained in:
marc committed 2026-08-29 22:57:01 +02:00
1 parent 6fe6533667
commit e27d1cb56b
5 files changed
+144 -48

No files matched your search

+13 -5
View File
@@ -840,17 +840,25 @@ function buildAppMenu() {
closeSystemMenu();
closeStartMenu();
// Dieselbe Schublade wie in honeybar.js: Symbol, Name, Untertitel. Sie wird
// absichtlich aufgemacht, weil man etwas sucht — also wird gelesen, nicht
// nur wiedererkannt. Im Streifen oben reicht ein Blick, dort ist der Name
// abschaltbar; hier steht er immer.
menu.innerHTML =
`<div class="sm-head">wechseln zu</div>` +
(state.cfg.apps.length
? state.cfg.apps
? `<div class="drawer">` +
state.cfg.apps
.map(
(a) =>
// Im Menü stehen die Symbole immer — dort ist Platz, und dort
// sucht man eine App, statt sie im Vorbeigehen zu erkennen.
`<button data-app="${escapeAttr(a.id)}"><span class="sm-ico">${glyphSvg(a.glyph)}</span>${escapeHtml(a.name)}</button>`
`<button class="d-app" data-app="${escapeAttr(a.id)}">
<span class="d-ico">${glyphSvg(a.glyph)}</span>
<span class="d-name">${escapeHtml(a.name)}</span>
${a.subtitle ? `<span class="d-sub">${escapeHtml(a.subtitle)}</span>` : ""}
</button>`
)
.join("")
.join("") +
`</div>`
: `<button data-settings="1">keine app eingetragen …</button>`);
menu.querySelectorAll("[data-app]").forEach((b) =>