Wie bekomme ich die oberste Fensterposition relativ zum Root-Fenster (d. H. Den ganzen Bildschirm) mit plain ol 'xlib (oder brandneuen XCB)?Fensterposition in Xlib
Antwort
Verwenden Sie XTranslateCoordinates (oder xcb-Äquivalent), um 0,0 im Fenster in die Koordinaten des Stammfensters zu übersetzen.
Xlib Verwendung:
XWindowAttributes xwa;
XGetWindowAttributes(display, window, &xwa);
printf("%d %d\n", xwa.x, xwa.y);
Es gibt auch viele andere Informationen, die mit XWindowAttributes
kommen. Siehe here.
Die x, y-Komponenten der von XGetWindowAttributes zurückgegebenen Struktur sind relativ zum Ursprung des übergeordneten Fensters. Das ist nicht dasselbe wie oben links auf dem Bildschirm.
Der Aufruf von XTranslateCoordinates beim Übergeben des Stammfensters und 0,0 gibt die Koordinaten des Fensters relativ zum Bildschirm an.
Ich fand, dass, wenn ich schreibe:
int x, y;
Window child;
XWindowAttributes xwa;
XTranslateCoordinates(display, window, root_window, 0, 0, &x, &y, &child);
XGetWindowAttributes(display, window, &xwa);
printf("%d %d\n", x - xwa.x, y - xwa.y);
Die von der printf angezeigten Werte sind diejenigen, die, wenn sie zu XMoveWindow weitergegeben, um das Fenster in seiner aktuellen Position halten. Daher werden diese Koordinaten vernünftigerweise als die Position des Fensters betrachtet.
- 1. Internet Explorer-Fensterposition erwerben
- 2. Fensterposition ändern Jquery
- 3. Fensterposition einer CHM-Datei
- 4. Einstellen der Fensterposition/jquery
- 5. Pthread Xlib Programmierung
- 6. Öffnungsvorgang und Ändern der Fensterposition
- 7. Speichern der Fensterposition in Interface Builder
- 8. Global Hotkey mit X11/Xlib
- 9. Python Xlib fangen/senden Mausklick
- 10. Speichern Xlib XImage zu PNG
- 11. Windows mit Python umbenennen Xlib
- 12. Python2.7 Import pyautogui xlib Fehler
- 13. Wie installierst du Python Xlib mit pip?
- 14. Bild zeichnen Problem unter Linux mit Xlib
- 15. Wie skaliere ich eine Pixmap mit XLib?
- 16. Capture Key drücken Ereignis mit Xlib
- 17. Wo sind einige gute Xlib-Programmierhilfen?
- 18. Wer programmiert immer noch xlib direkt
- 19. Wie warten Sie auf VSYNC in Xlib App?
- 20. konnte keine colormap Eintrag in Xlib mit XFreeColors befreien()
- 21. Handle "neue Top-Level-Fenster" Ereignisse in Xlib/Xt
- 22. Get oben der aktuellen Fensterposition relativ zum Dokumentkörper
- 23. Python3 segfaults bei Verwendung von ctypes auf xlib, python2 funktioniert
- 24. Verwenden Sie xlib XChangeWindowAttributes, um alle XWindow-Ereignisse abzurufen
- 25. Wie identifiziere ich Top-Level X11-Fenster mit xlib?
- 26. xLib XNextEvent überprüft, ob eine Taste gedrückt wird
- 27. Zeichnen eines XBM mit XLib, schwarzes Rechteck erhalten
- 28. Wie kann ich ein Fenster mit python-xlib verschieben/skalieren?
- 29. Wie erhalte und setze ich die Fensterposition einer anderen Anwendung in C#
- 30. So legen Sie die WPF-Fensterposition in der sekundären Anzeige fest
das ist die Antwort, die auch für mich funktionierte – thinlizzy