id summary reporter owner description type status priority milestone component version resolution keywords cc 2493 Add Torrent dialog does not display when screen does not have an active workspace. namtabmai "== Setup. == * Multi-monitor setup - 3 monitors * WM - i3 * Firefox on 1st workspace of 1 screen * Deluge-gtk 1.3.7 on 6th workspace of 2 screen. * Firefox has been configured to use Deluge-gtk for magnet links. == Tests == * With deluge-gtk being on the active, visible ''first'' workspace on the second monitor. Clicking on '''Add Torrent''' button the ""Add Torrent"" dialog appears. * With deluge-gtk being on the inactive, visible ''first'' workspace on the second monitor. Clicking on magnet links in the Firefox on the first screen works. Deluge becomes active and the ""Add Torrent"" dialog appears. * With deluge-gtk being on the inactive, visible ''second'' workspace on the second monitor. Clicking on magnet links in the Firefox on the first screen does not work, no ""Add Torrent"" dialog appears. The workspace icon flashes to show that deluge-gtk has activated but the workspace isn't automatically switched to and on manually switching to it there is no dialog present. Trackback {{{ File ""/usr/lib/python2.7/site-packages/twisted/protocols/policies.py"", line 120, in dataReceived self.wrappedProtocol.dataReceived(data) File ""/usr/lib/python2.7/site-packages/deluge/ui/client.py"", line 179, in dataReceived d.callback(request[2]) File ""/usr/lib/python2.7/site-packages/twisted/internet/defer.py"", line 382, in callback self._startRunCallbacks(result) File ""/usr/lib/python2.7/site-packages/twisted/internet/defer.py"", line 490, in _startRunCallbacks self._runCallbacks() --- --- File ""/usr/lib/python2.7/site-packages/twisted/internet/defer.py"", line 577, in _runCallbacks current.result = callback(current.result, *args, **kw) File ""/usr/lib/python2.7/site-packages/deluge/ui/gtkui/addtorrentdialog.py"", line 199, in _on_config_values self._show(focus) File ""/usr/lib/python2.7/site-packages/deluge/ui/gtkui/addtorrentdialog.py"", line 172, in _show if component.get(""MainWindow"").is_on_active_workspace(): File ""/usr/lib/python2.7/site-packages/deluge/ui/gtkui/mainwindow.py"", line 315, in is_on_active_workspace return win.is_on_workspace(win.get_screen().get_active_workspace()) exceptions.TypeError: Wnck.Window.is_on_workspace() argument 1 must be wnck.Workspace, not None }}} Appears to be an assuming that a screen always has an active workspace, which in the case of multiple monitors might not always be true. I changed check at the end of '''mainwindow.py'' to be {{{ if win.get_screen().get_active_workspace() is not None: return win.is_on_workspace(win.get_screen().get_active_workspace()) else: return False }}} which fixes the issue. Not entirely sure of the required behaviour here, perhaps deluge-gtk should be activating the workspace on that monitor, but '''WnckScreen''' doesn't appear to have a '''set_active_workspace''' function or anything approaching that. " bug closed minor 1.3.8 GTK UI 1.3.7 Fixed