# HG changeset patch
# User Kipling Inscore <[email protected]>
# Date 1273253666 25200
# Node ID 02a11677e8011e7044c1f3ef2931792174d2d6e2
# Parent 604e612777eab521c7f92450a90cbd2b6fbb53d1
Added -t|--tray <TrayClass> option to partiwm
Changed CompositeTest to CompositeTestTray for consistency
diff -r 604e612777ea -r 02a11677e801 parti/parti_main.py
--- a/parti/parti_main.py Wed Feb 17 18:47:28 2010 -0800
+++ b/parti/parti_main.py Fri May 07 10:34:26 2010 -0700
@@ -20,8 +20,8 @@
from parti.bus import PartiDBusService
class Parti(object):
- def __init__(self, replace_other_wm):
- self._wm = Wm("Parti", replace_other_wm)
+ def __init__(self, options):
+ self._wm = Wm("Parti", options.replace)
self._wm.connect("new-window", self._new_window_signaled)
self._wm.connect("quit", self._wm_quit)
@@ -33,11 +33,12 @@
self._wm.get_property("toplevel").add(self._world_organizer)
self._world_organizer.show_all()
- # FIXME: be less stupid
- #from parti.trays.simpletab import SimpleTabTray
- #self._trays.new(u"default", SimpleTabTray)
- from parti.trays.compositetest import CompositeTest
- self._trays.new(u"default", CompositeTest)
+ ltray = options.tray.lower()
+ # __import__ returns topmost module and getattr will not get
sub-modules not imported
+ # thus (using these two functions) the module path must be specified
twice
+ dynmodule = getattr(getattr(__import__('parti.trays.' + ltray),
'trays'), ltray)
+ dynclass = getattr(dynmodule, options.tray + "Tray")
+ self._trays.new(u"default", dynclass)
self._root_hotkeys = HotkeyManager(gtk.gdk.get_default_root_window())
self._root_hotkeys.add_hotkeys({"<shift><alt>r": "repl"})
diff -r 604e612777ea -r 02a11677e801 parti/scripts/main.py
--- a/parti/scripts/main.py Wed Feb 17 18:47:28 2010 -0800
+++ b/parti/scripts/main.py Fri May 07 10:34:26 2010 -0700
@@ -14,6 +14,9 @@
parser.add_option("--replace", action="store_true",
dest="replace", default=False,
help="Replace any running window manager with Parti")
+ parser.add_option("-t", "--tray",
+ dest="tray", default="CompositeTest",
+ help="Set default tray type")
(options, args) = parser.parse_args(cmdline[1:])
# This means, if an exception propagates to the gtk mainloop, then pass it
@@ -22,7 +25,7 @@
os.environ["PYGTK_FATAL_EXCEPTIONS"] = "1"
try:
- p = parti.parti_main.Parti(options.replace)
+ p = parti.parti_main.Parti(options)
p.main()
except:
if "_PARTI_PDB" in os.environ:
diff -r 604e612777ea -r 02a11677e801 parti/trays/compositetest.py
--- a/parti/trays/compositetest.py Wed Feb 17 18:47:28 2010 -0800
+++ b/parti/trays/compositetest.py Fri May 07 10:34:26 2010 -0700
@@ -7,9 +7,9 @@
import parti.tray
from wimpiggy.window import WindowView
-class CompositeTest(parti.tray.Tray, gtk.HPaned):
+class CompositeTestTray(parti.tray.Tray, gtk.HPaned):
def __init__(self, trayset, tag):
- super(CompositeTest, self).__init__(trayset, tag)
+ super(CompositeTestTray, self).__init__(trayset, tag)
self.windows = []
# Hack to start the spacer in the middle of the window
self.set_position(gtk.gdk.screen_width() / 2)
_______________________________________________
Parti-discuss mailing list
[email protected]
http://lists.partiwm.org/cgi-bin/mailman/listinfo/parti-discuss