Pod Ubuntu 16.04 otrzymuję następujący komunikat
Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged
kiedy otwieram zenity za pomocą polecenia
zenity --text-info --filename=<filename>
Nie wydarzyło się to przed 14.04. Zakładam, że odpowiedź jest związana z tym postem, ale post nie wyjaśnia, jak wdrożyć proponowane rozwiązanie. Czy ktoś mógłby wyjaśnić, do którego pliku powinienem dodać sugerowane linie?
Naprawiasz to ostrzeżenie, nadając GtkDialog rodzicowi, który ma być modalny. Odpowiednie funkcje to gtk_window_set_transient_for () (który ustawia to okno, aby zawsze znajdowało się na innym lub przejściowe dla innego) i opcjonalnie gtk_window_set_modal (), aby uczynić z niego modalne okno dialogowe. To właśnie robią różne konstruktory GtkDialog.
WINDOW_ID=$(xprop -name
echa linii $ TITLE` | grep WM_CLIENT_LEADER | cut -d "#" -f2 | cut -c2-20) `i wtedy spróbowałem, zenity --attach=$WINDOW_ID --text-info --filename=<filename>
ale niestety nadal otrzymałem ostrzeżenie. Szkoda, ale może się przydać pewnego dnia dowiedzieć się, jak uzyskać identyfikator okna!
NULL
. Jednak nie mogłem make install
zenity lokalnie (nie mogłem znaleźć dokumentów ani czegoś takiego, jak skonfigurować instalację), więc ostatecznie się poddałem. Będę musiał użyć brudnego 2>/dev/null
.
zenity --help-general
daje,--attach=WINDOW Set the parent window to attach to
ale nie jestem pewien jak go używać (co to jest Window?), być może rozwiąże twój problem.