Я изучаю, как использовать уведомления о gtk, и кажется, что любой вывод вывода через пузырь уведомления имеет максимальный размер переполнения, вероятно, 10 строк или около того. Итак, если сообщение, которое я хочу показать, более того, оно подавляется. Есть ли способ заставить отображать все сообщение без каких-либо ограничений?
Я использую notifyOSD, кстати.
Как я уже отмечал в комментариях, notify-osd не очень подходит для расширенных сообщений, и следует предпочесть zenity вместо этого.
Простым примером использования будет разворачивание диалога zenity через subprocess.call([COMMAND,OPTIONS])
import subprocess
text="Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat."
command=['zenity', '--info', '--text="' +text + '"', '--width=250', '--height=300' ]
subprocess.call(command)
Очень простой пример. С чем-то, что требует проверки статуса выхода, например вопросов, вы можете захотеть использовать структуру try - except - else
import subprocess
text='Do you want to use Zenity?'
command=['zenity', '--question',
'--text="' +text + '"',
'--width=250', '--height=300' ]
try:
stdout = subprocess.check_call(command)
except subprocess.CalledProcessError:
pass # if return sttus is non-zero, do something here
else:
# if exit status was 0 , we do something here
print "Yes, I want to use Zenity too"
. Если вы хотите что-то более продвинутое, вероятно, подумайте об изучении одного из графических наборов инструментов, таких как PyQt или Gtk.