Philipp Hörist pushed to branch master at gajim / gajim
Commits: 17fe5225 by lovetox at 2022-06-27T22:19:35+02:00 fix: GtkStatusIcon: Always show when Gajim has not toplevel focus
- - - - -
1 changed file:
- gajim/gtk/status_icon.py
Changes:
===================================== gajim/gtk/status_icon.py ===================================== @@ -188,9 +188,6 @@ def _on_sounds_mute(widget: Gtk.CheckMenuItem) -> None: app.settings.set('sounds_on', not widget.get_active())
def _on_toggle_window(self, _widget: Gtk.MenuItem) -> None: - self._on_activate() - - def _on_activate(self, *args: Any) -> None: if app.window.is_minimized(): app.window.unminimize() elif app.window.is_withdrawn(): @@ -258,17 +255,22 @@ def _on_size_changed(self, self.update_state()
def _on_popup_menu(self, - _status_icon: Gtk.StatusIcon, + status_icon: Gtk.StatusIcon, button: int, activate_time: int) -> None: - if button == 1: - self._on_activate() - elif button == 2: - self._on_activate() + + if button in (1, 2): + self._on_activate(status_icon) elif button == 3: - self._build_menu(activate_time) + self._build_menu(button, activate_time) + + def _on_activate(self, _status_icon: Gtk.StatusIcon) -> None: + if app.window.has_toplevel_focus(): + app.window.hide() + else: + app.window.show()
- def _build_menu(self, event_time: int) -> None: + def _build_menu(self, button: int, event_time: int) -> None: for menu in self._popup_menus: menu.destroy()
@@ -289,7 +291,7 @@ def _build_menu(self, event_time: int) -> None:
self._ui.systray_context_menu.show_all() self._ui.systray_context_menu.popup( - None, None, None, None, 0, event_time) + None, None, None, None, button, event_time)
class AppIndicator(GtkMenuBackend):
View it on GitLab: https://dev.gajim.org/gajim/gajim/-/commit/17fe52257359b0e616f03fefe092fe67b...