Покажи Публикации - Rosen88
* Виж публикациите на потр. | Виж темите на потр. | Виж прикачените файлове на потр
Страници: 1 2 [3] 4 5 ... 12
31  Програмиране / Общ форум / Re: shell скрипт zenity интерфейс -: May 04, 2015, 17:05
https://www.youtube.com/watch?v=sq9yd4mphYE

https://github.com/sandikata/ROKO__/blob/master/imagemagick-zenity

Не е перфектна, доста примитивна е даже, но все пак още го изучавам...

И благодарско за помощта.
32  Програмиране / Общ форум / Re: shell скрипт zenity интерфейс -: May 04, 2015, 16:05
Иначе направих въпросните промени иии.
Грешката говори, че не си ги направил така, както ти показах. Предполагам, че си пропуснал един знак за долар при separator-а и/или задаването на IFS.

IFS е променлива, указваща на bash какво да използва за разделител на низовете. По подразбиране е бели полета (интервал, табулация и нов ред). В случая указваме за разделител да се счита само нов ред. Така, попълвайки файловете в масива в отделни редове, благодарение на separator-а в zenity, в масива $image интервалите в имената на файловете не се считат за край на името на файла и имаме коректен списък от имена на файлове. Ама за тези неща има документация :)

Да изтървал съм долара

http://sprunge.us/ZjeG

Сложих и прогрес бар но нещо тук наистина не ми идва на ум как да му сложа на него в --title или --text да показва текущо конвертираната снимка.

Със --text="$i" ?
33  Програмиране / Общ форум / Re: shell скрипт zenity интерфейс -: May 04, 2015, 15:20
Ааа, не съм видял, че ползваш multiple в избора на файлове. В такъв случай трябва да вкараш имената на файловете в масив, с което хем ще получиш добро разделение на имената, хем удобно ще ги засилваш един по един към mogrify, тъй като той поддържа подаване на само 1 файл наведнъж. За целта в твоя скрипт замени ред 6 с това:
Код
GeSHi (Bash):
  1. IFS=$'\n' image=`$gui --file-selection  --multiple --separator=$'\n' --filename=$HOME/ --file-filter='Image Files (jpg,png,bmp) | *.jpg *.png *.bmp' --file-filter='All files | *' --title="Select a image file"`
и замени ред 46 с това:
Код
GeSHi (Bash):
  1. for i in ${image[@]}; do
  2.    $converter -format $format -quality $scale -scale $resolution "$i"
  3. done
В първата заменка указваме разделителят на файловете да е нов ред, а във втората заменка обхождаме масива и изпълняваме mogrify за всеки от елементите му.

Намирам за много подходящо, ако добавиш zenity прозорец с прогрес при обхождането на масива, за да не се чуди потребителят до кой файл се е стигнало в обработката при множество файлове. Е, пак се опира до въпроса от началото на темата, но той вече е изяснен :)

А тази променлива IFS ?

Иначе направих въпросните промени иии.

roko__@GA990-FXA-UD3_FX8320 [ 15:18:31 ] [ 05/04/15 ] [ pts/2 ] ~/Програмиране % ./imagemagick-backend
Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged.
/home/roko__/png/Fractal_Nineteenteen_by_Drumbtr.png\n/home/roko__/png/ILTQq.png\n/home/roko__/png/Qsbbfie.png\n/home/roko__/png/sparks-wallpaper.png\n/home/roko__/png/square-pattern-1080p.png
Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged.
jpg
Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged.
85
Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged.
1680x1050
convert: unable to open image `85': Нет такого файла или каталога @ error/blob.c/OpenBlob/2701.
convert: no decode delegate for this image format `' @ error/constitute.c/ReadImage/501.
convert: no images defined `/home/roko__/png/Fractal_Nineteenteen_by_Drumbtr.png\n/home/roko__/png/ILTQq.png\n/home/roko__/png/Qsbbfie.png\n/home/roko__/png/sparks-wallpaper.png\n/home/roko__/png/square-pattern-1080p.png' @ error/convert.c/ConvertImageCommand/3210.
1 roko__@GA990-FXA-UD3_FX8320 [ 15:18:42 ] [ 05/04/15 ] [ pts/2 ] ~/Програмиране %                                                                                                                         :(
34  Програмиране / Общ форум / Re: shell скрипт zenity интерфейс -: May 03, 2015, 16:32
Всъщност... Проблема идва при повече от 1 файл. Imagemagic не иска да ги разпознава ако изглеждат така.

/home/roko__/Снимок экрана от 2015-02-16 17:49:27.png /home/roko__/Снимок экрана от 2015-02-17 09:45:04.png /home/roko__/Снимок экрана от 2015-02-18 00:28:00.png /home/roko__/Снимок экрана от 2015-02-18 08:54:39.png

Но ако избраните от file-select файлове могат да се представят в шел скрипта като

/home/user/*.png тогава няма проблем.
Знам че питам за нещо което би било трудно приложимо.
Нали да работи по този начин само за избраните файлове от file-select а не да накърти всички файлове със зададено разширение в директорията.
35  Програмиране / Общ форум / Re: shell скрипт zenity интерфейс -: May 03, 2015, 15:11
Код
GeSHi (Bash):
  1. #!/bin/bash
  2.  
  3. gui="zenity"
  4. converter="mogrify"
  5.  
  6. image=`$gui --file-selection  --multiple --separator=' ' --filename=$HOME/ --file-filter='Image Files (jpg,png,bmp) | *.jpg *.png *.bmp' --file-filter='All files | *' --title="Select a image file"`
  7. case $? in
  8.        0)
  9.                echo "You selected $image.";;
  10.        1)
  11.                exit 0 ;;
  12.        255)
  13.                exit 0 ;;
  14. esac
  15.  
  16. outformat=`$gui --title="Format Selector" --list --radiolist --column="" --column="Format:" TRUE "jpg" FALSE "png" FALSE "pdf" --text "Select output image format."`
  17. case $? in
  18.        0)
  19.                echo "You selected $outformat.";;
  20.        1)
  21.                exit 0 ;;
  22.        255)
  23.                exit 0 ;;
  24. esac
  25.  
  26. scale=`$gui --scale --text="compression level" --value=85`
  27. case $? in
  28. 0)
  29. echo "You selected $scale%.";;
  30. 1)
  31. exit 0 ;;
  32. 255)
  33. exit 0 ;;
  34. esac
  35.  
  36. resolution=`$gui --title="Resolution Selector" --list --radiolist --column="" --column="Resolution:" FALSE "640x480" FALSE "800x600" FALSE "1024x768" FALSE "1280x1024" TRUE "1680x1050" FALSE "1920x1080" --text "Select image resolution"`
  37. case $? in
  38.        0)
  39.                echo "You selected $resolution.";;
  40.        1)
  41.                exit 0 ;;
  42.        255)
  43.                exit 0 ;;
  44. esac
  45.  
  46. $converter -format $outformat -quality $scale -scale $resolution "$image"
  47. #2>&1 | $gui --progress --pulsate --no-cancel
  48.  

Сложих кавичките само на $image

You selected /home/roko__/Снимок экрана от 2015-02-16 17:49:27.png /home/roko__/Снимок экрана от 2015-02-17 09:45:04.png.
Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged.
You selected jpg.
Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged.
You selected 85%.
Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged.
You selected 1680x1050.
mogrify: no decode delegate for this image format `49' @ error/constitute.c/ReadImage/501.
36  Програмиране / Общ форум / Re: shell скрипт zenity интерфейс -: May 03, 2015, 15:09
Дефинирай "подобри"! Аз го считам за твърде субективен термин и не мога да го коментирам обективно.

Целта на ограждането на променливата $image в двойни кавички е точно, за да се избегнат проблеми с интервали и някои специални символи. Ефектът с наклонените черти е подобен, а за mogrify няма значение как ще се направи, стига в крайна сметка да получи точното име на файла. Вместо двойните кавички може да си поиграеш да добавяш наклонени черти в стойността на променливата $image пред всички интервали и специални символи (в примерния ти файл има двоеточия, които също биха се нуждаели от наклонени черти пред тях). Ти си прецени кое е по-добро за теб. Изпробвах ползването на кавички в скрипта за променливата $image, няма проблем, работи си, така че явно ти не си направил нещо както трябва. И тъй като забелязах, че в твоя скрипт имаш излишен интервал зад променливата $image и гледайки грешката ти, оставам с впечатлението, че си вкарал този интервал в кавичките, а това е проблем. В кавички трябва да оградиш единствено и само променливата $image
Код
GeSHi (Bash):
  1. $converter -format $format -quality $scale -scale $resolution "$image"

А наясно ли си, че ползвайки mogrify, вместо convert, ще имаш различен брой остатъчни файлове в зависимост от форматите на входния и изходния файл? При convert оригиналният файл остава наличен, докато резултатът се записва в друг файл. При mogrify резултатът ще се запише в друг файл, ако форматът на резултата е друг (например, входящ jpg файл, изходящ png файл), но ако форматите са еднакви (например, и входящият, и изходящият са jpg), то резултатът ще се запише върху оригинала. Няма по-добър или по-лош метод - зависи какво целиш.
Дефинирай "подобри"! Аз го считам за твърде субективен термин и не мога да го коментирам обективно.

Целта на ограждането на променливата $image в двойни кавички е точно, за да се избегнат проблеми с интервали и някои специални символи. Ефектът с наклонените черти е подобен, а за mogrify няма значение как ще се направи, стига в крайна сметка да получи точното име на файла. Вместо двойните кавички може да си поиграеш да добавяш наклонени черти в стойността на променливата $image пред всички интервали и специални символи (в примерния ти файл има двоеточия, които също биха се нуждаели от наклонени черти пред тях). Ти си прецени кое е по-добро за теб. Изпробвах ползването на кавички в скрипта за променливата $image, няма проблем, работи си, така че явно ти не си направил нещо както трябва. И тъй като забелязах, че в твоя скрипт имаш излишен интервал зад променливата $image и гледайки грешката ти, оставам с впечатлението, че си вкарал този интервал в кавичките, а това е проблем. В кавички трябва да оградиш единствено и само променливата $image
Код
GeSHi (Bash):
  1. $converter -format $format -quality $scale -scale $resolution "$image"

А наясно ли си, че ползвайки mogrify, вместо convert, ще имаш различен брой остатъчни файлове в зависимост от форматите на входния и изходния файл? При convert оригиналният файл остава наличен, докато резултатът се записва в друг файл. При mogrify резултатът ще се запише в друг файл, ако форматът на резултата е друг (например, входящ jpg файл, изходящ png файл), но ако форматите са еднакви (например, и входящият, и изходящият са jpg), то резултатът ще се запише върху оригинала. Няма по-добър или по-лош метод - зависи какво целиш.

Нещо не мога да се ориентирам къде има интервал ?
37  Програмиране / Общ форум / Re: shell скрипт zenity интерфейс -: May 03, 2015, 07:26
От грешката не виждам проблем с относителни пътища, а проблем, дължащ се на интервалите в името на файла. На ред 46 от скрипта си огради променливата $image в двойни кавички, за да се възприема стойността ѝ като цялостен низ и да бъде подадено коректно име на файла, който да се обработи от mogrify.

Иначе останалия код може ли да се подобри или това е максимума ?

You selected /home/roko__/Снимок экрана от 2015-02-16 17:49:27.png /home/roko__/Снимок экрана от 2015-02-17 09:45:04.png.
Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged.
You selected jpg.
Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged.
You selected 90%.
Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged.
You selected 1680x1050.
mogrify: no decode delegate for this image format `49' @ error/constitute.c/ReadImage/501.

Появява се някакъв друг проблем. Ако изпълня същия синтаксис в терминала няма проблем. Но тук изкарва нова изненада.

Проблема е че като ги оградя ги възприема като интервали а в терминала на тези интервали има

Снимка\ от\ дата\ месец\ година.png
38  Програмиране / Общ форум / Re: shell скрипт zenity интерфейс -: May 02, 2015, 21:50
Аз бях пробвал със while цикъл но се отказах, много се усложнява. Сега имам друг пржблем който ме спъва да си допиша интерфейса.

Код
GeSHi (Bash):
  1. #!/bin/bash
  2.  
  3. gui="zenity"
  4. converter="mogrify"
  5.  
  6. image=`$gui --file-selection  --multiple --separator=' ' --filename=$HOME/ --file-filter='Image Files (jpg,png,bmp) | *.jpg *.png *.bmp' --file-filter='All files | *' --title="Select a image file"`
  7. case $? in
  8.        0)
  9.                echo "You selected $image.";;
  10.        1)
  11.                exit 0 ;;
  12.        255)
  13.                exit 0 ;;
  14. esac
  15.  
  16. format=`$gui --title="Format Selector" --list --radiolist --column="" --column="Format:" TRUE "jpg" FALSE "png" FALSE "pdf" --text "Select image format."`
  17. case $? in
  18.        0)
  19.                echo "You selected $format.";;
  20.        1)
  21.                exit 0 ;;
  22.        255)
  23.                exit 0 ;;
  24. esac
  25.  
  26. scale=`$gui --scale --text="compression level" --value=85`
  27. case $? in
  28. 0)
  29. echo "You selected $scale%.";;
  30. 1)
  31. exit 0 ;;
  32. 255)
  33. exit 0 ;;
  34. esac
  35.  
  36. resolution=`$gui --title="Resolution Selector" --list --radiolist --column="" --column="Resolution:" FALSE "640x480" FALSE "800x600" FALSE "1024x768" FALSE "1280x1024" TRUE "1680x1050" FALSE "1920x1080" --text "Select image resolution"`
  37. case $? in
  38.        0)
  39.                echo "You selected $resolution.";;
  40.        1)
  41.                exit 0 ;;
  42.        255)
  43.                exit 0 ;;
  44. esac
  45.  
  46. $converter -format $format -quality $scale -scale $resolution $image
  47. #2>&1 | $gui --progress --pulsate --no-cancel
  48.  

Но тук проблема е с relative path

You selected /home/roko__/Снимок экрана от 2015-02-16 17:49:27.png /home/roko__/Снимок экрана от 2015-02-17 09:45:04.png.
Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged.
You selected jpg.
Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged.
You selected 85%.
Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged.
You selected 1680x1050.
mogrify: unable to open image `/home/roko__/Снимок': Нет такого файла или каталога @ error/blob.c/OpenBlob/2701.
mogrify: unable to open image `экрана': Нет такого файла или каталога @ error/blob.c/OpenBlob/2701.
mogrify: unable to open image `от': Нет такого файла или каталога @ error/blob.c/OpenBlob/2701.
mogrify: unable to open image `2015-02-16': Нет такого файла или каталога @ error/blob.c/OpenBlob/2701.
mogrify: no decode delegate for this image format `49' @ error/constitute.c/ReadImage/501.
mogrify: unable to open image `/home/roko__/Снимок': Нет такого файла или каталога @ error/blob.c/OpenBlob/2701.
mogrify: unable to open image `экрана': Нет такого файла или каталога @ error/blob.c/OpenBlob/2701.
mogrify: unable to open image `от': Нет такого файла или каталога @ error/blob.c/OpenBlob/2701.
mogrify: unable to open image `2015-02-17': Нет такого файла или каталога @ error/blob.c/OpenBlob/2701.
mogrify: no decode delegate for this image format `45' @ error/constitute.c/ReadImage/501.

И не мога да намеря решение, или поне не ми идва на ум как да реша проблема.
39  Програмиране / Общ форум / Re: shell скрипт zenity интерфейс -: May 02, 2015, 19:26
Мисля че намерих начин на този етап.

https://github.com/sandikata/ROKO__/blob/master/app-text/sprunge/files/sprunge
40  Програмиране / Общ форум / shell скрипт zenity интерфейс -: May 02, 2015, 12:47
Здрасти!
Не съм много сигурен а и не мога да намеря информация, или аз не търся добре та..

Пиша една програмка на шел като искам да добавя zenity графичен интерфейс. Тъй като не видях да има вариант на прогрес бар да пита при натискане на Cancel а вместо това директно затваря, има ли някакъв елементарен начин да се направи диалог при Cancel

При проверка..

Код:
roko__@GA990-FXA-UD3_FX8320 [ 12:46:11 ] [ 05/02/15 ] [ pts/2 ] ~/Програмиране % zenity --progress ;echo $?
1

Cancel дава exit 1 но преди изпълнение на exit 1 ми трябва да има диалогов прозорец за потвърждаване.
41  Linux секция за начинаещи / Настройка на хардуер / Re: fancontrol -: Apr 28, 2015, 10:19
Проблема е решен по следния на4ин.......5волта от дъното ->диод->съпротивление8ома->вентилатор :) сега вентилатора върти бавно температурата е 40-50 градуса мерси на вси4ки които ми отговориха имам още 1 лаптоп и там нещата се полу4ават ама тоя делл ме сцепи от 4етене и пак не стана както ми се искаше

явно не си чел достатъчно. Дел специално имат добра линукс поддръжка и всичко което ти трябва е i8kutils.
С lm_sensors и pwmconfig забрави че ще стане.
42  Хумор, сатира и забава / Живота, вселената и някакви други глупости / Re: Тролене по Майкрософт -: Feb 10, 2015, 20:26
И между другото в Microsoft работят много хора и голяма част от тях са изключителни програмисти и умни хора. Единици са хората в този форум, които биха могли да се сравняват с тях.

Познаваме се от бая време, преди се кефеше на нашия Calculate Linux, а сега възхваляваш монопола :)
Но не ми казвай че само в Майкрософт има изключителни програмисти умни хора.

Аз ще спомена две три имена..

Ричард Столман
Денис Ричи
Линус Торвалдс

Ако някой е поне малко като тях. Без значение от кой монопол.
43  Хумор, сатира и забава / Живота, вселената и някакви други глупости / Re: Тролене по Майкрософт -: Feb 08, 2015, 09:06
Вин и Андроид са продукти - прави разлика. Дистрибуциите не са, продуктите се продават - свободата не. Просто е. Хроме ОС също е продукт с Линукс, не знам запознат ли си, но в новите версии на Хром (браузър), с една приставка, може да пускаш Андроид приложения, примерно Скайп, защото точно него провах и работи коректно. Та в новите Хромебуци ще има и Андроид приложения - куул. Вин е едно дребно недорозумение, което едва работи на десктоп щайги и никога няма да достигне мащабите, които в момента владее Линукс. Това е живота - засега.

То в магазина на хром има вече приложения андроидски за браузъра.
44  Хумор, сатира и забава / Живота, вселената и някакви други глупости / Re: Тролене по Майкрософт -: Feb 07, 2015, 06:08
Не разбирам нищо от тези неща. Но като ви чета, за пореден път се убеждавам, че не трябва да се има вяра на нищо, що иде от там. Тея хора уж имат ресурси, нали? Що не си свършат работата както трябва, ами все ще намерят как да се насерат в колосаните си гащи  :P

Те са некадърници и не ги интересува клиента да е доволен и те да са си свършили работата, единствено ги интересува сухата пара.
45  Хумор, сатира и забава / Кошче / Re: За всички които мразят България. -: Feb 03, 2015, 09:52
България е мразена заради продажните политици, и продажните избиратели които гласуват за тях.
Страници: 1 2 [3] 4 5 ... 12