Add Main.activateWindow() to remove some duplication

This commit is contained in:
Dan Winship
2009-09-21 16:29:37 -04:00
parent 110ef17e2d
commit 24d42adc04
2 changed files with 27 additions and 16 deletions

View File

@ -329,3 +329,25 @@ function currentTime() {
return Clutter.get_current_event_time();
}
/**
* activateWindow:
* @window: the Meta.Window to activate
* @time: (optional) current event time
*
* Activates @window, switching to its workspace first if necessary
*/
function activateWindow(window, time) {
let activeWorkspaceNum = global.screen.get_active_workspace_index();
let windowWorkspaceNum = window.get_workspace().index();
if (!time)
time = currentTime();
if (windowWorkspaceNum != activeWorkspaceNum) {
let workspace = global.screen.get_workspace_by_index(windowWorkspaceNum);
workspace.activate_with_focus(window, time);
} else {
window.activate(time);
}
}