Wie man ein Fenster immer im Vordergrund ist?

Habe ich eine rahmenlose Qt/QML Fenster, und ich würde wirklich gerne wissen, jede programmatische Mittel, seine Einstellung "Always On Top" - system-Menü-flag. Klick auf ALT+SPACE kann ich das system-Menü für die rahmenlosen Fenster, und indem Sie auf die "Always On Top" - option, das Fenster nicht immer auf top, aber ich habe nicht gefunden, eine programmatische Möglichkeit, das gleiche zu tun. Die Qt.WindowStaysOnTopHint nicht funktioniert, und versuchen wmctrl -r "window name" -b add,above funktioniert auch nicht, obwohl wmctrl funktioniert für andere windows. wmctrl funktioniert nicht für meine Fenster von Interesse, hat offenbar etwas zu tun mit der N/A für die Maschine Spalte "name" auf wmctrl -l:

francisco@Ubuntu:~$ wmctrl -l
0x02600006  0 Ubuntu Área de trabalho
0x03c00002  0 Ubuntu XdndCollectionWindowImp
0x03c00005  0 Ubuntu unity-launcher
0x03c00008  0 Ubuntu unity-panel
0x03c0000b  0 Ubuntu unity-dash
0x03c0000c  0 Ubuntu Hud
0x046000b3  0 Ubuntu How to make a window aways on top? - Stack Overflow - Mozilla Firefox
0x0520000b  0    N/A Qt Creator
0x05002396  0 Ubuntu francisco@Ubuntu: ~
0x0540000b  0    N/A backlight

Habe ich auch Durchlaufen dieses Verfahren aber für den Benutzer zu Fragen, es ist nicht für mich arbeiten, entweder, dasselbe Verhalten. Die _NET_WM_STATE_ABOVE festgelegt ist, sondern sich das Fenster und dann die überprüfung der Flagge wieder, es ist nicht mehr da, es ist klebrig, nur beim klicken durch das system-Menü.

Dies ist der QML: https://gist.github.com/oblitum/8050586

Verwandte askubuntu Frage: https://askubuntu.com/questions/394998

BEARBEITEN

Beachten Sie

In den zugehörigen askubuntu Frage, es wurde festgestellt, dass es ein Fehler auf wmctrl für die Ausrichtung auf bestimmte windows durch Ihre Namen. Mit wmctrl -i -r <window id> -b add,above löst auch das Problem.

  • Die Frage ist, ob die Einheit ordnungsgemäß implementiert dieses Verhalten. Hat Unity eine Möglichkeit bieten, um die user zu halten, ein Fenster immer im Vordergrund ist?
  • Wie gesagt, es funktioniert mit der Einstellung "Immer Oben" auf das system-Menü. Ich würde gerne die gleichen programmgesteuert.
  • Ich denke, Frank verstanden, dass, und er antwortete jeweils. 😉
  • Ich bin nicht immer, ich bin ein Benutzer, den ich verwende Ubuntu mit Unity, und ich kann die Flagge mit der Maus, so?
  • Also, er hatte verstanden, dass Sie möchten, um es programmatisch, keine Sorge. Dies war eine erste Validierung. Na ja, was bedeutet es, "Qt.WindowStaysOnTopHint funktioniert nicht"? Alles, was mehr als nur nichts ändert? Die Ausgabe der Konsole, etc? Haben Sie versucht, zu verfolgen, die Interna, die nach unten?
  • Ich habe nicht fassen, dass noch.
  • Nun, ich habe festgestellt, das Frage-und-Antwort wirklich nützlich, traurig, dass es downvoted...
  • winctrl können dies tun, mit "wmctrl -i-r WIN_ID -b add,oben'

InformationsquelleAutor pepper_chico | 2013-12-22
Schreibe einen Kommentar