From 9ed0edf331e8163529ebe26eca3c588da072a326 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philipp=20H=C3=B6rist?= <philipp@hoerist.com> Date: Fri, 2 Feb 2018 00:18:10 +0100 Subject: [PATCH] Port ipython command from gajim-remote --- gajim/app_actions.py | 12 ++++++++++++ gajim/gajim.py | 12 ++++++++++++ 2 files changed, 24 insertions(+) diff --git a/gajim/app_actions.py b/gajim/app_actions.py index 7aa35bcc1a..3bdfdc809e 100644 --- a/gajim/app_actions.py +++ b/gajim/app_actions.py @@ -274,3 +274,15 @@ class AppActions(): app.interface.handle_event(dict_['account'], dict_['jid'], dict_['type_']) + + # Other Actions + + def toggle_ipython(self, action, param): + """ + Show/hide the ipython window + """ + win = app.ipython_window + if win and win.window.is_visible(): + win.present() + else: + app.interface.create_ipython_window() diff --git a/gajim/gajim.py b/gajim/gajim.py index c0915ae0b6..4229aad638 100644 --- a/gajim/gajim.py +++ b/gajim/gajim.py @@ -91,6 +91,9 @@ class GajimApplication(Gtk.Application): self.add_main_option('warnings', ord('w'), GLib.OptionFlags.NONE, GLib.OptionArg.NONE, _('Show all warnings')) + self.add_main_option('ipython', ord('i'), GLib.OptionFlags.NONE, + GLib.OptionArg.NONE, + _('open ipython shell')) self.connect('handle-local-options', self._handle_local_options) self.connect('startup', self._startup) @@ -294,6 +297,11 @@ class GajimApplication(Gtk.Application): app_id = '%s.%s' % (self.get_application_id(), profile) self.set_application_id(app_id) self.profile = profile + + # Register the Application, so it knows if its primary or not + # This is needed so we can execute actions on the remote instance + self.register(None) + if options.contains('separate'): self.profile_separation = True if options.contains('config-path'): @@ -311,6 +319,9 @@ class GajimApplication(Gtk.Application): logging_helpers.set_loglevels(loglevel) if options.contains('warnings'): self.show_warnings() + if options.contains('ipython'): + self.activate_action('ipython') + return 0 return -1 def show_warnings(self): @@ -386,6 +397,7 @@ class GajimApplication(Gtk.Application): ('content', action.on_contents), ('about', action.on_about), ('faq', action.on_faq), + ('ipython', action.toggle_ipython), ] act = Gio.SimpleAction.new('add-contact', GLib.VariantType.new('s')) -- GitLab