Pessoal, ao usar o bmpanel2 a barra nao fica no extremo do lado inferior, ele fica um pouco acima como se esperasse outra barra a baixo dela.
Alguém sabe em que linha do .conf dela eu arrumo isso?
Vou comentar o .conf pra vê se alguem acha
#----------------------------------------------------------------------
from threading import Thread
class ThemeDeferredLoader(Thread):
def __init__(self, view, model, callback):
Thread.__init__(self)
self.gui_view = view
self.gui_model = model
self.gui_callback = callback
def run(self):
view = self.gui_view
model = self.gui_model
themes = bmpanel2.Bmpanel2Themes()
gdk.threads_enter()
for t in themes.themes:
name = t.dirname
if t.name:
name = t.name
model.append((name, t, t.path))
current_theme = g_config.get_theme()
current_theme_num = 0
for i in xrange(len(model)):
if model[i][1].dirname == current_theme:
current_theme_num = i
break
if self.flags() & gtk.REALIZED:
self.window.move_resize(*allocation)
def _expose_event(self, widget, event):
gc = self.style.fg_gc[gtk.STATE_NORMAL]
for i in xrange(len(self.icons)):
icon = self.icons[i]
self._draw_icon_centered(icon.pixbuf, self.icon_size * i, i == self.active)
def _button_press_event(self, widget, event):
i = event.x / self.icon_size
if len(self.icons) > i and i >= 0:
self.active = int(i)
self._update_gui()
def remove(self, where_index):
assert(where_index >= 0 and where_index < len(self.icons))
commit_change = False
if self.icons[where_index].icon != None and self.icons[where_index].prog != None:
commit_change = True
del self.icons[where_index]
self._validate_active()
self._update_gui()
if commit_change:
self.changed_cb()
def change(self, where_index, prog, icon):
assert(where_index >= 0 and where_index < len(self.icons))
self.icons[where_index].set(prog, icon, self._load_pixbuf_for_icon(icon))
if prog != None and icon != None:
self.changed_cb()
self._update_gui()
def move(self, where_index, offset):
assert(where_index >= 0 and where_index < len(self.icons))
dest = where_index + offset
# clamp dest
if dest < 0:
dest = 0
if dest >= len(self.icons):
dest = len(self.icons)-1
if dest == where_index:
return
if offset > 0:
dest += 1
ic = self.icons[where_index]
self.icons.insert(dest, ic)
if offset > 0:
del self.icons[where_index]
elif offset < 0:
del self.icons[where_index+1]
self.active += offset
# clamp active
self._validate_active()
self.changed_cb()
self._update_gui()
# callback for changed event
def e1_edited(widget):
text = widget.get_text()
active = iconlist.active
if active != -1:
a = iconlist.icons[active]
iconlist.change(active, text, a.icon)
e1.connect('changed', e1_edited)
# callback for file dialog response event
def file_dialog_response(dialog, response):
filename = dialog.get_filename()
active = iconlist.active
if response != gtk.RESPONSE_OK:
if active != -1:
icon = iconlist.icons[active].icon
if icon:
e2.set_filename(iconlist.icons[active].icon)
else:
e2.unselect_all()
return
if active != -1:
a = iconlist.icons[active]
iconlist.change(active, a.prog, filename)
filedialog.connect('response', file_dialog_response)
# callback for iconlist
def active_changed_cb(active):
e1.handler_block_by_func(e1_edited)
if active != -1:
e1.set_sensitive(True)
e2.set_sensitive(True)
prog = iconlist.icons[active].prog
if prog:
e1.set_text(prog)
else:
e1.set_text("")
icon = iconlist.icons[active].icon
if icon:
e2.set_filename(icon)
else:
e2.unselect_all()
else:
e1.set_text("")
e2.unselect_all()
e1.set_sensitive(False)
e2.set_sensitive(False)
e1.handler_unblock_by_func(e1_edited)
iconlist.active_changed.append(active_changed_cb)
# add widgets to table
add_row("Program:", e1)
add_row("Icon:", e2)
def parse_items(self):
for i in g_launch:
self.items.append(LaunchbarItem(i.prog, i.icon))
def save_items(self):
lb = g_config.tree['launchbar']
children = lb.children[:]
for i in children:
g_config.tree.remove_node(i)
for i in self.iconlist.icons:
node = bmpanel2.ConfigNode(name="exec", value=i.prog)
g_config.tree.append_node_as_child(node, lb)
node2 = bmpanel2.ConfigNode(name="icon", value=i.icon)
g_config.tree.append_node_as_child(node2, node)
reconfigure()
if g_remote.started_with_theme:
d = gtk.MessageDialog(type=gtk.MESSAGE_WARNING, buttons=gtk.BUTTONS_OK)
d.set_markup("Bmpanel2 was started with <b>--theme</b> parameter. "
"It means it will not react on theme changes in the config file (via this tool or not).")
d.run()
d.destroy()