#!/usr/bin/env python

import gtk
import xfce4.gui

def patch_gtk_window_center(window):
	window.realize()

	screen = window.get_screen()
	num = screen.get_monitor_at_window(window.window)
	geometry = screen.get_monitor_geometry(num)

	width, height = window.get_size()

	x = geometry.x + (geometry.width - width) / 2
	y = geometry.y + (geometry.height - height) / 2

	window.move(x, y)


dialog = gtk.Dialog("Test 1", buttons=(gtk.STOCK_REFRESH, gtk.RESPONSE_OK, gtk.STOCK_CLOSE, gtk.RESPONSE_CLOSE))
dialog.move(10, 10)
dialog.set_default_size(500, 300)

label = gtk.Label("Test 1")
dialog.vbox.pack_start(label, False, True, 0)
label.show()

xfce4.gui.gtk_window_center_on_monitor_with_pointer(dialog)

while dialog.run() == gtk.RESPONSE_OK:
	xfce4.gui.gtk_window_center_on_monitor_with_pointer(dialog)
dialog.hide()
dialog.destroy()


dialog = gtk.Dialog("Test 2", buttons=(gtk.STOCK_REFRESH, gtk.RESPONSE_OK, gtk.STOCK_CLOSE, gtk.RESPONSE_CLOSE))
dialog.move(10, 10)
dialog.set_default_size(500, 300)

label = gtk.Label("Test 2")
dialog.vbox.pack_start(label, False, True, 0)
label.show()

patch_gtk_window_center(dialog)

while dialog.run() == gtk.RESPONSE_OK:
	patch_gtk_window_center(dialog)
dialog.hide()
dialog.destroy()
