v0.4.0: Markierung, Datei-Betrachter, Pfeiltasten im Login, skalierendes Bedienmenue

Mehrfachauswahl
- Leertaste markiert/entmarkiert den Eintrag unter dem Cursor und rueckt eine
  Zeile weiter; markierte Eintraege werden fett und gelb dargestellt.
- Strg+A markiert alles bzw. hebt alles auf, Esc leert die Markierung.
- Die Pfadleiste oben zeigt die Anzahl markierter Eintraege je Paneel.
- l/u/d arbeiten auf allen markierten Eintraegen, sonst auf dem Cursor-Eintrag,
  und melden anschliessend Erfolge und Fehler.
- Markierungen werden bei Verzeichniswechsel und nach Transfers verworfen und
  beim Neuaufbau auf tatsaechlich vorhandene Eintraege eingedampft.

Datei-Betrachter
- Enter bzw. v oeffnet Textdateien mit Syntax-Hervorhebung; die Sprache
  bestimmt Pygments anhand des Dateinamens (.txt, .md, .cpp, .py, ...).
- Entfernte Dateien werden dafuer in eine Temporaerdatei geladen und danach
  wieder entfernt. Binaerdateien und Dateien ueber 2 MiB werden abgelehnt.
- Blaettern mit Pfeiltasten/Bild/Pos1/Ende, w schaltet den Umbruch, l die
  Zeilennummern, Esc/q schliesst.
- Enter auf einer Datei setzte vorher remote_path auf die Datei selbst, was
  das anschliessende listdir() scheitern liess.

Verbindungsdialog
- Pfeiltasten wechseln jetzt zwischen den Feldern. Ein eingeklapptes Select
  band up/down auf show_overlay und verschluckte sie; NavSelect gibt sie an
  den Screen weiter, geoeffnet wird mit Enter/Leertaste. Ist das Overlay
  offen, behaelt es seine eigene up/down-Navigation.
- Enter in einem Eingabefeld verbindet, Strg+S speichert das Profil.
- Dialog bei kleinen Terminals scrollbar.

Bedienmenue skaliert
- Pfad- und Statusleiste hatten "height: 1" und wurden am rechten Rand
  abgeschnitten; sie brechen jetzt um (height: auto).
- Der Footer wurde entfernt: seine Tasten reichten bei 78 Zeichen Breite bis
  Spalte 193 und waren zu zwei Dritteln unsichtbar. Die umbrechende
  Statusleiste zeigt die Belegung stattdessen vollstaendig.
- Spaltenbreiten der Dateiliste richten sich nach der Paneelbreite; zuerst
  entfaellt das Datum, dann die Groesse. Vorher ragten die Spalten ueber das
  Paneel hinaus und erzeugten einen horizontalen Scrollbalken.
- Fehlermeldungen stehen in einer eigenen Zeile, die nur bei Inhalt Platz
  belegt. Bisher wurden sie in die Statusleiste geschrieben und dort vom
  naechsten Cursor-Wechsel sofort wieder ueberschrieben.
This commit is contained in:
x3
2026-08-31 17:33:00 +00:00
parent 226108f4dc
commit 9ba9ec9640
4 changed files with 554 additions and 95 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
[project]
name = "ftptui"
version = "0.3.1"
version = "0.4.0"
description = "Interaktiver FTP/SFTP-Client als Terminal-User-Interface in Python"
readme = "README.md"
requires-python = ">=3.10"