[kupfer: 22/41] multihead: plugin for launching keyrelay service
- From: Ulrik Sverdrup <usverdrup src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [kupfer: 22/41] multihead: plugin for launching keyrelay service
- Date: Tue, 26 Apr 2011 17:14:39 +0000 (UTC)
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]