Під ubuntu 16.04 я отримую таке повідомлення
Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged
коли я відкриваю zenity командою
zenity --text-info --filename=<filename>
Це сталося не раніше 14.04. Я припускаю, що відповідь пов’язана з цією посадою, але в публікації не пояснено, як реалізувати запропоноване рішення. Може хтось пояснить, до якого файлу я повинен додати запропоновані рядки?
Ви виправляєте це попередження, надаючи GtkDialog батькові, який має бути модальним. Відповідними функціями є gtk_window_set_transient_for () (який встановлює це вікно завжди бути зверху або перехідним для іншого) та необов'язково gtk_window_set_modal (), щоб зробити його модальним діалогом. Це в кінцевому підсумку те, що роблять різні конструктори GtkDialog.
WINDOW_ID=$(xprop -name
echo $ TITLE` | grep WM_CLIENT_LEADER | вирізати -d "#" -f2 | cut -c2-20) `і я потім спробував, zenity --attach=$WINDOW_ID --text-info --filename=<filename>
але, на жаль, все ще отримав попередження. Дуже погано, але, можливо, стане в нагоді одного дня дізнатися, як отримати ідентифікатор вікна!
NULL
. Однак я не міг make install
зентувати локально (я не міг знайти документів або щось про те, як налаштувати встановлення), тому я остаточно відмовився. Доведеться використовувати брудне 2>/dev/null
.
zenity --help-general
дає,--attach=WINDOW Set the parent window to attach to
але я не впевнений, як ним користуватися (що таке Window?), можливо, це вирішить вашу проблему.