windowManager: Don't allow move-to-workspace for always-sticky windows

"Moving" a window to another workspace doesn't make sense when it cannot
be unstuck, and is potentially confusing if a new workspace is added at
the start/end - just don't do anything in that case.

https://bugzilla.gnome.org/show_bug.cgi?id=746782
This commit is contained in:
Florian Müllner 2015-03-25 23:35:36 +01:00
parent 9a01a7ae07
commit 14da6b68dc

View File

@ -1626,6 +1626,16 @@ const WindowManager = new Lang.Class({
let newWs; let newWs;
let direction; let direction;
if (action == 'move') {
// "Moving" a window to another workspace doesn't make sense when
// it cannot be unstuck, and is potentially confusing if a new
// workspaces is added at the start/end
if (window.is_always_on_all_workspaces() ||
(Meta.prefs_get_workspaces_only_on_primary() &&
window.get_monitor() != Main.layoutManager.primaryIndex))
return;
}
if (target == 'last') { if (target == 'last') {
direction = Meta.MotionDirection.DOWN; direction = Meta.MotionDirection.DOWN;
newWs = screen.get_workspace_by_index(screen.n_workspaces - 1); newWs = screen.get_workspace_by_index(screen.n_workspaces - 1);