Ich bin jetzt meinem Problem ein wenig näher gerückt. So wie es aussieht habe ich bei der Erzeugung des neuen Fensters auf SDL-Ebene keine Möglichkeit, den Tastaturfocus beim aufrufenden Programm zu belassen. SDL greift wohl auf die Standard-Libary Xlib (X11) zurück.
Zur Widerholung: Ich starte aus einem laufenden Hauptprogramm einen neuen Thread und in diesem neuem Thread eine Grafik (programmiert mit SDL). Sobald diese Grafik in einem neuen Fenster geöffnet wird übernimmt das neue Fenster den Focus und damit auch die Tastaturkontrolle. Die Tastatur soll aber weiterhin vom (jetzt im Hintergrund laufenden) Hauptprogramm abgefragt werden können.
Jetzt also meine neue Frage: Ist es unter X11 (xlib) möglich, den Focus nicht an das neue Fenster zu übergeben? Oder kann ich den Focus in ein laufendes Programm oder an eine Konsole (in der z. B das Hauptprogramm läuft) zurückgeben. Vielleicht gibt es ja auch unter xlib die Möglichkeit, sich den Focus vom neu erzeugten Fenster zurückzuholen.
Ich habe Funktionen wie z. B. XSetInputFocus() oder XGetInputFocus gefunden, weiß dann allerdings dabei nicht, welche Argumente ich dort einsetzten muss. Wie kann ich z. B. den Pointer der Konsole erfragen, auf den ich den Focus setzten will.
Bin für jede Hilfe dankbar, auch für Verweise auf Homepages oder andere Boards oder Foren.
Vielen Dank
stexie
"Programmieren unter Unix" Links
(okay, ich muss den FAQ Beitrag noch ein bisschen aufräumen und sortieren :))
--> http://www.ecst.csuchico.edu/~beej/guide/ipc/
nur machen die Treiber ab und zu Probleme und da sie im Kernel integriert sind, hatte ich auch schon versch. Kernel Panics, bei OpenGL Anwendungen (traten aber selten auf und nach dem rumfummeln an der X Konfiguration und upgrade der Treiber, läuft eigentlich alles perfekt)
HI
Danke erstmal für die Antwort.
Mittlerweile hab ich die Karte raugeschmissen und ne 3Com eigebaut.
Lag aber garnicht an den Karten sondern am Kabel.
Der Switch hat mir nen Link angezeigt. TCP dump hat gesagt das kein ARP-Reply kam.
Konnte nicht angepingt werden.
Naja kein Wunder wenns Kabel defekt ist.
Wundert mich nur das der Switch nen Link angezeigt hat.
Jetzt geht es jedenfalls.
Also trotzdem danke...
wenn du ps u aufrufst und ein prozess so
[kind <defunkt>]
aussieht hast du einen Zombieprozess.
Prozesse verwenden zum Beenden die return-Anweisung oder rufen die Funktion exit() mit einem Wert auf, der an das Betriebssystem zurückgeliefert wird. Das Betriebssystem lässt den Prozess so lange in seiner Prozesstabelle eingetragen, bis entweder der Elternprozess des Prozesses den zurückgelieferten Wert liest oder der Elternprozess selbst beendet wird. Ein Zombie-Prozess ist in diesem Sinne ein Prozess, der zwar beendet wurde, dessen Elternprozess den Exit-Wert des Kindes aber noch nicht gelesen hat. Erst wenn der Elternprozess beendet wird, wird auch der Zombie-Prozess aus der Prozesstabelle des Betriebssystems entfernt.
www.netzmafia.de/skripten/server/syscalls.html
MFG eiskalt
[ Dieser Beitrag wurde am 16.06.2003 um 12:20 Uhr von eiskalt editiert. ]
@Descartes
wie versprochen das Resuldat aus den Infos die du mir freitags gegeben hast.
Der Zugriff auf die Platte erfolgte im PIO-Mode und das noch mit 16bit. Mit hdparm eingestellt und auch in die boot.local (aus der SuSE URL) eingefügt ergab sich eine fühlbare Leistungsverbesserung. Mal sehen ob ich noch was finde.
Fürs erste jedenfalls schon mal herzlichen Dank für die Hilfe. Als Linux Greenhorn
hab ich wieder was gelernt.
Servus
void
Schau dir doch mal das Logfile vom Squid an dort steht zumeist ein wenig mehr drinn warum der Zugriff verhindert wurde. Ich gehe jetzt mal davon aus das es ein Rechteproblem ist aber das kommt nicht ganz aus deiner Beschreibung raus.
Joe
Ich weis nicht bei mir hat das YOU auch nicht funktioniert es hat zwar die server gefunden und dann auch fleisig gezogen aber dann irgendwann abgebrochen
Hab mir dan doch das 8.2 gekauft
MFG eiskalt
naja, um von der besseren Performance zu profitieren versuch ich gerade den 2.4.21er zu installieren, aber leider unterstützt die CryptoAPI noch nicht den 2.4.21er
btw. nutzt einer von euch den Kernel Automounter? Ich überleg gerade den zu installieren. Was macht der so? Mountet der nur CDs/DVDs?
hatte wohl -march=i686 gemacht, statt i586 (falls das wirklich der grund war) und
da hab ich alle 5 minuten kernel panic.
Definitiv, denn /me hatte selbiges beim Kernelbau gemacht (i586 statt i686).
mfg
v R
wenn du direkt X programmierst, dann hast du gar keine Buttons etc. die musst du dir erst zusammen basteln, deswegen lohnen sich Widget-Librarys auf jeden Fall (oder man hat nichts zu tun ;))
btw. schaut mal in die FAQ, da findet ihr Links zum Thema GUI Programmierung unter Unix
@DrGreenthumb
Ich fang dann immer an, was zu programmieren und am Ende bin ich nur am Wrapper basteln
so geht es mir auch. Ist teilweise ziemlich schade, dass es keine standardisierte C++ API gibt für Unix