diff --git a/gajim/gtkgui_helpers.py b/gajim/gtkgui_helpers.py index 5df2a2729..325eb1cf0 100644 --- a/gajim/gtkgui_helpers.py +++ b/gajim/gtkgui_helpers.py @@ -316,39 +316,6 @@ def get_current_desktop(window): current_virtual_desktop_no = prop[2][0] return current_virtual_desktop_no -def possibly_move_window_in_current_desktop(window): - """ - Moves GTK window to current virtual desktop if it is not in the current - virtual desktop - - NOTE: Window is a GDK window. - """ - #TODO: property_get doesn't work: - #prop_atom = Gdk.Atom.intern('_NET_CURRENT_DESKTOP', False) - #type_atom = Gdk.Atom.intern("CARDINAL", False) - #w = Gdk.Screen.get_default().get_root_window() - #Gdk.property_get(w, prop_atom, type_atom, 0, 9999, False) - return False - if os.name == 'nt': - return False - - root_window = Gdk.Screen.get_default().get_root_window() - # current user's vd - current_virtual_desktop_no = get_current_desktop(root_window) - - # vd roster window is in - window_virtual_desktop = get_current_desktop(window.window) - - # if one of those is None, something went wrong and we cannot know - # VD info, just hide it (default action) and not show it afterwards - if None not in (window_virtual_desktop, current_virtual_desktop_no): - if current_virtual_desktop_no != window_virtual_desktop: - # we are in another VD that the window was - # so show it in current VD - window.present() - return True - return False - def file_is_locked(path_to_file): """ Return True if file is locked diff --git a/gajim/plugins/gui.py b/gajim/plugins/gui.py index 617fc6e1f..60d67093b 100644 --- a/gajim/plugins/gui.py +++ b/gajim/plugins/gui.py @@ -114,7 +114,6 @@ class PluginsWindow: app.plugin_manager.gui_extension_point('plugin_window', self) self.window.show_all() - gtkgui_helpers.possibly_move_window_in_current_desktop(self.window) def on_key_press_event(self, widget, event): if event.keyval == Gdk.KEY_Escape: diff --git a/gajim/statusicon.py b/gajim/statusicon.py index e9bed8fee..d4e1f6286 100644 --- a/gajim/statusicon.py +++ b/gajim/statusicon.py @@ -368,17 +368,12 @@ class StatusIcon: win = app.interface.roster.window if not app.events.get_systray_events(): # No pending events, so toggle visible/hidden for roster window - if win.get_property('visible') and (win.get_property( - 'has-toplevel-focus') or os.name == 'nt'): - # visible in ANY virtual desktop? - - # we could be in another VD right now. eg vd2 - # and we want to show it in vd2 - if not gtkgui_helpers.possibly_move_window_in_current_desktop( - win) and app.config.get('save-roster-position'): - x, y = win.get_position() - app.config.set('roster_x-position', x) - app.config.set('roster_y-position', y) + if win.get_property('visible'): + if win.get_property('has-toplevel-focus') or os.name == 'nt': + if app.config.get('save-roster-position'): + x, y = win.get_position() + app.config.set('roster_x-position', x) + app.config.set('roster_y-position', y) win.hide() # else we hide it from VD that was visible in else: if not win.get_property('visible'):