[РЕШЕНО] Помогите плз правильно написать .desktop - файл

Имеется Extract.desktop - файл, нужный для того чтобы распаковывать архивные файлы из контекстного меню файлового менежера pcmanfm-qt (не лазить же из-за такой ерунды каждый раз в консоль)

[Desktop Entry]
Type=Application
Name[en]=Extract
Icon=package-x-generic
MimeTypes=application/x-7z-compressed;application/x-7z-compressed-tar;application/x-ace;application/x-alz;application/x-ar;application/x-arj;application/x-bzip;application/x-bzip-compressed-tar;application/x-bzip1;application/x-bzip1-compressed-tar;application/x-cabinet;application/x-cbr;application/x-cbz;application/x-cd-image;application/x-compress;application/x-compressed-tar;application/x-cpio;application/x-deb;application/x-ear;application/x-ms-dos-executable;application/x-gtar;application/x-gzip;application/x-gzpostscript;application/x-java-archive;application/x-lha;application/x-lhz;application/x-lzip;application/x-lzip-compressed-tar;application/x-lzma;application/x-lzma-compressed-tar;application/x-lzop;application/x-lzop-compressed-tar;application/x-rar;application/x-rar-compressed;application/x-rpm;application/x-rzip;application/x-tar;application/x-tarz;application/x-stuffit;application/x-war;application/x-xz;application/x-xz-compressed-tar;application/x-zip;application/x-zip-compressed;application/x-zoo;application/zip;multipart/x-zip;
Exec=extractsh %f
Terminal=false
NoDisplay=true
Categories=Utility
X-KDE-StartupNotify=false
он запускает скрипт extractsh, ну к примеру такой:
#! /bin/sh
"/usr/bin/atool -X $PWD" "[email protected]"
...и ничего. Если я правильно понял в качестве аргумента ему должны бы передатьcя файл(файлы) с полными путями к нему, т.е %f или %F - неважно.
Ранее (несколько лет назад) в таком случае работала конструкция Еxec=atool --extract-to=%d %f (вместо Exec=extractsh %f), но %d - путь к файлу, как и %n - имя файла, давно убрали из спецификаций .desktop (оставили только %u %U %f %F)

Мои попытки заставить работать без использования скрипта, только замены Еxec=atool --extract-to=$(pwd) %f или Еxec=atool --extract-to=$PWD %f Еxec=atool --extract-to=$(dirname '%f') %f равно как и конструкции типа Еxec=atool -X $(pwd) %f и.тд. так же не сработали. Хотя при запуске в консоли все работает как надо: atool -X $(pwd) file_name
неважно $(pwd) или $PWD или $(dirname file_name) - все ОК. Так же вполне работоспособен Extract.desktop - файл с указанием пути распаковки вида Еxec=atool --extract-to=patch_to_file %f и.тп.
Мне же нужно получить результат с распаковкой хотя бы в туже папку где находится исходный архив. Иначе говоря либо инициализировать переменную patch_to_file либо передать аргумент %f скрипту
Спасибо.
Попробуй что-то типа:
urxvtc -e atool -X $(pwd) %F
где urxvtc- твой эмулятор терминала
Или Terminal=true
А вообще, у меня есть в контекстном меню pcmanfm (не qt правда): Распаковать здесь. Или можно просто из контекстного меню открыть архиватор и извлечь куда нужно.
Morisson
А вообще, у меня есть в контекстном меню pcmanfm (не qt правда): Распаковать здесь. Или можно просто из контекстного меню открыть архиватор и извлечь куда нужно.
Действительно есть, но: в контекстном меню почему-то не работает (пробовал на xarchiver-gtk2), а при открытии окна приложения из поддерживаемых архиваторов: fileroller, xarchiver, squeeze, engrampa - настоящий шок "перфекциониста" - gtk ну никаким боком не лезет в чисто qt-окружения. Помнится в КDE (Plasma) - был какой-то пакет интеграции, но все равно это изврат, ИМХО (да и не знаю можно ли заставить это работать в lxqt. Архиватор ark - тянет за собой половину Plasma, чего уж точно мне не надо.

Приведенный вами пример: urxvtc -e atool -X $(pwd) %F вполне работоспособен, но вызывает на долю секунды проявление окна терминала и переменная patch_to_file=$(pwd) почему-то оказывается по-умолчанию /home/user/ - от чего мне и хотелось-бы уйти. Но все равно спасибо, буду думать еще, хотелось чтобы запись pacman.conf, была ненужной:
 # Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
IgnorePkg   = gtk2 gtk3 qt4 python2
IgnoreGroup = kde-applications kdeutils plasma
но пока, увы...
У-фф, Разобрался. Скрипт extractsh
#! /bin/sh
/usr/bin/atool -X $(dirname "$1") "$1"
и есть искомое.
selishii, когда встретишь правильное решение, сам посмеешься над тем, с какой стороны ты к нему подходил до этого...
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874
 
Зарегистрироваться или войдите чтобы оставить сообщение.