don't kill the shell when a non-activity window is brought to front
(cherry picked from 5f03e1deb014d91af7deea5051011a67bc2dde5c commit)
This commit is contained in:
parent
0c47294dbd
commit
880842dd86
@ -134,23 +134,30 @@ class Shell(gobject.GObject):
|
|||||||
|
|
||||||
def __active_window_changed_cb(self, screen):
|
def __active_window_changed_cb(self, screen):
|
||||||
window = screen.get_active_window()
|
window = screen.get_active_window()
|
||||||
|
if not window or window.get_window_type() != wnck.WINDOW_NORMAL:
|
||||||
|
return
|
||||||
|
if not self._hosts.has_key(window.get_xid()):
|
||||||
|
return
|
||||||
|
|
||||||
if window and window.get_window_type() == wnck.WINDOW_NORMAL:
|
activity_host = self._hosts[window.get_xid()]
|
||||||
activity_host = self._hosts[window.get_xid()]
|
current = self._model.get_current_activity()
|
||||||
current = self._model.get_current_activity()
|
if activity_host.get_id() == current:
|
||||||
if activity_host.get_id() == current:
|
return
|
||||||
return
|
|
||||||
|
|
||||||
self._set_current_activity(activity_host)
|
self._set_current_activity(activity_host)
|
||||||
|
|
||||||
def __window_closed_cb(self, screen, window):
|
def __window_closed_cb(self, screen, window):
|
||||||
if window.get_window_type() == wnck.WINDOW_NORMAL:
|
if window.get_window_type() != wnck.WINDOW_NORMAL:
|
||||||
if self._hosts.has_key(window.get_xid()):
|
return
|
||||||
host = self._hosts[window.get_xid()]
|
|
||||||
host.destroy()
|
|
||||||
|
|
||||||
self.emit('activity-closed', host)
|
if not self._hosts.has_key(window.get_xid()):
|
||||||
del self._hosts[window.get_xid()]
|
return
|
||||||
|
|
||||||
|
host = self._hosts[window.get_xid()]
|
||||||
|
host.destroy()
|
||||||
|
|
||||||
|
self.emit('activity-closed', host)
|
||||||
|
del self._hosts[window.get_xid()]
|
||||||
|
|
||||||
if len(self._hosts) == 0:
|
if len(self._hosts) == 0:
|
||||||
self._set_current_activity(None)
|
self._set_current_activity(None)
|
||||||
|
Loading…
Reference in New Issue
Block a user