change click on systray behaviour. left click always toggle roster appearance, middle lcick to open pending events. fixes #2932
This commit is contained in:
parent
3fd9792b20
commit
d7f5885778
|
@ -267,22 +267,19 @@ class Systray:
|
||||||
|
|
||||||
def on_left_click(self):
|
def on_left_click(self):
|
||||||
win = gajim.interface.roster.window
|
win = gajim.interface.roster.window
|
||||||
if len(gajim.events.get_systray_events()) == 0:
|
# toggle visible/hidden for roster window
|
||||||
# no pending events, so toggle visible/hidden for roster window
|
if win.get_property('visible'): # visible in ANY virtual desktop?
|
||||||
if win.get_property('visible'): # visible in ANY virtual desktop?
|
|
||||||
|
|
||||||
# we could be in another VD right now. eg vd2
|
# we could be in another VD right now. eg vd2
|
||||||
# and we want to show it in vd2
|
# and we want to show it in vd2
|
||||||
if not gtkgui_helpers.possibly_move_window_in_current_desktop(win):
|
if not gtkgui_helpers.possibly_move_window_in_current_desktop(win):
|
||||||
win.hide() # else we hide it from VD that was visible in
|
win.hide() # else we hide it from VD that was visible in
|
||||||
else:
|
|
||||||
# in Windows (perhaps other Window Managers too) minimize state
|
|
||||||
# is remembered, so make sure it's not minimized (iconified)
|
|
||||||
# because user wants to see roster
|
|
||||||
win.deiconify()
|
|
||||||
win.present()
|
|
||||||
else:
|
else:
|
||||||
self.handle_first_event()
|
# in Windows (perhaps other Window Managers too) minimize state
|
||||||
|
# is remembered, so make sure it's not minimized (iconified)
|
||||||
|
# because user wants to see roster
|
||||||
|
win.deiconify()
|
||||||
|
win.present()
|
||||||
|
|
||||||
def handle_first_event(self):
|
def handle_first_event(self):
|
||||||
account, jid, event = gajim.events.get_first_systray_event()
|
account, jid, event = gajim.events.get_first_systray_event()
|
||||||
|
@ -291,11 +288,9 @@ class Systray:
|
||||||
def on_middle_click(self):
|
def on_middle_click(self):
|
||||||
'''middle click raises window to have complete focus (fe. get kbd events)
|
'''middle click raises window to have complete focus (fe. get kbd events)
|
||||||
but if already raised, it hides it'''
|
but if already raised, it hides it'''
|
||||||
win = gajim.interface.roster.window
|
if len(gajim.events.get_systray_events()) == 0:
|
||||||
if win.is_active(): # is it fully raised? (eg does it receive kbd events?)
|
return
|
||||||
win.hide()
|
self.handle_first_event()
|
||||||
else:
|
|
||||||
win.present()
|
|
||||||
|
|
||||||
def on_clicked(self, widget, event):
|
def on_clicked(self, widget, event):
|
||||||
self.on_tray_leave_notify_event(widget, None)
|
self.on_tray_leave_notify_event(widget, None)
|
||||||
|
|
Loading…
Reference in New Issue