Philipp Hörist pushed to branch master at gajim / gajim

Commits:

1 changed file:

Changes:

  • gajim/gtk/status_icon.py
    ... ... @@ -188,9 +188,6 @@ def _on_sounds_mute(widget: Gtk.CheckMenuItem) -> None:
    188 188
             app.settings.set('sounds_on', not widget.get_active())
    
    189 189
     
    
    190 190
         def _on_toggle_window(self, _widget: Gtk.MenuItem) -> None:
    
    191
    -        self._on_activate()
    
    192
    -
    
    193
    -    def _on_activate(self, *args: Any) -> None:
    
    194 191
             if app.window.is_minimized():
    
    195 192
                 app.window.unminimize()
    
    196 193
             elif app.window.is_withdrawn():
    
    ... ... @@ -258,17 +255,22 @@ def _on_size_changed(self,
    258 255
             self.update_state()
    
    259 256
     
    
    260 257
         def _on_popup_menu(self,
    
    261
    -                       _status_icon: Gtk.StatusIcon,
    
    258
    +                       status_icon: Gtk.StatusIcon,
    
    262 259
                            button: int,
    
    263 260
                            activate_time: int) -> None:
    
    264
    -        if button == 1:
    
    265
    -            self._on_activate()
    
    266
    -        elif button == 2:
    
    267
    -            self._on_activate()
    
    261
    +
    
    262
    +        if button in (1, 2):
    
    263
    +            self._on_activate(status_icon)
    
    268 264
             elif button == 3:
    
    269
    -            self._build_menu(activate_time)
    
    265
    +            self._build_menu(button, activate_time)
    
    266
    +
    
    267
    +    def _on_activate(self, _status_icon: Gtk.StatusIcon) -> None:
    
    268
    +        if app.window.has_toplevel_focus():
    
    269
    +            app.window.hide()
    
    270
    +        else:
    
    271
    +            app.window.show()
    
    270 272
     
    
    271
    -    def _build_menu(self, event_time: int) -> None:
    
    273
    +    def _build_menu(self, button: int, event_time: int) -> None:
    
    272 274
             for menu in self._popup_menus:
    
    273 275
                 menu.destroy()
    
    274 276
     
    
    ... ... @@ -289,7 +291,7 @@ def _build_menu(self, event_time: int) -> None:
    289 291
     
    
    290 292
             self._ui.systray_context_menu.show_all()
    
    291 293
             self._ui.systray_context_menu.popup(
    
    292
    -            None, None, None, None, 0, event_time)
    
    294
    +            None, None, None, None, button, event_time)
    
    293 295
     
    
    294 296
     
    
    295 297
     class AppIndicator(GtkMenuBackend):