4

要在屏幕上的 (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() 中。

4

3 回答 3

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()
于 2009-04-22T23:29:26.647 回答
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]
于 2009-04-22T19:43:02.650 回答
-4

在窗户上,

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

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

于 2009-04-22T19:00:28.617 回答