nautilus-simple-actionsnautilus-simple-actions е създадено от мен разширение за файловият  мениджър Nautilus, което ще направи своя дебют в УСУ7.
По функции е аналогично с програмата nautilus-actions, като ключовата разлика е че nautilus-simple-actions е много по-малко като обем – само 3КБ, а nautilus-actions заема цели 15MB дисково пространство, само за да покаже няколко иконки в контекстното меню на Nautilus.
Всъщност, затова го и създадох – за да се отървем от големия nautilus-actions, и да спестим малко място в живия диск с УСУ.
Друга ключова разлика с nautilus-actions, е че nautilus-simple-actions НЯМА графичен интерфейс за настройка, тъй като почти не се нуждае от такъв – действията са описани в обикновени текстови .desktop файлове, поставени в папка ~/.local/share/nautilus-simple-actions, или в глобалната /usr/share/nautilus-simple-actions.

Нека дам пример как се създава едно действие. Като за начало си инсталирайте пакета nautilus-simple-actions – може да го намерите веднага в мениджъра на пакети ако сте с УСУ6 (в следващите версии ще си го има инсталиран).
Ако сте с Ubuntu, може да изтеглите ръчно пакета nautilus-simple-actions-0.1.1-all.deb, или (по-добрият вариант) – да си добавете хранилището на СКСС.
Това става като в Терминал (пуснат менюто от Програми – Помощни програми – Терминал) изпълните следните команди:

echo "deb http://download.learnfree.eu/repository/skss / #SKSS" | sudo tee -a /etc/apt/sources.list
wget http://download.learnfree.eu/repository/skss/repo.pub.asc -q -O- | sudo apt-key add -
sudo apt-get update
sudo apt-get install nautilus-simple-actions

За да се активира разширението, трябва да излезете и да влезете отново в системата (или да изпълните командата killall nautilus за да може Nautilus да си презареди разширенията) – това се прави само първия път след инсталацията.
След това, да речем че искате в контекстното меню на Nautilus да добавите действие „Отваряне като администратор“, което да отваря избрания файл или файлове с административни (root) права.
За целта си стартирате текстовия редактор (от менюто Програми – Помощни програми – Текстов редактор), и в него поставяте следното (след малко ще обясня кое поле в него какво означава):

