zathura: Jak dodać skrót klawiszowy dla exec?

11

zathurato mój domyślny czytnik plików PDF. Niektóre pliki powodują jednak problemy i w takich przypadkach uruchamiam

:exec acroread $FILE

który automatycznie otwiera ten sam plik w programie Acrobat Reader.

Jak dodać skrót klawiszowy do pliku konfiguracyjnego zathura ( ~/.config/zathura/zathurarc), aby to zrobić?

Felix Bou
źródło
1
@ FelixBou $FILEjest jedynym podciągiem, który jest specjalnie traktowany. (Jest tutaj w źródle. )
Anko

Odpowiedzi:

8

Niedawno natknąłem się na podobny problem i, na przyszłość, oto obejście:

map <C-o> focus_inputbar ":exec acroread $FILE"

Spowoduje to zmapowanie ctrl + o (lub cokolwiek to jest twój klucz), aby otworzyć pasek wprowadzania, który normalnie byś otworzył: i wprowadź tam ten tekst. Następnie możesz nacisnąć klawisz Enter, aby uruchomić polecenie. Jest to dalekie od ideału i wciąż wymaga naciśnięcia dwóch klawiszy, ale na pewno szybsze niż ręczne pisanie wszystkich poleceń.

CarloDePieri
źródło
Czy jest coś takiego jak $ FILE lub% w zathura, który przywraca katalog (nie nazwę pliku)?
SdidS
@SdidS nie według mojej wiedzy, ale brakuje dokumentacji zathura (mają również otwarty problem dotyczący tego tutaj: gitlab ). W każdym razie: wszystko po wykonaniu jest wykonywane przez zathura, więc prawdopodobnie możesz spróbować przekazać nazwę pliku do skryptu, który następnie wyodrębni folder z $ FILE i zrobi to, co musisz. Jeśli potrzebujesz czegoś bardziej szczegółowego, proponuję spróbować otworzyć problem na gitlabie, który podałem powyżej.
CarloDePieri
@CarloDePieri, Dzięki, zapytałem o to tutaj i wymyśliłem to samo rozwiązanie, co powiedziałeś.
SdidS
6

Nieznaczna poprawa odpowiedzi oferowanej przez CarloDePieri może być następująca:

map <C-o> feedkeys ":exec acroread $FILE<Return>"

Pozwala to uniknąć drugiego naciśnięcia klawisza.

Graham Leach-Krouse
źródło
3

Zgadzam się, że byłoby to bardzo przydatne, ale obecnie nie możesz tego zrobić.

W kodzie źródłowym exec mapowanie poleceń paska wprowadzania znajduje się tutajconfig.c . Jednak mapowania skrótów (zaczynające się tutaj ), które wydają się definiować, do których funkcji można się odwoływać z konfiguracji , nie wspominają exec. Kod nie ma struktury pozwalającej na łatwe mieszanie funkcji „poleceń” i funkcji „skrótów” ...

Programiści mają stronę z metodami kontaktowania się z nimi .

Anko
źródło
0

Podczas próby utworzenia mapowania, które umieściłoby ścieżkę bieżącego pliku PDF w schowku systemowym, zdałem sobie sprawę, że muszę zawinąć całe polecenie bash -c "...":

map y focus_inputbar ":exec bash -c \"echo \\\"$FILE\\\" | xclip -selection c\""

W przeciwnym razie polecenie nic nie zrobi.

Matthias Braun
źródło