hallo!
ich suche nach einer möglichkeit die geometry vorhandener fenster innerhalb eines windowmangers (unter linux) abzufragen und diese dann auch zu manipulieren, d.h. fenstergrösse verändern, fenster maximieren/minimieren oder auch schliessen, etc. ich habe recht lange gegoogelt und bin auch auf xlib gestossen, aber irgendwie steige ich da nicht ganz durch. xlib ist sehr schlecht dokumentiert und ich weiss auch nicht ob es wirklich das ist, was ich suche.
vielleicht könnt ihr mir ein paar tipps oder anregungen geben.
vielen dank,
vlad
fenstereigenschaften abfragen und manipulieren
- sunmountain
- User
- Beiträge: 89
- Registriert: Montag 13. März 2006, 17:18
Hallo,
was Du brauchst ist das hier:
http://www.the-labs.com/X11/XLib-Manual ... indow.html
Du könntest mit ctype die xlib skripten.
Um an die Window ID zu kommen benutzt du das hier:
http://www.xfree86.org/current/xwininfo.1.html
Im übrigen ist die xlib alles andere als schlecht dokumentiert ...
... nur nicht gerade intuitiv
Vielleicht reicht Dir das auch schon:
http://www.sweb.cz/tripie/utils/wmctrl/
was Du brauchst ist das hier:
http://www.the-labs.com/X11/XLib-Manual ... indow.html
Du könntest mit ctype die xlib skripten.
Um an die Window ID zu kommen benutzt du das hier:
http://www.xfree86.org/current/xwininfo.1.html
Im übrigen ist die xlib alles andere als schlecht dokumentiert ...
... nur nicht gerade intuitiv
Vielleicht reicht Dir das auch schon:
http://www.sweb.cz/tripie/utils/wmctrl/
Zuletzt geändert von sunmountain am Mittwoch 21. Februar 2007, 19:24, insgesamt 1-mal geändert.
hallo,
vielen dank sunmountain für die antwort.
ja, das stimmt. ich habe schon viele manuals zu xlib gefunden (auch den link, den du gepostet hast), aber verstanden habe ich nicht viel. intuitiv ist die dokumentierung wirklich nicht.
ok, ich bin totaler neuling in sachen programmieren (obwohl ich schon viel mit bash-skripten gearbeitet habe), habe erst vor zwei monaten mit python angefangen und habe mich auch direkt gut zurechtgefunden. nachdem ich verschiedene kleinere skripte geschrieben habe, wollte ich mich an etwas anspruchsvollerem wagen.
ich will ein fenstermanipulationsskript schreiben, und da bin ich über python-xlib als xlib pythonimplementierung gestossen. da ich nicht viel ahnung von c habe, habe ich auch die ganzen verweise auf die vorgehensweise in c nicht verstanden (vielleicht ist es eine frage der zeit und des einlesens).
jetzt ein paar naive fragen:
- was ich nicht verstehe, ist wie python-xlib mit xlib zusammenhängt.
- wie funktionert das mit ctype?
für eine verständliche einführung wäre ich dankbar.
vlad
vielen dank sunmountain für die antwort.
ja, das stimmt. ich habe schon viele manuals zu xlib gefunden (auch den link, den du gepostet hast), aber verstanden habe ich nicht viel. intuitiv ist die dokumentierung wirklich nicht.
ok, ich bin totaler neuling in sachen programmieren (obwohl ich schon viel mit bash-skripten gearbeitet habe), habe erst vor zwei monaten mit python angefangen und habe mich auch direkt gut zurechtgefunden. nachdem ich verschiedene kleinere skripte geschrieben habe, wollte ich mich an etwas anspruchsvollerem wagen.
ich will ein fenstermanipulationsskript schreiben, und da bin ich über python-xlib als xlib pythonimplementierung gestossen. da ich nicht viel ahnung von c habe, habe ich auch die ganzen verweise auf die vorgehensweise in c nicht verstanden (vielleicht ist es eine frage der zeit und des einlesens).
jetzt ein paar naive fragen:
- was ich nicht verstehe, ist wie python-xlib mit xlib zusammenhängt.
- wie funktionert das mit ctype?
für eine verständliche einführung wäre ich dankbar.
vlad
- sunmountain
- User
- Beiträge: 89
- Registriert: Montag 13. März 2006, 17:18
Das ist ein Wrapper für die xlib, also das was Du suchstDonVla hat geschrieben: - was ich nicht verstehe, ist wie python-xlib mit xlib zusammenhängt.
Mit ctype kann man definieren, wie Funktionen in Bibliotheken (DLL,Shared object files) angesprochen werden, also ihre Signatur nachbilden undDonVla hat geschrieben: - wie funktionert das mit ctype?
sie dann von Python aus aufrufen.
so z.B. (unter Linux):
Code: Alles auswählen
from ctypes import *
cdll.LoadLibrary("libc.so.6")
libc = CDLL("libc.so.6")
printf = libc.printf
printf("Hello, %s\n", "World!")