2017-05-26 10 views
1

Ich schrieb eine einfache Fisch-Funktion, die eine Ausgabe der Ortungsbefehl in Rofi listet und die ausgewählte Option wird vim zugeführt.Run Fisch Shell-Funktionen über i3 Tastenbindung

function myfunction 
    vim (locate ~/str/Dotfiles | rofi -dmenu) 
end 

und innerhalb i3 Config-Datei, die ich habe:

bindsym $mod+c exec myfunction 

Nun, passiert nichts, wenn ich drücken mod + c aber die Funktion läuft in einem Terminal in Ordnung. Ist es einfach unmöglich, eine benutzerdefinierte Fischfunktion außerhalb eines Terminals zu betreiben?

+0

Faho Antwort Ihr Problem lösen sollte. Beachten Sie jedoch, dass es nicht funktioniert, wenn Sie nicht etwas wie den Alias ​​'vim' zu' vim -g' oder 'gvim' gemacht haben, da in einem Terminalfenster plain vim ausgeführt werden muss. –

Antwort

1

Ist es einfach unmöglich, eine benutzerdefinierte Fischfunktion außerhalb eines Terminals auszuführen?

Es ist sicherlich möglich.

Meine beste Vermutung ist, dass i3 hier eine andere Shell startet (z. B./bin/sh oder was auch immer Sie als Standard-Shell Ihres Benutzers über chsh eingerichtet haben).

Versuchen Angabe ausdrücklich Fisch über:

bindsym $mod+c exec fish -c myfunction