Окно Индикатора выполнения / Панель в области уведомлений для под управлением сценария оболочки

Я реализовал некоторые сценарии оболочки к своему контексту дельфина menue. В рамках сценариев оболочек я выполняю некоторые команды, которые занимают время.

Мой вопрос: действительно ли возможно реализовать некоторый код в (a) сценарий оболочки, так, чтобы раскрывающееся окно или строка состояния в поле уведомления (kde плазма) обнаружились?

Вот сценарий, на котором я хочу использовать индикатор выполнения:

#!/bin/bash

mkdir small
cp *.jpg small
cp *.JPG small
cd small

for i in *.jpg; do
 if [ -e "$i" ]; then
   file=`basename "$i" .jpg`
   mogrify -unsharp 0.25x0.25+8+0.065 -resize 1280x1024 -normalize -density 180 -monitor "$i"
 fi
done

for i in *.JPG; do
 if [ -e "$i" ]; then
   file=`basename "$i" .JPG`
   mogrify -unsharp 0.25x0.25+8+0.065 -resize 1280x1024 -normalize -density 180 -monitor "$i"
 fi
done

Объяснение: сценарий очень удобен для последующей обработки изображений (jpegs) к разумному размеру для протоколов изображения (ppt, PDF, и т.д.) или whatelse...

1
задан 3 October 2018 в 12:48

1 ответ

Ответ на мой вопрос работает, но не самый красивый ;) Это испытывает недостаток в непрерывном индикаторе выполнения в проценте.

Добавляют к сценарию:

 (#your commands) | zenity --progress --auto-close --title="Post-Process Pictures" --text="Rendering pictures..." --pulsate

Это откроет окно с пульсирующей панелью. Окно открыто, пока команды все еще работают.

Полный сценарий теперь похож на это:

#!/bin/bash

(mkdir small
cp *.jpg small
cp *.JPG small
cd small

for i in *.jpg; do
 if [ -e "$i" ]; then
   file=`basename "$i" .jpg`
   mogrify -unsharp 0.25x0.25+8+0.065 -resize 1280x1024 -normalize -density 180 -monitor "$i"
 fi
done

for i in *.JPG; do
 if [ -e "$i" ]; then
   file=`basename "$i" .JPG`
   mogrify -unsharp 0.25x0.25+8+0.065 -resize 1280x1024 -normalize -density 180 -monitor "$i"
 fi
done) | zenity --progress --auto-close --title="Post-Process Pictures" --text="Rendering pictures..." --pulsate

Лучший, Benjamin.

Pulsating Progress Bar

Около: Я использую сценарий в сочетании с .desktop файлом, так, чтобы я мог использовать его через контекст щелчка левой кнопкой menue у дельфина. Просто создайте resize.desktop файл в/usr/share/kservices5/ServiceMenus со следующим содержанием:

[Desktop Entry]
Actions=resize_pictures
Icon=transform-crop-resize
MimeType=image/jpeg;
ServiceTypes=KonqPopupMenu/Plugin
Type=Service
X-KDE-Priority=TopLevel

[Desktop Action resize_pictures]
Exec=sh pathtoyourscript/resize_pictures
Icon=transform-scale
Name=Resize Image(s)
1
ответ дан 7 December 2019 в 15:13

Другие вопросы по тегам:

Похожие вопросы: