[kupfer] Recenter main interface when monitor config changes



commit 1da7943e45beb049d676a2035d5f0b5f7a060903
Author: Ulrik Sverdrup <ulrik sverdrup gmail com>
Date:   Mon Nov 1 22:18:53 2010 +0100

    Recenter main interface when monitor config changes

 kupfer/ui/browser.py |    9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)
---
diff --git a/kupfer/ui/browser.py b/kupfer/ui/browser.py
index b11d7de..47645ec 100644
--- a/kupfer/ui/browser.py
+++ b/kupfer/ui/browser.py
@@ -1531,6 +1531,11 @@ class WindowController (pretty.OutputMixin):
 	def result_callback(self, sender, result_type):
 		self.activate()
 
+	def _window_recenter(self, *args):
+		"""Recenter window on event"""
+		# Temporarily make the window centering again
+		self.window.set_position(gtk.WIN_POS_CENTER)
+
 	def _lost_focus(self, window, event):
 		setctl = settings.GetSettingsController()
 		if setctl.get_close_on_unfocus():
@@ -1682,6 +1687,10 @@ class WindowController (pretty.OutputMixin):
 		client.connect("save-yourself", self._session_save)
 		client.connect("die", self._session_die)
 
+		# GTK Screen callbacks
+		scr = gtk.gdk.screen_get_default()
+		scr.connect("monitors-changed", self._window_recenter)
+
 		self.output_debug("finished lazy_setup")
 
 	def main(self, quiet=False):



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]