? deskbar/aligned_window.py Index: deskbar/applet.py =================================================================== RCS file: /cvs/gnome/deskbar-applet/deskbar/applet.py,v retrieving revision 1.24 diff -u -p -r1.24 applet.py --- deskbar/applet.py 16 Oct 2005 20:57:59 -0000 1.24 +++ deskbar/applet.py 16 Oct 2005 22:05:24 -0000 @@ -7,6 +7,8 @@ import deskbar, deskbar.deskbarentry, de from deskbar.module_list import ModuleLoader, ModuleList, ModuleLoader from deskbar.preferences import update_modules_priority +import aligned_window + class DeskbarApplet: def __init__(self, applet): self.applet = applet @@ -23,13 +25,16 @@ class DeskbarApplet: self.loader.connect ("module-initialized", self.module_list.module_toggled_cb) self.loader.connect ("module-initialized", self.on_module_initialized) self.loader.connect ("module-stopped", self.module_list.module_toggled_cb) - + self.entry = deskbar.deskbarentry.DeskbarEntry(self.module_list) self.entry.get_evbox().connect("button-press-event", self.on_icon_button_press) self.entry.get_entry().connect("button-press-event", self.on_entry_button_press) self.loader.connect ("module-initialized", self.entry._connect_if_async) self.on_applet_sensivity_update(False) - + + self.dropdown = aligned_window.AlignedWindow(self.entry, self.applet.get_orient) + self.entry.add_to_dropdown(self.dropdown) + self.keybinder = deskbar.applet_keybinder.AppletKeybinder(self) # Set and retreive entry width from gconf Index: deskbar/deskbarentry.py =================================================================== RCS file: /cvs/gnome/deskbar-applet/deskbar/deskbarentry.py,v retrieving revision 1.17 diff -u -p -r1.17 deskbarentry.py --- deskbar/deskbarentry.py 16 Oct 2005 20:57:59 -0000 1.17 +++ deskbar/deskbarentry.py 16 Oct 2005 22:05:25 -0000 @@ -94,6 +94,24 @@ class DeskbarEntry(deskbar.iconentry.Ico completion.pack_start(renderer) completion.add_attribute(renderer, "markup", ACTION_COL) + def add_to_dropdown(self, dropdown): + tv = gtk.TreeView(self._completion_model) + tv.show() + dropdown.add(tv) + + renderer = gtk.CellRendererPixbuf() + column_icon = gtk.TreeViewColumn ("Icon", renderer) + column_icon.set_attributes (renderer, pixbuf=ICON_COL) + + renderer = gtk.CellRendererText () + column_description = gtk.TreeViewColumn ("Description", renderer) + column_description.set_attributes (renderer, markup=ACTION_COL) + + tv.append_column(column_icon) + tv.append_column(column_description) + + self.dropdown = dropdown + def get_evbox(self): return self._evbox @@ -235,6 +253,8 @@ class DeskbarEntry(deskbar.iconentry.Ico self._append_matches (result) else: self._append_matches (matches) + + self.dropdown.show() def _append_matches (self, matches): """