hikaru hat geschrieben: 
27.03.2025 09:19:52
hupfdule hat geschrieben: 
27.03.2025 08:15:05
Ja, xdotool ist die einzige Möglichkeit, die ich bis jetzt gefunden habe, aber leider von X abhängig. Ohne X würde das nicht mehr klappen.
Falls es dir hier um X vs Wayland geht, das Äquivalent zu
xdotool wäre
wlrctl.
Nein, ich will gänzlich unabhängig davon sein. Das soll auch ganz ohne grafische Oberfläche funktionieren. Also bspw. eine Bash per SSH session.
Ich bin allerdings skeptisch ob der Ansatz zielführend ist, denn xdotool/wlrctl kann ja nicht kontextsensitiv arbeiten.
Ja, ich bin da auch noch skeptisch. Aber aus anderen Gründen.
Du möchtest in deinem Beispiel zwar hinter den "/" springen, kannst dem Tool aber nur sagen: "Drücke dreimal CursorLinks!" Das funktioniert hier, weil du vorher abgezählt hast, dass "bin" drei Zeichen hat, aber wenn du stattdessen "ls /proc" eingegeben hättest, dann passt die 3 nicht mehr, und du müsstest deiner Lösung das Zählen beibringen.
Das sollte nicht das Problem sein. Denn ich muss nicht dreimal CursorLinks drücken, sondern nur einmal Alt-b. Das löst ja die Readline-Funktion backward-word in Bash aus. Ist aber trotzdem keine schöne Lösung, falls diese Tastaturkürzel angepasst wurden. Dann läuft das ins Leere.
Und weiter: Was ich da momentan bei Fish tue, ist noch etwas mehr, als ich oben beschrieben habe (um das Thema nicht zu sehr zu verkomplizieren). Im Grunde könnte es so aussehen:
Code: Alles auswählen
# 1. Fülle die Kommandozeile mit dem Befehl "ls /bin /tmp"
commandline -r "ls /bin /tmp"
# 2. Setze den Cursor auf das Leerzeichen hinter dem /bin (Cursor 7 Positionen nach rechts verschieben)"
commandline -C 7
# 3. Springe ein Wort zurück (Readline Funktion "backward-word")
commandline -f "backward-word"
# 4. Füge ein "s" an der Cursorposition ein
commandline -i "s"
# 5. Führe die Kommandozeile aus
commandline -f execute
Punkt 1 ist auch mit Bash machbar, indem die Variablen READLINE_LINE und READLINE_POINT gesetzt werden.
Die anderen Punkte sind theoretisch mit xdotool lösbar, aber recht unschön. Bei Punkt 2 müsste dann tatsächlich 7 mal die Taste CursorRechts betätigt werden, bei Punkt 3 Alt-b (was nur klappt, wenn das Tastaturkürzel nicht ungepasst wurde), Punkt 4 müsste die Taste "s" gedrückt werden und bei Punkt 5 "Enter".
Schöner wäre es, wenn es ein Tool gäbe, das ähnlich Fishs commandline funktioniert. Scheint aber nicht der Fall zu sein. Die Abhängigkeit von X bei der Verwendung von xdotool ist jedoch ein No-go.