diora-web/tui/diora_tui
marwin e9683fbdbd TUI: Zeichen am rechten Rand bei schmalen Terminals nicht mehr abgeschnitten
ContinuousBookViews vertikale Scrollbar reserviert 2 Spalten, die vorher
nicht aus der Wrap-Breite herausgerechnet wurden — der Text wurde also
2 Zeichen breiter gewrappt, als tatsächlich sichtbar war, wodurch die
Scrollbar die letzten 1-2 Buchstaben jeder Zeile überdeckt hat. Bei
schmalen Terminals (großer Font, wenig Spalten) war das besonders
auffällig, betraf strukturell aber jede Breite.

Fix: overflow-x: hidden (eine ungewollte horizontale Scrollbar hat
zusätzlich eine Zeile unten geklaut) + overflow-y: scroll (hält die
Scrollbar-Breite von Anfang an konstant, kein Rätselraten je nach
Inhaltsgröße) in book_view.py. reader_screen.py misst die Wrap-Breite
jetzt am Container statt an book_view selbst (vermeidet einen
Miss-nach-Einschränken-Zirkelbezug bei wiederholten Resizes) und rechnet
die feste Scrollbar-Breite (SCROLLBAR_GUTTER=2) heraus; beim Anwenden
des Layouts wird sie wieder daraufgerechnet, damit book_view.styles.width
weiterhin fürs Zentrieren passt.

Getestet: content_region-Breite stimmt jetzt exakt mit der Wrap-Breite
über sechs verschiedene Terminalbreiten (60-200 Spalten, inkl. des
120-Zeichen-Cap-Bereichs) überein — vorher lag sie durchgehend 2 Spalten
darunter. Voller Regressionstest (Scroll, Fußnote, Resize) läuft weiter
fehlerfrei.
2026-08-15 21:07:41 +02:00
..
__init__.py TUI: lokaler EPUB-Reader als erste Stufe eines diora-TUI-Clients 2026-08-15 16:04:18 +02:00
__main__.py TUI: lokaler EPUB-Reader als erste Stufe eines diora-TUI-Clients 2026-08-15 16:04:18 +02:00
api.py TUI: durchgehende Leseansicht mit web-kompatiblen Anchors, Fußnoten, bidirektionalem Progress-Sync 2026-08-15 17:59:46 +02:00
app.py TUI: Statusleiste mit Akkustand und Uhrzeit 2026-08-15 20:36:54 +02:00
app.tcss TUI: Statusleiste mit Akkustand und Uhrzeit 2026-08-15 20:36:54 +02:00
blocks.py TUI: durchgehende Leseansicht mit web-kompatiblen Anchors, Fußnoten, bidirektionalem Progress-Sync 2026-08-15 17:59:46 +02:00
book_view.py TUI: Zeichen am rechten Rand bei schmalen Terminals nicht mehr abgeschnitten 2026-08-15 21:07:41 +02:00
cache.py TUI: durchgehende Leseansicht mit web-kompatiblen Anchors, Fußnoten, bidirektionalem Progress-Sync 2026-08-15 17:59:46 +02:00
config.py TUI: Bücher per diora-tui sync vom diora-Server holen und entschlüsseln 2026-08-15 16:41:50 +02:00
crypto.py TUI: Verschlüsselungs-Key per Benutzername+Passwort ableiten statt Konsolen-Export 2026-08-15 16:55:03 +02:00
epub.py TUI: durchgehende Leseansicht mit web-kompatiblen Anchors, Fußnoten, bidirektionalem Progress-Sync 2026-08-15 17:59:46 +02:00
layout.py TUI: durchgehende Leseansicht mit web-kompatiblen Anchors, Fußnoten, bidirektionalem Progress-Sync 2026-08-15 17:59:46 +02:00
library_meta.py TUI: Auto-Sync bei Start/Beenden, Sortierung nach zuletzt geöffnet, Gelesen-Filter 2026-08-15 20:30:09 +02:00
progress.py TUI: durchgehende Leseansicht mit web-kompatiblen Anchors, Fußnoten, bidirektionalem Progress-Sync 2026-08-15 17:59:46 +02:00
reader_screen.py TUI: Zeichen am rechten Rand bei schmalen Terminals nicht mehr abgeschnitten 2026-08-15 21:07:41 +02:00
remote.py TUI: Auto-Sync bei Start/Beenden, Sortierung nach zuletzt geöffnet, Gelesen-Filter 2026-08-15 20:30:09 +02:00
statusbar.py TUI: Statusleiste mit Akkustand und Uhrzeit 2026-08-15 20:36:54 +02:00