[Desktop Entry]
Version=1.0
Type=Application
Name=Open as Administrator
Comment=Open the selected file(s) as Administrator
Name[bg_BG]=Отваряне като Администратор
Comment[bg_BG]=Отавря избрания файл/файлове с пълни права
Exec=/usr/bin/gksudo xdg-open %R
Icon=gtk-dialog-warning
Terminal=false
Folders=/
Filenames=*
MimeType=*/*
Types=both
Selection=both
Scheme=dav;file;ftp;sftp;smb

След това, щракнете бутона „Запазване“, и от диалоговия прозорец който се отваря, отидете до домашната си папка (вероятно се е отворила по подразбиране). Щракнете с десния бутон на мишката някъде вътре в списъка с файлове, и от контекстното меню изберете „Показване на скритите файлове“:

След това отидете до папката .local/share/nautilus-simple-actions (използвайте бутона „Създаване на папка“ ако папката не съществува), и в полето „Име:“ напишете за име на файла примерно root.desktop. Няма значение какво име слагате, важното е да завършва на .desktop.
Накрая щракнете бутона „Запазване“ и тествайте новото действие. Би трябвало, като щракнете с десен бутон на мишката върху някой файл, действието да се показва:

А сега да се върнем към описанието на полетата в .desktop файла. Ще се спрем само на полетата които трябва да бъдат променяни.

  • Name: срещу него пишете името на действието така както ще излиза в менюто (на Английски)
  • Comment: съдържа описание на действието (на Английски)
  • Name[bg_BG]: също като Name, само че на Български. Ако в Name сте написали името на Български, това поле го изтрийте направо
  • Comment[bg_BG]: също като Comment, само че на Български. Ако в Comment сте написали описанието на Български, това поле го изтрийте направо
  • Exec: съдържа командата която трябва да се изпълни, плюс параметрите които ще й се подадат. Възможни параметри са:
    %d: папката в която се намира избрания файл/файлове. Пример: ако избран файл /etc/hosts, параметъра ще върне /etc/
    %f: името (с целия път) на избрания файл. Ако са избрани повече, се подава името на първия. Пример: ако e избран файл /etc/hosts, параметъра ще върне /etc/hosts
    %u: URI на файла. Пример: ако e избран файл /etc/hosts, параметъра ще върне file:///etc/hosts
    %m: списък с имената (без пътя) на всички избрани файлове – отделени с интервали, и оградени в кавички. Пример: ако са избрани файловете /etc/hosts и /etc/hosts.allow, параметъра ще върне „hosts“ „hosts.allow“
    %M: списък с имената (с пълния път) на всички избрани файлове – отделени с интервали, и оградени в кавички. Пример: ако са избрани файловете /etc/hosts и /etc/hosts.allow, параметъра ще върне „/etc/hosts“ „/etc/hosts.allow“
    %R: списък с URI адресите на всички избрани файлове – отделени с интервали, и оградени в кавички. Пример: ако са избрани файловете /etc/hosts и /etc/hosts.allow, параметъра ще върне „file:///etc/hosts“ „file:///etc/hosts.allow“
    %s: схема на URI адреса на първия файл. Пример: ако е избран файл /etc/hosts, параметъра ще върне file. Ако е избран файл от отдалечена папка, например sftp:[email protected]/www/learnfree.eu/www/root/index.php, параметъра ще върне sftp.В конкретния пример който съм дал, Exec има стойност /usr/bin/gksudo xdg-open %R, което означава че ако са избрани файловете /etc/hosts и /etc/hosts.allow, при изпълнение на действието ще се стартира командата/usr/bin/gksudo xdg-open „file:///etc/hosts“ „file:///etc/hosts.allow“
  • Icon: име или път на иконата която ще се използва за действието
  • Terminal: възможни стойности true или false. Определя дали командата да се изпълнява в терминален прозорец (този параметър НЕ РАБОТИ в текущата версия)
  • Folders: в кои папки да се появява действието (този параметър НЕ РАБОТИ в текущата версия)
  • Filenames: определени имена на файлове, за които да се появява това действие (този параметър НЕ РАБОТИ в текущата версия)
  • MimeType: типа на файловете за които да се показва действието. За „всички файлове“ стойността е */*, за видео файлове – video/*, за аудио – audio/*, за текстови text/*, за изображения – image/*. Може да разберете какъв е типа на файла като в Nautilus щракнете с десния бутон върху него, изберете „Свойства“ и погледнете полето „Вид:“. Там пише, примерно Изображение — GIF (image/gif). Вас ви интересува частта image/gif.
  • Types: определя за какви обекти да се показва действието. Възможни стойности: files – за файлове, folders – за папки, both – и двете.
  • Selection: определя дали действието се показва само за единично избрани файлове, или за множество. Възможни стойности: single – само когато е избран 1 файл/папка, multiple – само когато са избрани ПОВЕЧЕ от 1 файлове/папки, both – без значение.
  • Scheme: при какъв тип URI схема да се показва действието. Например, ако важи само за локални файлове, стойността е file; ако важи само за файлове в ftp-сървър, стойността е ftp и т.н. Може да се изреждат множество стойности, отделени с точка и запетая. Пример: dav;file;ftp;sftp;smb

Може да си инсталирате пакета nautilus-simple-actions-examples (пак от СКСС хранилището). Той ще инсталира в папка /usr/share/nautilus-simple-actions три примерни действия – „Отваряне като Администратор“, „Отпечатване на документа“ (чрез libreoffice), и „Търсене“ (отваря програмата за търсене на файлове в избраната папка).
Разширението е написано в рамките на 1-2 следобеда, така че има какво да се желае още. Например прост графичен интерфейс за конфигуриране. Но това – някой друг път.
Честно казано, подобна функционалност трябваше отдавна да бъде ВГРАДЕНА в Nautilus, а не да се мъчим с някакви разширения. Примерно Thunar в XFCE я има от както го помня. Но… разработчиците на GNOME са доказали че могат да бъдат много твърдоглави (примерно с нежеланието им да имат нещо общо с Nautilus Elementary). Дори в GNOME3, стандартният файлов мениджър Nautilus има леко допотопен вид, въпреки всичките им напъни да направят средата „модерна“. Ако новата мода е графичната среда да е ужасна, то определено – да, справили са се… Но това си е мое мнение – не е нужно да го споделяте 🙂
Междувременно, ако някой се интересува от сорс-кода на nautilus-simple-actions, може да го дръпне от https://code.launchpad.net/~skss/usu/misc.