如何集中GNOME弹出通知?

时间:2009-04-22 18:56:06

标签: python user-interface gtk pynotify

在屏幕上(使用Python)在(200,400)显示GNOME弹出通知:

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 个答案:

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

答案 1 :(得分: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]

答案 2 :(得分:-4)

在Windows上

      from win32api import GetSystemMetrics
      width = GetSystemMetrics (0)
      height = GetSystemMetrics (1)
      print "Screen resolution = %dx%d" % (width, height)

我似乎无法找到它的linux版本。