Repository navigation
Open
Labels
epic:uxEpic Oberfläche & Bedienung (GTK)Epic Oberfläche & Bedienung (GTK)shell:gtkZiel = GTK4/libadwaita-Shell (prototype/gtk) + la_core-KernZiel = GTK4/libadwaita-Shell (prototype/gtk) + la_core-Kernsize:M2–3 Sessions2–3 Sessionstier:qolQuality of LifeQuality of Life
Milestone
Description
Job
„Schnell erledigen": Die Shell soll sich wie ein Werkzeug anfühlen, das sich merkt, wo man war, und per Tastatur bedienbar ist. Flutter-Pendants: DS4 (#86, Sidebar/Navigation) und DS3 (#79, Kürzel) — gelten für GTK sinngemäß, der Flutter-UI-Teil entfällt.
Scope
Adw.OverlaySplitViewstattAdw.NavigationSplitView: Sidebar ein-/ausklappbar (Strg+B); unter 1000 px Breite (Adw.Breakpoint) eine Rail aus symbolischen Icons — je Modul inMODULESein Icon-Name (z. B.view-grid-symbolic,utilities-system-monitor-symbolic,drive-harddisk-symbolic,security-high-symbolic).- Fensterzustand (Größe, Position soweit der Compositor sie liefert, Paned-Position, letztes Modul, Sidebar-Zustand) atomar (tmp + rename) in
$XDG_CONFIG_HOME/linux-assistant/gtk-state.jsonmitschema-Feld. - Kürzel aus einer zentralen Tabelle (
prototype/gtk/shortcuts.py): Strg+1…9 = Modul, Esc = Dashboard, F5 = Modul neu laden, Strg+B = Sidebar, Strg+? =Gtk.ShortcutsWindow(aus derselben Tabelle generiert). - Header zeigt Modul-Icon + Titel.
- Grenzen: nur UI-Zustand, keine Systemaktionen.
Andockpunkte
prototype/gtk/mla_app.py:Window.__init__(SplitView,Gtk.Paned,PANE_POSITION),MODULES,select_module; Layout-Tokensdocs/mla-next/TOKENS.md§2 (layoutPanePos,layoutWindow)- Hinweis: PR feat(mla): A5 Lesender Monitor — /proc-Quellen, Ringpuffer, Drill-down (#96) #119 ([Next 0.1.x] A5 Lesender Monitor: /proc-Quellen, Ringpuffer, Drill-down #96) ändert
mla_app.py— Andockpunkte nach dessen Merge neu beziehen - Tests:
prototype/gtk/tests/test_window_state.py(headless, State-Datei), Widget-Test unterxvfb-run
Abnahme
- Neustart stellt Größe, Paned-Position, Sidebar-Zustand und letztes Modul wieder her (State-Datei-Test, headless)
- Strg+3 wechselt ins dritte Modul; Esc führt zum Dashboard (Widget-Test unter xvfb)
- Unter 1000 px erscheint die Rail, darüber die volle Sidebar
- Kürzel-Overlay listet exakt die Einträge der Kürzel-Tabelle (Test vergleicht beide)
Abhängigkeiten
Blockiert durch: — (⚡ sofort startbar; nach Merge von PR #119 rebasen) · Blockiert: #123 (UX2)
Risiko & Fallback: Fensterposition ist unter Wayland nicht abfragbar → nur Größe/Paned/Modul merken, Position auslassen und dokumentieren.
Tier: QoL · Größe: M · shell:gtk · Gates: python3 -m unittest discover -s prototype/gtk/tests (Widget-Tests unter xvfb-run).
Quelle: Ausbauplan V1.1–V1.3, Epic UX (Teilplan UX1).
Metadata
Metadata
Assignees
Labels
epic:uxEpic Oberfläche & Bedienung (GTK)Epic Oberfläche & Bedienung (GTK)shell:gtkZiel = GTK4/libadwaita-Shell (prototype/gtk) + la_core-KernZiel = GTK4/libadwaita-Shell (prototype/gtk) + la_core-Kernsize:M2–3 Sessions2–3 Sessionstier:qolQuality of LifeQuality of Life
Activity