[gnome-shell] autoWorkspaces: Merge empty workspaces with the always empty one
- From: Adel Gadllah <agadllah src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell] autoWorkspaces: Merge empty workspaces with the always empty one
- Date: Tue, 8 Mar 2011 18:46:56 +0000 (UTC)
commit e054dd7813db5c28bc808ec47c618ba8b62432e2
Author: Owen W. Taylor <otaylor fishsoup net>
Date: Wed Feb 16 21:07:45 2011 +0100
autoWorkspaces: Merge empty workspaces with the always empty one
When closing a workspace due to the last window on that workspace
closing, switch to the overview and show the always empty workspace
rather then just going to the adjacent workspace.
Based on a patch from Adel Gadllah <adel gadllah gmail com>.
https://bugzilla.gnome.org/show_bug.cgi?id=642188
js/ui/main.js | 16 ++++++++++++++++
1 files changed, 16 insertions(+), 0 deletions(-)
---
diff --git a/js/ui/main.js b/js/ui/main.js
index fc8acbd..a57ba24 100644
--- a/js/ui/main.js
+++ b/js/ui/main.js
@@ -262,12 +262,28 @@ function _checkWorkspaces() {
emptyWorkspaces.push(false);
}
+ let activeWorkspaceIndex = global.screen.get_active_workspace_index();
+ let currentWorkspaceEmpty = emptyWorkspaces[activeWorkspaceIndex];
+
+ if (currentWorkspaceEmpty) {
+ // "Merge" the empty workspace we are removing with the one at the end
+ wm.blockAnimations();
+ }
+
// Delete other empty workspaces; do it from the end to avoid index changes
for (i = emptyWorkspaces.length - 2; i >= 0; i--) {
if (emptyWorkspaces[i])
global.screen.remove_workspace(_workspaces[i], global.get_current_time());
}
+ if (currentWorkspaceEmpty) {
+ global.screen.get_workspace_by_index(global.screen.n_workspaces - 1).activate(global.get_current_time());
+ wm.unblockAnimations();
+
+ if (!overview.visible)
+ overview.show();
+ }
+
_checkWorkspacesId = 0;
return false;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]