如何創建填充整個桌面無覆蓋(或通過被覆蓋),任務欄和沒有被最大化主窗口工作區尺寸(屏幕尺寸更小的任務欄)?我可以找到整個屏幕大小,並相應地設置主窗口:查找使用GTK
window = gtk.Window()
screen = window.get_screen()
window.resize(screen.get_width(), screen.get_height())
但窗口的底部被任務欄覆蓋。
如何創建填充整個桌面無覆蓋(或通過被覆蓋),任務欄和沒有被最大化主窗口工作區尺寸(屏幕尺寸更小的任務欄)?我可以找到整個屏幕大小,並相應地設置主窗口:查找使用GTK
window = gtk.Window()
screen = window.get_screen()
window.resize(screen.get_width(), screen.get_height())
但窗口的底部被任務欄覆蓋。
你是完全在這個窗口管理器的憐憫,這裏的關鍵問題是:
沒有被最大化
所以我們留下了許多的黑客,因爲基本上最大化和調整大小是兩個單獨的事情,以便您可以記住它未被最大化時的位置。因此,在我向你展示這個可怕的黑客攻擊之前,我敦促你考慮使用適當的最大化,並對它感到滿意。
所以這裏有雲:
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()
你的意思是使窗口全屏?
Gtk具有製作窗口全屏和背面的功能,請參見gtk_window_fullscreen()
和gtk_window_unfullscreen()
。
阿里,這真是太可怕了! – 2009-02-04 10:11:16