change click on systray behaviour. left click always toggle roster appearance, middle lcick to open pending events. fixes #2932

This commit is contained in:
Yann Leboulanger 2007-02-15 22:15:37 +00:00
parent 3fd9792b20
commit d7f5885778
1 changed files with 14 additions and 19 deletions

View File

@ -267,8 +267,7 @@ class Systray:
def on_left_click(self):
win = gajim.interface.roster.window
if len(gajim.events.get_systray_events()) == 0:
# no pending events, so toggle visible/hidden for roster window
# toggle visible/hidden for roster window
if win.get_property('visible'): # visible in ANY virtual desktop?
# we could be in another VD right now. eg vd2
@ -281,8 +280,6 @@ class Systray:
# because user wants to see roster
win.deiconify()
win.present()
else:
self.handle_first_event()
def handle_first_event(self):
account, jid, event = gajim.events.get_first_systray_event()
@ -291,11 +288,9 @@ class Systray:
def on_middle_click(self):
'''middle click raises window to have complete focus (fe. get kbd events)
but if already raised, it hides it'''
win = gajim.interface.roster.window
if win.is_active(): # is it fully raised? (eg does it receive kbd events?)
win.hide()
else:
win.present()
if len(gajim.events.get_systray_events()) == 0:
return
self.handle_first_event()
def on_clicked(self, widget, event):
self.on_tray_leave_notify_event(widget, None)