Иметь несколько «открытых с» приложений в контекстном меню

9

Я работаю со многими CSV-файлами и открываю их с помощью gedit или libreoffice в разное время. Я хотел бы иметь их обоих в контекстном меню, чтобы сэкономить время.

Раньше было это подменю, в котором я мог выбрать открыть, и в нем перечислены другие приложения, не открывая второе меню. Это новое поведение тратит несколько полезных секунд.

Есть ли возможность вернуть этот пункт контекстного меню? Или какие-нибудь хаки, чтобы получить подобное поведение?

tokyoCoder
источник
Просто невероятно, как такая простая и очевидная функция, которая годами была доступна в других ОС, просто недоступна в Ubuntu ...
пожрал elysium

Ответы:

7

Я не думаю, что вы можете вернуть старое поведение без адаптации исходного кода. Тем не менее, при правильном нажатии, текущее поведение не так уж и плохо. Как и раньше, вам нужно три щелчка, чтобы запустить файл / документ с другим приложением. Разница лишь в том, что последний шаг - это двойной щелчок, а не один щелчок. Да, вместо того, чтобы щелкнуть приложение, а затем кнопку «Выбрать», вы можете дважды щелкнуть приложение.

В первый раз диалоговое окно «Рекомендуемые приложения» будет пустым. Однако этот список заполняется назначенными вами приложениями. Так что в вашем случае «Text Editor» (gedit) и «Libreoffice Writer» попадут в этот список. Вы выбираете программу двойным щелчком, тогда как при предыдущем подходе к подменю это был бы один щелчок.

Лично мне больше нравится интерфейс, потому что значки программ представлены в большем размере, и диалог не склонен закрываться, когда вы немного наводите курсор мыши в неправильном направлении.

В качестве альтернативы вы можете обойти сценарий nautilus , но это не зависит от выбранного файла.

В качестве третьего варианта вы можете настроить контекстно-зависимые пункты меню, щелкающие правой кнопкой мыши, с помощью nautilus-действий стороннего приложения . В настоящее время установка может быть не такой простой, и если вы правильно ее сделаете, вы столкнетесь с некоторой кривой обучения. Это мощный, но и немного сложный.

ванадий
источник
4

Вместо того, чтобы пытаться открыть несколько приложений, давайте создадим одно приложение, которое откроет файл в нескольких других приложениях. Для этого мы можем создать собственный .desktopфайл ./.local/share/applications/и вызвать его open_dual.desktop. Содержимое так же ( Icon=необязательно, поэтому не включено; также обратите внимание, что у меня нет libre office, поэтому wpsвместо этого используйте в этом примере, но для вас должна быть команда libreoffice --writer):

[Desktop Entry]
Name=Dual Open
Exec=bash -c 'setsid gedit "$1" & setsid wps "$1" &' sh %F
Terminal=false
Type=Application
MimeType=text/plain;text/csv;

Как только это будет сделано, вы сможете добавить это в меню «Открыть с помощью».


В качестве альтернативы, как сценарий Наутилус. Сохраните это .local/share/nautilus/scripts/и давайте назовем этоdual_open.sh

#!/usr/bin/env bash
setsid gedit "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS" &
setsid libreoffice --writer "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS" &

Сделайте скрипт исполняемым с chmod +x ~/.local/share/nautilus/scripts/dual_open.sh. Теперь у вас должно появиться меню «скрипты» при щелчке правой кнопкой мыши по файлу и dual_open.shдолжно быть доступно как опция.

Сергей Колодяжный
источник
Спасибо. Большую часть времени мне нужно видеть данные в определенном формате за раз, например, простой текст или табличный формат. Итак, мне придется открыть два приложения и закрыть одно - не рекомендуется, если вы открываете CSV-файл размером более 10000 строк!
Токио кодер