X11: Anwendung über Fullscreen Google Chrome legen


Bratkartoffel

gebratene Kartoffel
Premium-User
#1
Hi Leute,

bin inzwischen schon am verzweifeln, bekomme eine scheinbar simple Anwendung nicht richtig zum laufen.
Vorab ein paar Rahmeninfos:
- Debian stable, nackter X11 mit IceWM
- Google Chrome startet im Vollbildmodus
- Java Anwendung mit Swing-GUI läuft parallel
- Wird ein USB-Device angesteckt wird über die Java Anwendung ein JFrame geöffnet welcher über dem Chrome liegen und dort auch bleiben soll

Mein Problem nun:
Die Anwendung passt und macht eigentlich genau das, was ich will. Ich stecke mein Device an und das Fenster der Java Anwendung öffnet sich am unteren Bildschirmrand. Soweit so gut. Wenn ich nun aber auf die Webseite im Chrome klicke, verschwindet das Java Fenster in den Hintergrund.
Dies darf so nicht passieren, das Fenster muss im Vordergrund bleiben.

Was ich schon probiert / rausgefunden habe:
- Chrome legt sich laut xprop auf Layer 16, also ganz nach vorne
- Die Java Anwendung liegt auf Layer 6, wird aber trotzdem (solange sie den Fokus hat) vor dem Browser angezeigt
- Mit einem WindowListener kann ich focusLost() zwar abfangen und mit ein paar Tricks auch dafür sorgen dass die Anwendung wieder nach Vorne kommt, aber... Die Java Anwendung kann auch andere Programme (vorallem wicd zur WLAN Konfig) starten und bei diesen kann ich dann keine Eingaben in die Textfelder mehr machen weil das Java Programm immer den Focus stiehlt.
- Über xprop habe ich bereits versucht, die Java Anwendung auf Layer 16 zu schieben, jedoch ohne Erfolg.
- In der IceWM config habe ich über die winoptions schon den Chrome / die Java Anwendung mit anderen Layern gestartet, ohne Erfolg.

Nun habe ich noch eine letzte Idee:
Kann ich den Chrome mit der X-Geometry "--geometry 1024x768-xxx-yyy" oder so starten? Mir gehts darum dass die Adressleiste oben nicht sichtbar ist. So könnte ich den Vollbildmodus "simulieren" und die Java Anwendung würde im Vordergrund bleiben.

Ich weiß, dass dies ein sehr spezielles Problem ist und im Internet finde ich zu dem Thema nicht gerade viele Infos. Den Chrome brauche ich aber, da ich den aus dem Java-Programm fernsteuern muss (chromix). Wenn jemand einen anderen Browser kennt welchen man fernsteuern kann, dann bitte her mit den Infos ;)

Grüße,
BK
 

Bratkartoffel

gebratene Kartoffel
Premium-User
#3
Hi ikosaeder,

danke für die Vorschläge, mit dem Layer 16 liegst du korrekt. Sobald der Chrome mit Vollbild / Kiosk Modus gestartet wird, liegt er auf 16. Über xprop bekomme ich da aber keine X-ID, mit der ich das Layer nachträglich ändern könnte.

Ich will den Chrome so anzeigen, dass nur die Webseite gezeigt wird, ohne Adressleiste und der WM-Decoration, so auch meine Idee mit der X-Geometry, mit der ich den Chrome einfach so platzieren wollte, dass die Leiste ausserhalb des Bildschirms liegt.

Wenn ich Chrome normal starte, dann bleibt das Java Programm im Vordergrund (setAlwaysOnTop(true)), hier ist es kein Problem. Das Java Prog kann ich aber nicht Vollbild starten, weil das Ding ja wie ein "Addon" auf der Seite liegen soll. Die Bedienung der Seite im Hintergrund ist vom Kunden so gewünscht.

Selenium kenn ich schon länger, werde es mal mit Iceweasel probieren, vielleicht ist der nicht so ein Depp der sich auf Layer 16 schiebt ;-)

Grüße und Danke,
BK