Как сделать расширение меню KDE для групповой обработки файлов?

PCLinuxOS

Модератор: Bizdelnick

Аватара пользователя
Hymnazix
Сообщения: 341
ОС: Любая

Как сделать расширение меню KDE для групповой обработки файлов?

Сообщение Hymnazix »

Задача - перекодировка тегов MP3. Для одного файла (или нескольких файлов в одном каталоге) можно использовать такую конструкцию:

Код: Выделить всё

[Desktop Entry]
Type=Service
Actions=convtags;
ServiceTypes=KonqPopupMenu/Plugin
MimeType=audio/mpeg;
X-KDE-Priority=TopLevel
[Desktop Action convtags]
Name=Перекодировать теги в юникод
Exec=mid3iconv -eCP1251 --remove-v1 %U


А как повесить на правую кнопку команду find -iname '*.mp3' -print0 | xargs -0 mid3iconv -eCP1251 --remove-v1, которая обработает все файлы в каталоге?
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: Как сделать расширение меню KDE для групповой обработки файлов?

Сообщение sash-kan »

вероятно, так:
http://standards.freedesktop.org/desktop-e...ml#basic-format
QUOTE писал(а):Desktop entry files should have the .desktop extension, except for files of Type Directory which should have the .directory extension.
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
olelukoie
Сообщения: 1248
ОС: Linux, Win

Re: Как сделать расширение меню KDE для групповой обработки файлов?

Сообщение olelukoie »

Родные kde-шные проги используют просто MimeType=all/all и меню отображается для всех типов объектов файловой системы, в т.ч. и директорий (посмотрите, как сделано контекстное меню для ark, например). Или вопрос был в чем-то другом?
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21279
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Как сделать расширение меню KDE для групповой обработки файлов?

Сообщение Bizdelnick »

olelukoie писал(а):
29.09.2011 22:40
Родные kde-шные проги используют просто MimeType=all/all и меню отображается для всех типов объектов файловой системы, в т.ч. и директорий

Так inode/directory же.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
olelukoie
Сообщения: 1248
ОС: Linux, Win

Re: Как сделать расширение меню KDE для групповой обработки файлов?

Сообщение olelukoie »

Bizdelnick писал(а):
29.09.2011 23:12
olelukoie писал(а):
29.09.2011 22:40
Родные kde-шные проги используют просто MimeType=all/all и меню отображается для всех типов объектов файловой системы, в т.ч. и директорий

Так inode/directory же.

Это только для директорий, а если чел уже в нужной директории и ему надо все файлы mp3 в ней обработать? all/all позволяет это сделать легко и без лишних заморочек :) Даже не недо думать, есть ли в текущей директории mp3-файлы или нет - щелкнул на первом попавшемся файле (любом) и выбрал нужный пункт меню, все остальное команда сделает сама. Плохо только то, что это меню не отображается, если щелкнуть в пустом месте окна файлового менеджера, обязательно надо щелкать на имени файла или каталога.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21279
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Как сделать расширение меню KDE для групповой обработки файлов?

Сообщение Bizdelnick »

olelukoie писал(а):
29.09.2011 23:40
Это только для директорий, а если чел уже в нужной директории и ему надо все файлы mp3 в ней обработать?

Вообще-то нужные типы через запятую перечисляются.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
Hymnazix
Сообщения: 341
ОС: Любая

Re: Как сделать расширение меню KDE для групповой обработки файлов?

Сообщение Hymnazix »

olelukoie писал(а):
29.09.2011 23:40
all/all позволяет это сделать легко и без лишних заморочек :)


В том-то и дело, что не позволяет. Вот такая конструкция не работает:

Код: Выделить всё

[Desktop Entry]
Type=Service
Actions=convtags;
ServiceTypes=KonqPopupMenu/Plugin
MimeType=all/all;
X-KDE-Priority=TopLevel
[Desktop Action convtags]
Name=Перекодировать теги в юникод
Exec=find -iname '*.mp3' -print0 | xargs -0 mid3iconv -eCP1251 --remove-v1 %D


ЧЯДНТ?
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21279
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Как сделать расширение меню KDE для групповой обработки файлов?

Сообщение Bizdelnick »

Сдаётся мне, что конвейер тут работать не будет. Попробуйте использовать -exec. И что у Вас там за %D в конце?
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
NickLion
Сообщения: 3408
Статус: аватар-невидимка
ОС: openSUSE Tumbleweed x86_64

Re: Как сделать расширение меню KDE для групповой обработки файлов?

Сообщение NickLion »

Bizdelnick писал(а):
30.09.2011 11:47
И что у Вас там за %D в конце?

ТС возможно %D не туда поставил - его в find поставить по идее надо. А то в какой текущей папке ищет find - не ясно.
Спасибо сказали:
Аватара пользователя
Hymnazix
Сообщения: 341
ОС: Любая

Re: Как сделать расширение меню KDE для групповой обработки файлов?

Сообщение Hymnazix »

NickLion писал(а):
30.09.2011 13:08
Bizdelnick писал(а):
30.09.2011 11:47
И что у Вас там за %D в конце?

ТС возможно %D не туда поставил - его в find поставить по идее надо. А то в какой текущей папке ищет find - не ясно.


Голова мая садовая :)
Рабочий вариант:

Код: Выделить всё

[Desktop Entry]
Type=Service
Actions=convtags;
ServiceTypes=KonqPopupMenu/Plugin
MimeType=all/all;
X-KDE-Priority=TopLevel
[Desktop Action convtags]
Name=Перекодировать теги в юникод
Exec=find %D -iname '*.mp3' -print0 | xargs -0 mid3iconv -eCP1251 --remove-v1
Спасибо сказали: