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
+52 -11
View File
@@ -156,25 +156,66 @@ ftptui
## Tastaturkürzel
### Dateibrowser
| Taste | Aktion |
|--------------|---------------------------------|
| `Tab` | Zwischen lokalem und entferntem Paneel wechseln |
| `↑` / `↓` | Zeilenauswahl bewegen |
| `→` | Markierten Ordner/Eintrag öffnen |
| `→` | Ordner öffnen / Datei ansehen |
| `←` / `⌫` | Eine Verzeichnisebene höher |
| `Enter` | Ordner öffnen (aktiv: fokussiertes Paneel) |
| `Enter` | Ordner öffnen, Datei im Betrachter anzeigen |
| `↑ ..` | Eine Ebene höher (Tabellenzeile) |
| `l` | Auswahl **herunterladen** (entfernt → lokal) |
| `u` | Auswahl **hochladen** (lokal → entfernt) |
| `Leertaste` | Eintrag **markieren/abwählen** (Cursor rückt weiter) |
| `Strg`+`A` | Alle Einträge markieren / Markierung aufheben |
| `Esc` | Markierung des aktiven Paneels aufheben |
| `v` | Datei im Betrachter anzeigen |
| `l` | **Herunterladen** (entfernt → lokal) |
| `u` | **Hochladen** (lokal → entfernt) |
| `n` | Neues Verzeichnis anlegen |
| `d` | Auswahl löschen (rekursiv) |
| `r` | Auswahl umbenennen |
| `q` / `Esc` | Beenden |
| `d` | Löschen (rekursiv) |
| `r` | Umbenennen |
| `q` | Beenden |
> Hinweis: Hoch-/Herunterladen (`u`/`l`), Anlegen (`n`), Löschen (`d`) und
> Umbenennen (`r`) wirken auf das **aktive (grün markierte) Paneel**. Wechsel
> der Seite mit `Tab`. Die Pfeiltasten `→`/`←` navigieren die Verzeichnisstruktur
> (öffnen / eine Ebene hoch), `↑`/`↓` bewegen die Zeilenauswahl.
> Hinweis: Hoch-/Herunterladen (`u`/`l`), Löschen (`d`) und Umbenennen (`r`)
> wirken auf das **aktive (grün markierte) Paneel**. Wechsel der Seite mit `Tab`.
> Die Pfeiltasten `→`/`←` navigieren die Verzeichnisstruktur (öffnen / eine
> Ebene hoch), `↑`/`↓` bewegen die Zeilenauswahl.
#### Mehrfachauswahl
Mit der `Leertaste` markierte Einträge werden **fett und gelb** dargestellt; die
Pfadleiste oben zeigt an, wie viele Einträge je Paneel markiert sind. Liegt eine
Markierung vor, arbeiten `l`, `u` und `d` auf **allen markierten Einträgen**,
sonst auf dem Eintrag unter dem Cursor. Nach dem Transfer bzw. beim
Verzeichniswechsel wird die Markierung zurückgesetzt.
### Datei-Betrachter
`Enter` oder `v` auf einer Datei öffnet sie mit Syntax-Hervorhebung; die Sprache
wird über Pygments anhand der Endung erkannt (`.txt`, `.md`, `.py`, `.cpp`,
`.json`, `.yml`, …). Entfernte Dateien werden dafür in eine Temporärdatei
geladen und danach wieder entfernt. Binärdateien und Dateien über 2 MiB werden
abgelehnt statt angezeigt.
| Taste | Aktion |
|------------------|-----------------------------|
| `Esc` / `q` | Betrachter schließen |
| `↑` / `↓` | Zeilenweise blättern |
| `Bild↑` / `Bild↓`| Seitenweise blättern |
| `Pos1` / `Ende` | Anfang / Ende |
| `w` | Zeilenumbruch umschalten |
| `l` | Zeilennummern umschalten |
### Verbindungsdialog
| Taste | Aktion |
|--------------|---------------------------------|
| `↑` / `↓` | Zwischen den Eingabefeldern wechseln |
| `Tab` | Nächstes Feld |
| `Enter` | In einem Eingabefeld: verbinden; in einer Auswahlliste: Liste öffnen |
| `Strg`+`S` | Profil speichern |
| `Esc` | Beenden |
---