Ubuntu 16.04 के तहत मुझे निम्नलिखित संदेश मिलता है
Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged
जब मैं कमांड के साथ ज़ेनिटी खोलता हूं
zenity --text-info --filename=<filename>
यह 14.04 के तहत नहीं हुआ। मुझे लगता है कि उत्तर इस पोस्ट से संबंधित है, लेकिन पोस्ट यह नहीं बताता है कि प्रस्तावित समाधान को कैसे लागू किया जाए। क्या कोई कृपया बता सकता है कि मुझे किस फ़ाइल को सुझाई गई लाइनों को जोड़ना चाहिए?
आप इस चेतावनी को GtkDialog को एक माँ-बाप को मॉडल बनाकर ठीक करते हैं। संबंधित कार्य हैं gtk_window_set_transient_for () (जो इस विंडो को हमेशा शीर्ष पर या किसी अन्य के लिए क्षणिक होने के लिए सेट करता है) और वैकल्पिक रूप से gtk_window_set_modal () इसे एक संवाद बनाने के लिए। यह आखिरकार विभिन्न GtkDialog कंस्ट्रक्टर क्या करते हैं।
WINDOW_ID=$(xprop -name
Echo $ TITLE` के साथ WINDOW आईडी को पुनर्प्राप्त करने में सक्षम था grep WM_CLIENT_LEADER | cut -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
लेकिन मुझे यकीन नहीं है कि इसका उपयोग कैसे करें (विंडो क्या है?), शायद यह आपकी समस्या को हल करेगा।