Я хочу знать, как я могу добавить действие, когда пользователь щелкает правой кнопкой мыши на определенных MIME-типах или папках без использования nautilus-actions.
Я был бы рад, если бы это было возможно и с использованием скриптов Nautilus, но я хочу, чтобы они появлялись только при определенных типах пантомимы.
Я считаю, что это возможно: Ubuntu One делает это.
Для этого вы можете использовать API расширения Nautilus. В частности, я рекомендую Nautilus-Python .
Вот простой пример, который добавляет пункт контекстного меню для MIME-типа text/plain
:
from gi.repository import Nautilus, GObject
class ExampleMenuProvider(GObject.GObject, Nautilus.MenuProvider):
def activate(self, menu, files):
print 'activated' # do something
def get_file_items(self, window, files):
if len(files) != 1 or files[0].get_mime_type() != 'text/plain': return
item = Nautilus.MenuItem(
name='SimpleMenuExtension::Do_Something', label='Do Something')
item.connect('activate', self.activate, files)
return [item]
Вам нужно будет установить пакеты python-nautilus
и gir1.2-gconf-2.0
и поместить вышеуказанный скрипт Python в ~/.local/share/nautilus-python/extensions/
.