Hi,
gibt es eine Funktion unter Unix, mit welcher ich meiner Applikation den Focus geben kann ? (auf Windows mit 'win32gui.SetForegroundWindow')
Gruss, Seven
win32gui.SetForegroundWindow Äqivalent für Unix ?
-
- User
- Beiträge: 408
- Registriert: Freitag 7. Oktober 2005, 14:37
- Wohnort: Berlin
- Kontaktdaten:
naja, das hängt doch wahrscheinlich vom Toolkit ab? Bei GTK zum Beispiel nutzt man dazu window.present()
Schöne Grüße,
Daniel
Schöne Grüße,
Daniel
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Das Toolkit wrappt vermutlich sowieso nur die vorgesehenen Funktionen der NETWM-Spezifikation. Unter Unices kannst du dir aber nicht sicher sein ob das Fenster tatsächlich auch in den Fokus kommt - schließlich steht es dem WM frei, die Spezifikation zu ignorieren.Barabbas hat geschrieben:naja, das hängt doch wahrscheinlich vom Toolkit ab? Bei GTK zum Beispiel nutzt man dazu window.present()
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
- gerold
- Python-Forum Veteran
- Beiträge: 5555
- Registriert: Samstag 28. Februar 2004, 22:04
- Wohnort: Oberhofen im Inntal (Tirol)
- Kontaktdaten:
Hallo Seven!snakeseven hat geschrieben:Applikation den Focus geben
Die "xlib" kennt die Funktion "XRaiseWindow". Ich glaube, damit könnte so etwas möglich sein. Man müsste es mal ausprobieren.
Hier die Hilfe zu XRaiseWindow: http://tronche.com/gui/x/xlib/window/XRaiseWindow.html
In diesem Beispiel http://www.python-forum.de/post-131557.html#131557 siehst du, wie man eine Referenz auf das "Display"-Objekt bekommt. Leider weiß ich nicht, wie man zu einer Referenz des "Window"-Objektes kommt, welches man anzeigen möchte.
Ziemlich wage, die Sache...
lg
Gerold
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
-
- User
- Beiträge: 408
- Registriert: Freitag 7. Oktober 2005, 14:37
- Wohnort: Berlin
- Kontaktdaten:
Sorry, unter wxPython meine ich. Aber ich werd mich mal mit XRaiseWindow beschäftigen.
Grüße, Seven
Grüße, Seven
- gerold
- Python-Forum Veteran
- Beiträge: 5555
- Registriert: Samstag 28. Februar 2004, 22:04
- Wohnort: Oberhofen im Inntal (Tirol)
- Kontaktdaten:
Hallo Seven!snakeseven hat geschrieben:unter wxPython meine ich
du kannst das Frame "modal" machen. Dann kommt kein anderes Fenster drüber. Habe jetzt keine Zeit mehr. Suche dir selber aus dem Code raus, was du brauchen kannst.
Code: Alles auswählen
def show_menu_frame(self):
"""
Zeigt das Menüfenster an.
"""
if DEBUG:
log.debug("show_menu_frame (start)")
# Menüfenster anzeigen
menuframe = MenuFrame(app = self)
self.menuframe = menuframe
if settings.get("global_full_screen_windows"):
menuframe.ShowFullScreen(
True, style = wx.FULLSCREEN_ALL ^ (
wx.FULLSCREEN_NOSTATUSBAR | wx.FULLSCREEN_NOMENUBAR
)
)
else:
menuframe.Show()
if settings.get("global_maximize_windows"):
menuframe.Maximize()
menuframe.MakeModal()
Gerold
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.