К сожалению, не все приложения добавляют свои «ссылки» в контекстное меню файловых менеджеров Linux. Например, VS Code на винде добавлял пункт «Открыть в VS Code» в контекстное меню, которое появляется, когда нажимаешь на пустое место открытой папки. В Cinnamon такого нет. Давайте добавим.
p.s.: Это работает не только в Linux Mint. Любой дистрибутиве с окружением Cinnamon подойдёт.
Nemo и Actions
В Cinnamon используется файловый менеджер Nemo. Чтобы добавить в него свой пункт контекстного меню, нужно создать файл в директории ~/.local/share/nemo/actions с расширением .nemo_action , например, «open-in-vs-code .nemo_action» .
Открываем этот файл в редакторе а-ля блокнот и добавляем в него:
# Текст пункта меню
Name=Открыть в VS Code
# Подсказка при наведении
Comment=Открыть текущую папку в редакторе Visual Studio Code
# Команда для выполнения
Exec=code %P
# Название используемой иконки
Как создать шаблон для меню «Создать файл» в контекстном меню Linux Mint или Ubuntu
Icon-Name=visual-studio-code
# При выделении скольких объектов показывать
# s — один, m — несколько, any — любое, notnone — хотя бы один, none — клик на фон; или точное количество выделенных файлов
Selection=none
# На каких файлах показывать
# (нам это не нужно, но указывать придётся, что на любых)
Extensions=any
# Поместить все пути в кавычки
Quote=double
# Зависимости
# Если эти приложения не установлены, кнопка не появится
Dependencies=code;
В Exec мы указываем команду для выполнения. Здесь мы можем использовать токены, которые при вызове будут заменяться на путь к файлу или папке:
%U — вставить список URI файлов
%F — вставить список путей файлов
%P — вставить путь родительской (текущей) директории
%f — вставить имя первого выделенного файла
%p — вставить имя родительской директории
%D — вставить путь к устройству (напр. /dev/sdb1 )
Токены можно также использовать в Name и Comment .
То есть, Exec=code %P означает, что при нажатии на наш пункт меню выполнится команда code путь_до_папки и откроется VS Code с нужной рабочей папкой.
Дополнительные инструкции Вы можете найти, нажав Подробнее , находясь в папке Actions .
Источник: dzen.ru
Добавление новых пунктов в контекстное меню Nautilus
В стандартном файловый менеджере Nautilus среды Gnome можно добавлять свои пункты в контекстное меню, которое отображается при клике правой кнопкой мыши по файлам. Таким образом, мы можем создать различные действия над различными типами файлов и выполнять их прямо из контекстного меню Nautilus, не запуская (не открывая) дополнительных программ.
Нам понадобится программа Nautilus Actions (Настройка действий в Nautilus), с помощью которой можно создавать дополнительные действия для файлового менеджера. Установите программу Nautilus Actions, выполнив в командной строке:
Как добавить «Новый документ» Ubuntu 20.04 в контекстное меню
sudo apt-get install nautilus-actions
Запустите программу из меню «Система->Параметры->Настройка действий в Nautilus».
Добавляем новое действие для Nautilus
Теперь добавим новое действие (пункт контекстного меню для Nautilus). В программе выберите пункт меню «File->New action». В списке действий появится новое действие «New Nautilus action». Нажмите на него. Справа располагаются настройки для данного действия.
Для примера создадим действие, по которому мы сможем открывать графические файлы в редакторе GIMP (а не в стандартной программе просмотра изображений, как это установлено по умолчанию). Можно, конечно, воспользоваться пунктом Открыть в программе, но нас сейчас интересует не это, а то как создать свой пункт меню.
Настройка действия: вкладка Action
У нас открыта вкладка Action. В поле Context label введите название пункта меню, который будет добавлен в контекстное меню Nautilus. Также можно заполнить поле Tooltip — всплывающая подсказка, которая появляется при наведении курсора мыши на пункт меню. Поле Icon позволяет задать пиктограмму (иконку) для пункта меню.
Context label: Открыть в GIMP
Tooltip: Открыть файл в редакторе GIMP
Две галочки «Display item in selection context menu» и «Display item in location context menu» означают, соответственно, показывать пункт меню для выбранных фалов и показывать пункт меню если файлы не выбраны (действие будет применяться к текущей директории).
Настройка действия: вкладка Command
Далее перейдите на вкладку Command. Здесь и задается в поле Path полный путь до команды, которая должна быть выполнена при клике на пункт меню. Нас интересует команда gimp. Файл запуска для Gimp размещается у меня в директории /usr/bin, поэтому в поле Path пишем: /usr/bin/gimp.
Если вы хотите вызвать какую-нибудь другую утилиту (программу), то определить ее полный путь можно, выполнив команду whereis название_программы. В поле параметры мы задаем аргументы, которые будут переданы нашей программе. Полный список аргументов можно вывести, нажав кнопку Legend. Укажите в поле Parameters: %M. Это значит, что программе Gimp будет передан список выбранных файлов, разделенных запятыми. В итоге получаем следующее:
Path: /usr/bin/gimp
Parameters: %M
Отдельно стоит сказать про поле Profile (профиль). Для каждого действия (пункта меню) можно создать несколько профилей, которые будут отличаться своими настройками, а выбор нужного профиля будет зависеть от тех настроек, которые вы укажите.
Настройка действия: вкладка Folders
Здесь задаются директории, в которых наш пункт меню должен показываться. То есть если нам, например, нужно показывать пункт меню только в директории /home/pingvinus/photos, тогда мы должны добавить ее в список (кнопкой Плюсик), а остальные удалить. По умолчанию установлено «/», то есть вся файловая система.
Настройка действия: вкладка Conditions
В этой вкладке задаются типы файлов, для которых должен отображаться наш пункт меню. Для примера укажем в поле Filenames, что нас интересуют только файлы с расширениями jpg и png.
Filenames: *.jpg; *.jpeg; *.png
Также установим галочку напротив пункта «Appears if selection has multiple files or folders», то есть показывать пункт меню, если выбрано несколько файлов или папок.
Настройка действия: вкладка Advanced Conditions
Здесь мы можем указать дополнительные условия, при которых пункт меню должен отображаться. Например, только для локальных файлов (file — Local files) или удаленных файлов (FTP, SSH и др.).
Сохраняем действие
Теперь сохраните все проделанные изменения выбрав пункт меню «File->Save» или нажав клавиши Ctrl+S.
Проверяем
Осталось проверить работоспособность нашего пункта меню. Откройте любую директорию, содержащую графические файлы (в частности в формате jpg и png), выберите их и нажмите правую кнопку мыши. В контекстном меню должен появиться пункт «Открыть в GIMP». При клике на него, запустится графический редактор GIMP и автоматически откроются, выбранные вами графические файлы.
Источник: pingvinus.ru
Как добавить своё приложение в контекстное меню файлового менеджера Linux и Windows?
Например, есть Visual Studio Code, который при установке предлагает добавить себя в контекстное меню. Потом файлы можно открывать в файловом менеджере с помощью VSC через контекстное меню. У меня есть простенькое приложение, написанное на Python 3. Я вызываю его так:
$ python3 encdec e text.txt output.ena // Ключ «e» — «encode» $ python3 encdec d output.ena decoded.txt // Ключ «d» — «decode»
Я бы хотел, чтобы я мог делать это с помощью контекстного меню. Условно — кнопки «Encode with encdec» и «Decode with encdec». Важно, чтобы можно было сделать это как на Windows, так и на Linux. В интернете не нашёл, как такое сделать.
Отслеживать
задан 23 мая 2019 в 6:39
Don2Quixote Don2Quixote
1,705 3 3 золотых знака 12 12 серебряных знаков 25 25 бронзовых знаков
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
Я использую обычные «открыть с помощью» вместо этих меню.
Windows
в реестре HKEY_CLASSES_ROOT/*/shellex/ContextMenuHandlers и HKEY_CLASSES_ROOT/*/shell/. . В первом случае нужен COM-сервер специального вида, во втором можно запускать командой.
HKEY_CLASSES_ROOT .myp-ms (Default) = MyProgram.1 MyProgram.1 (Default) = My Program Application Shell (Default) = doit doit (Default) = %1″ open command (Default) = c:MyDirMyProgram.exe /d «%1» print command (Default) = c:MyDirMyProgram.exe /p «%1» printto command (Default) = c:MyDirMyProgram.exe /p «%1» «%2»
Linux
тоже в реестре gconf или dconf в зависимости от версии. В KDE не знаю, в легких менеджерах скорее всего этой функции нет.
Nautilus через nautilus-actions. Сейчас он переименован в filemanager-actions (c 19ого года), но в репозиториях stretch/bionic: nautilus-actions, caja-actions и где-то есть nemo-actions.
Програмка настраивается мышкой.
Источник: ru.stackoverflow.com