如何将GNOME弹出通知居中?
要在屏幕的(200,400)位置显示一个GNOME弹出通知(使用Python):
import pynotify
n = pynotify.Notification("This is my title", "This is my description")
n.set_hint('x', 200)
n.set_hint('y', 400)
n.show()
我对gtk还不太熟悉。请问我怎么才能让这个通知显示在屏幕的正中间,或者在屏幕的底部中间呢?
也许我应该问的是“用什么Python代码可以获取Linux屏幕的尺寸?”然后我可以把这些尺寸放进set_hint()里,调整位置。
3 个回答
-4
在Windows上,
from win32api import GetSystemMetrics
width = GetSystemMetrics (0)
height = GetSystemMetrics (1)
print "Screen resolution = %dx%d" % (width, height)
不过我好像找不到它的Linux版本。
0
这有点像小技巧,但这样做是有效的:
from Tkinter import *
r = Tk()
r.withdraw()
width, height = r.winfo_screenwidth(), r.winfo_screenheight()
另外一个选择是:
from commands import getstatusoutput
status, output = getstatusoutput("xwininfo -root")
width = re.compile(r"Width: (\d+)").findall(output)[0]
height = re.compile(r"Height: (\d+)").findall(output)[0]
4
因为你在使用GNOME,这里有一种通过GTK获取屏幕分辨率的方法。
import gtk.gdk
import pynotify
n = pynotify.Notification("This is my title", "This is my description")
n.set_hint('x', gtk.gdk.screen_width()/2.)
n.set_hint('y', gtk.gdk.screen_height()/2.)
n.show()