先来张图,这是修改之前的,拍的不太清楚,但是那道屏幕最上边的大黑边无比清晰:
看了下deepin-scrot的源码, 发现是python + pygtk写的。
调试了几遍,问题最终定位在mainscrot.py的创建截屏window上。
原始代码:
# Init window.
self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
self.window.fullscreen()
self.window.set_icon_from_file("../theme/logo/deepin-scrot.ico")
self.window.set_keep_above(True)
这段是初始化截图窗口的过程。
创建window后
self.window.fullscreen() 窗口默认设置当前的屏幕大小。
这个问题有点诡异,可能是pygtk的fullscreen()和gnome3的顶栏问题,现在还没搞明白。
# Init window.
self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
self.window.fullscreen()
# 重新设置窗口大小
# 其中screenWidth和screenHeight是window.py中的变量,获取当前的屏幕宽高
self.window.set_default_size(screenWidth, screenHeight)
self.window.set_icon_from_file("../theme/logo/deepin-scrot.ico")
self.window.set_keep_above(True)
保存再运行,完美。