Handle start of second instance
We bring the Roster Window to the front Gtk exits on return immediately
This commit is contained in:
parent
e7812cbd85
commit
815ecdcf47
|
@ -64,11 +64,18 @@ class GajimApplication(Gtk.Application):
|
||||||
self.profile = ''
|
self.profile = ''
|
||||||
self.config_path = None
|
self.config_path = None
|
||||||
self.profile_separation = False
|
self.profile_separation = False
|
||||||
|
self.interface = None
|
||||||
|
|
||||||
def do_startup(self):
|
def do_startup(self):
|
||||||
Gtk.Application.do_startup(self)
|
Gtk.Application.do_startup(self)
|
||||||
|
|
||||||
def do_activate(self):
|
def do_activate(self):
|
||||||
|
# If a second instance starts do_activate() is called
|
||||||
|
# We bringt the Roster window to the front, GTK exits afterwards.
|
||||||
|
if self.interface:
|
||||||
|
self.interface.roster.window.present()
|
||||||
|
return
|
||||||
|
|
||||||
Gtk.Application.do_activate(self)
|
Gtk.Application.do_activate(self)
|
||||||
|
|
||||||
if os.name == 'nt':
|
if os.name == 'nt':
|
||||||
|
@ -424,9 +431,8 @@ class GajimApplication(Gtk.Application):
|
||||||
|
|
||||||
check_paths.check_and_possibly_create_paths()
|
check_paths.check_and_possibly_create_paths()
|
||||||
|
|
||||||
interface = Interface()
|
self.interface = Interface()
|
||||||
interface.run(self)
|
self.interface.run(self)
|
||||||
|
|
||||||
|
|
||||||
def do_command_line(self, command_line: Gio.ApplicationCommandLine) -> int:
|
def do_command_line(self, command_line: Gio.ApplicationCommandLine) -> int:
|
||||||
Gtk.Application.do_command_line(self, command_line)
|
Gtk.Application.do_command_line(self, command_line)
|
||||||
|
|
Loading…
Reference in New Issue