[kupfer: 22/41] multihead: plugin for launching keyrelay service



commit c0f30aca27da6b9533067c5532dd40d31d3a951f
Author: Ulrik Sverdrup <ulrik sverdrup gmail com>
Date:   Tue Apr 26 18:44:03 2011 +0200

    multihead: plugin for launching keyrelay service

 kupfer/plugin/multihead.py |   37 +++++++++++++++++++++++++++++++++++++
 1 files changed, 37 insertions(+), 0 deletions(-)
---
diff --git a/kupfer/plugin/multihead.py b/kupfer/plugin/multihead.py
new file mode 100644
index 0000000..c224407
--- /dev/null
+++ b/kupfer/plugin/multihead.py
@@ -0,0 +1,37 @@
+__kupfer_name__ = _("Multihead Support")
+__kupfer_sources__ = ()
+__description__ = ("Will run the keyboard shortcut relay service on additional"
+                   " X screens if needed.")
+__version__ = ""
+__author__ = ""
+
+import os
+
+import gtk
+
+from kupfer import pretty
+from kupfer import utils
+
+child_pids = []
+
+def initialize_plugin(name):
+	global pid
+	## check for multihead
+	display = gtk.gdk.display_get_default()
+	screen = display.get_default_screen()
+	if display.get_n_screens() > 1:
+		pretty.print_info(__name__, "Starting Multi X screen support")
+		for idx in xrange(display.get_n_screens()):
+			if idx != screen.get_number():
+				pretty.print_info(__name__, "Launching keyrelay for screen", idx)
+				screen_x = display.get_screen(idx)
+				# run helper without respawning it
+				pid = utils.start_plugin_helper("kupfer.keyrelay",
+						False, screen_x.make_display_name())
+				child_pids.append(pid)
+
+
+def finalize_plugin(name):
+	for pid in child_pids:
+		os.kill(pid, 1)
+	child_pids[:] = []



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