Кликабельная ссылка + всплывающее меню

Возможно ли иметь кликабельную ссылку в моем PS1, которая открывает всплывающее меню или что-то подобное?

Мой сценарий

Я персонализировал свой .bashrc, чтобы показать мой PS1 как

user@machine: path #/$

и, если я нахожусь в репозитории git, он также показывает мою ветку и другой символ для статуса

user@machine: path [branch !] #/$

кстати, я получил код для этого здесь в Ask Ubuntu.

Моя идея

Я хотел щелкнуть по названию ветви, и отобразился список загруженных веток (с возможностью изменения или без нее).

Я нашел несколько параметров «диалог» и «выбор / выбор» для всплывающего меню, но не смог найти ничего для интерактивной ссылки.

6
задан 9 May 2018 в 16:46

1 ответ

Если бы я должен был сделать это, то я выбрал бы эмулятор терминала как Терминатор и записал бы новый плагин. Мне, возможно, придется взломать, как это все работало, но для Терминатора должно быть возможно забрать текст и затем, с помощью то, что это знает о среде оболочки, представьте меню GTK3 для выбора.

Единственным другим путем я могу думать для полной обработки, это должно записать собственную замену оболочки. Что-то, что переносит удар (и др.) и обрабатывает участие мыши. Существуют вещи там как PyScreen, которые делают это, но нет ничего там, которое делает то, что Вы хотите непосредственно. Проксирование терминалов является также рецептом для ошибок рендеринга. Даже сформировавшиеся вещи в этом пространстве (например, screen) иногда портите вещи.

Больше, чем что-нибудь, ни один из них не является 20-минутным осуществлением. Плагин взял бы меня часы, оболочка, вероятно, займет дни для разбираний. Я, вероятно, пододвинул бы обратно на том, кто бы ни говорил мне делать это и говорить, что это - неэкономное использование моего времени.

Если бы я просто хотел это для меня, то вероятно, просто записал бы я немного br управляйте, чтобы перечислил ответвления и позволил мне выбирать. Существуют примеры там, но я не представлю никого как лучшее решение. Они - весь компромисс на том, что Вы хотели.

5
ответ дан 23 November 2019 в 07:53

Другие вопросы по тегам:

Похожие вопросы: