LINUX.ORG.RU

[zenity] Задание пунктов списка выбора из файла

 


0

1

Помогите разобраться. Есть окно со списком вариантов, полученных из файла (список файлов, содержащихся в каталоге на ftp).

zenity --list --title 'Choose file' --column 'File' < ls.txt
После выбора одного из значений списка и подтверждения или отмены zenity зависает со 100% загрузкой одного ядра. При задании пунктов списка не из файла все отрабатывает нормально.

Странно. Только что проверил - всё отлично работает.

Но я ls.txt создал вот так:

ls -1 > ls.txt

чтобы имена файлов в столбец выстроить:

file1.doc
file2.doc
file3.doc
...

Всё выбирается, ничего не виснет.

OldFatMan
()

УМВР, zenity-2.32.1

anonymous
()

На разных версиях проверял - и на старой 2.26.0, и на более новой 2.32.1 (анонимус на мысль навёл) - всё работает.

Может быть, всё-таки в ls.txt у тебя что-то не так: или файлов слишком много, или какие-нибудь «управляющие символы» затесались, или ещё что.

OldFatMan
()
Ответ на: комментарий от OldFatMan

В ls.txt имена файлов также выстроены в столбец. Файл выбирается, после подтверждения в терминале выводится его имя, а дальше виснет, окно убивается только kill'ом

PS. zenity 3.2.0, ubuntu 11.10

mick-kzn
() автор топика
Ответ на: комментарий от mick-kzn

> zenity 3.2.0

Может, в этой версии накосячили? До 3.х.х я так и не добрался. Попробуй откатиться на более раннюю.

OldFatMan
()
Ответ на: комментарий от mick-kzn

Сейчас проверил со списком, в котором больше 5000 имён файлов - заметно было, как около секунды список грузится в окно выбора, но после выбора отработал мгновенно, вывел выбранный файл. Без задержек, зависаний и перегрузок ядер.

Наверное, всё же дело «в консерватории», в смысле в новой версии zenity.

OldFatMan
()
Ответ на: комментарий от OldFatMan

Сейчас проверил еще раз: если выбирать файл двойным щелчком - то все отрабатывает нормально, если кнопкой ОК или Отменить - то все виснет.

mick-kzn
() автор топика
Ответ на: комментарий от mick-kzn

И я ещё раз проверил на «пятитысячнике» - и мышью (двойной щелчок или кнопка OK), и с клавиатуры (стрелки,PgUp,PgDn - для движения, Tab для перемещения фокуса, Enter - для выбора) - всё отрабатывает быстро и правильно. При щелчке мышью по «Отменить» есть небольшая задержка (меньше секунды), но никаких зависаний не наблюдаю.

Начинаю всё сильнее подозревать zenity 3.x.x, как источник описанной тобой проблемы. :)

OldFatMan
()

Всем спасибо за ответы. В итоге заработало так:

 zenity --list --title 'Choose file' --column 'File' $(cat /home/michael/ls.txt)

mick-kzn
() автор топика
Ответ на: комментарий от mick-kzn

> zenity --list --title 'Choose file' --column 'File' $(cat /home/michael/ls.txt)
Может быть, стоит обойтись без временных файлов и использовать pipe'ы?

Что-то вроде ls -1 ... | zenity --list --title 'Choose file' --column 'File'

AITap ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.