Das Finden der Arbeitsbereich Größe (Bildschirmgröße weniger in der Taskleiste) mit GTK

StackOverflow https://stackoverflow.com/questions/502282

  •  20-08-2019
  •  | 
  •  

Frage

Wie erstellen Sie ein Hauptfenster, das den gesamten Bildschirm ausfüllt ohne dabei (oder abgedeckt wird), um die Taskleiste und ohne maximiert werden ? Ich kann mit der gesamten Bildschirmgröße finden und das Hauptfensters entsprechend mit diesem Satz:

window = gtk.Window()
screen = window.get_screen()
window.resize(screen.get_width(), screen.get_height())

aber der untere Rand des Fensters wird von der Taskleiste abgedeckt.

War es hilfreich?

Lösung

Sie sind völlig auf die Gnade der Fenster-Manager für diese und die zentrale Frage ist hier:

  

ohne maximiert werden

So haben wir mit einer Reihe von Hacks bleiben, weil im Grunde Maximierung und Redimensionierung sind zwei getrennte Dinge, damit Sie vielleicht in der Lage zu erinnern, wo es war, als es unmaximized ist.

Also, bevor ich Ihnen diese abscheulichen Hack zeigen, ich fordere Sie richtige Maximierung zu prüfen, verwenden und nur mit ihm glücklich sein.

So, hier geht:

import gtk

# Even I am ashamed by this
# Set up a one-time signal handler to detect size changes
def _on_size_req(win, req):
    x, y, w, h = win.get_allocation()
    print x, y, w, h   # just to prove to you its working
    win.disconnect(win.connection_id)
    win.unmaximize()
    win.window.move_resize(x, y, w, h)

# Create the window, connect the signal, then maximise it
w = gtk.Window()
w.show_all()
w.connection_id = w.connect('size-request', _on_size_req)
# Maximizing will fire the signal handler just once,
# unmaximize, and then resize to the previously set size for maximization.
w.maximize()

# run this monstrosity
gtk.main()

Andere Tipps

Haben Sie das Fenster meinen, dass Vollbild

Gtk hat Funktionen für Fenster Vollbild und zurück finden Sie unter gtk_window_fullscreen() und gtk_window_unfullscreen() .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top