Focus Stealing Prevention in KDE 3.5

Ich arbeite mit Ansys Workbench für KDE auf einem interaktiven Rechenknoten des Universitätsrechenzentrum der TU Ilmenau. Dort ist ein Red Hat Linux mit KDE 3.5 aufgesetzt und die Linux-Version der Simulationssoftware installiert. Der Zugriff erfolgt auf Basis einer VNC Server-Client Infrastruktur.

Aus der Workbench heraus kann man die verschiedenen Module laden, so auch den „Design Modeler“. Dahinter verbirgt sich nichts weiter als ein einfaches CAD-Modul, mit dem man die Geometrie für Strömungssimulationen definieren kann.

Doch jedes mal, wenn der Design Modeler startete, schien er sich sofort aufzuhängen. Alles deutete auf eine Art Freeze hin: das Bild erstarrte, die Maus bewegte sich noch, aber es ließ sich nichts im Fenster anklicken – das Fenster ließ sich auch nicht schließen oder minimieren. Durch den Vollbildmodus konnte ich auch nicht die anderen geöffneten Fenster sehen. Aus dieser Situation kam ich auch nur wieder mit der Holzhammermethode heraus.

Was war geschehen?

Wenn der Design Modeler startet, öffnet sich zunächst das Hauptfenster und kurz danach ein modales Fenster. Dort legt man seine Einheiten für die Geometrie fest. Leider geriet das immer wieder in den Hintergrund, sodass das Hauptfenster stets das Eingabefenster überdeckte. Solange das modale Fenster geöffnet ist, wird das Hauptfenster gegenüber Eingaben gesperrt. Selbst als ich wusste, dass dieses Fenster in Hintergrund ist, kam ich nicht an es heran.

ansysdesignmodeler

Das modale Fenster im Vordergrund blockiert das Hauptfenster im Hintergrund. Erst wenn es geschlossen wurde, kann man den Designmodeler benutzen. Wenn des Hauptfenster den Fokus des kleinen Fensters stiehlt, kann man den Dialog nicht beenden

Die Funktion „Focus Stealing Prevention“ verursacht dieses Problem. Das große Hauptfenster wird vor dem „Diebstahl“ der Fokussierung durch das kleine Fenster geschützt. Das führt dazu, dass man nicht mehr auf das modale Fenster (rot markiert) zugreifen und man somit auch nicht die „Sperre“ des Hauptfensters aufheben kann.

Wie kann man das verhindern?

Das Phänomen fällt in die Kategorie Focus Stealing und lässt sich unter KDE einfach verhindern. Man muss diese Funktion deaktivieren, was dazu führt, dass jedes neu geöffnete Fenster automatisch den Fokus bekommt. Eigentlich ist die Idee mit diesem Tool zur Vorbeugung gar nicht mal schlecht, doch leider behindert es mich bei der Arbeit stark. Folgende Schritte sind notwendig, um das Tool zu deaktivieren.

  1. Öffne kcontrol über die Tastenkombination Alt+F2 und die entsprechende Eingabe
  2. ArbeitsflächeFenstereigenschaftenAdvanced
  3. Stelle den Focus Stealing Prevention Level auf none und deaktiviere ihn dadurch.

focusstealingprevention

Damit bekommt jedes neu geöffnete Fenster automatisch den Fokus und bleibt folglich im Vordergrund. Mit Ansys für Linux kann der Prevention Manager offensichtlich nicht umgehen, weswegen dieser Fußweg notwendig wird.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *