当前位置:  开发笔记 > 编程语言 > 正文

使用GTK查找工作区大小(屏幕大小减去任务栏)

如何解决《使用GTK查找工作区大小(屏幕大小减去任务栏)》经验,为你挑选了1个好方法。

如何创建一个填充整个桌面的主窗口,而不覆盖(或被任务栏覆盖)任务栏并且没有最大化?我可以找到整个屏幕尺寸并相应地设置主窗口:

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

但窗口的底部由任务栏覆盖.



1> Ali Afshar..:

你完全受到窗口管理员的支配,这里的关键问题是:

没有最大化

因此,我们留下了许多黑客,因为基本上最大化和调整大小是两个独立的事情,以便您可以记住它在未最大化时的位置.

所以在我向你展示这个可怕的黑客之前,我敦促你考虑使用适当的最大化并且对它感到满意.

所以这里:

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()


阿里,这真是太可怕了!
推荐阅读
云聪京初瑞子_617
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有