Pro-Linux

Pro-Linux Diskussions- und Hilfeforum
Aktuelle Zeit: 15. Nov 2018 11:19

Alle Zeiten sind UTC+01:00




Ein neues Thema erstellen  Auf das Thema antworten  [ 4 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: X11 - Window Property auslesen
BeitragVerfasst: 05. Feb 2011 20:18 
Hallo zusammen.

Ich versuche seit Tagen verzweifelt eine Window property von einem Fenster zu ermitteln.
Dafür benutze ich die die Xlib und folgenden Code.

Ich möchte also prüfen ob der _NET_WM_WINDOW_TYPE gleich DESKTOP ist.
Code:
  Atom     actual_type;
   Atom     desk_atom,type;
   int      actual_format;
   long     nitems;
   long     bytes;
   unsigned char*     data;
   type = XInternAtom(dpy,"_NET_WM_WINDOW_TYPE",True); //freen und vorher initialisieren
   desk_atom = XInternAtom(dpy,"_NET_WM_WINDOW_TYPE_DESKTOP",True);
   XGetWindowProperty(dpy,propwin,type,0,0,False,
			       AnyPropertyType,
                   &actual_type,
                   &actual_format,
                   &nitems,
                   &bytes,
                   &data);
                   write2log(actual_format);
                   write2log(XGetAtomName(dpy,data));
                   write2log(nitems);
                  
Dazu muss ich sagen, dass die Funktion "write2log" mir nur die Ergebnise in eine Datei schreibt, damit ich sehe ob ich den Wert ermitteln konnte.

Hoffe es kann mir jemand helfen, da ich im Internet keine große Hilfe finde und mich in letzter Zeit mit dem Quellcode von dem Programm "xprop" rummgeschlagen habe.
http://xprop.sourcearchive.com/document ... ource.html


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 06. Feb 2011 15:41 
Offline
Benutzeravatar

Registriert: 11. Feb 2006 19:10
Beiträge: 3569
XFlush() vergessen? X-Requests werden immer erst dann übertragen, wenn man die Request-Queue flusht. Nur geschieht das bei anderen Aufrufen, z.B. XSync() oder XNextEvent() automatisch, deshalb wird es gerne vergessen.

Janka

_________________
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 08. Feb 2011 21:36 
Ne das ist es nicht. XFlush ist nicht erforderlich, bekomme ja auch output.

Zumindest kann ich den TYP des Rückgabewertes erfolgreich ausgeben (ATOM) nur bei den Daten des Atoms bekommme ich NULL zurückgegeben, was auch völlig korrekt bei den Fenstern funktioniert, welche diese Property nicht benutzen. (So wie in der Dokumentation beschrieben).

Fenster welche diese Property besitzen geben mir durch meinen Code jedoch nur nicht zusammenhängende Buchstabenkombinationen zurück.

mhh...


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 22. Mai 2011 8:57 
Fehler liegt in letztem 0 der Paramterliste (dpy,propwin,type,0, 0, ...).

man XGetWindowProperty

XGetWindowProperty(Display *display, Window w, Atom property,
long long_offset, long long_length, Bool delete, Atom req_type,
Atom *actual_type_return, int *actual_format_return, unsigned long *nitems_return,
unsigned long *bytes_after_return, unsigned char **prop_return);

long_length: Specifies the length in 32-bit multiples of the data to be retrieved

Setze Parameter auf z.B. 100, dann sollte es gehen (nicht getestet).


Nach oben
   
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen  Auf das Thema antworten  [ 4 Beiträge ] 

Alle Zeiten sind UTC+01:00


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.
Sie dürfen keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
Powered by phpBB® Forum Software © phpBB Limited
Deutsche Übersetzung durch phpBB.de