Hey Geir,
This was a bit pesky to write due to a bug in OSX affecting changing the index of windows in an application, but it's working.
The script is run from an 'Execute AppleScript' Action in Keyboard Maestro.
It will run faster if you save it as an AppleScript FILE using the Applescript Editor (pre-Yosemite) or the Script Editor (Yosemite) — then run it as a script file instead of as a text-script.
-Chris
-----------------------------------------------------------------
# Auth: Christopher Stone <scriptmeister@thestoneforge.com>
# dCre: 2015/05/14 12:30
# dMod: 2015/05/14 13:21
# Appl: Google Chrome, System Events
# Task: Bring Chrome Tab with Gmail to front if it exists - otherwise open Gmail in new window.
# Libs: None
# Osax: None
# Tags: @Applescript, @Script, @Google_Chrome, @System_Events, @GMail, @Open, @Switch, @Front
-----------------------------------------------------------------
set _win to false
tell application "Google Chrome"
set {idList, urlList} to {id, URL} of every tab of every window
end tell
set AppleScript's text item delimiters to return
if (urlList as text) contains "https://mail.google.com/mail/" = true then
set theWin to 1
repeat with i in urlList
set theTab to 1
repeat with n in i
if n starts with "https://mail.google.com/mail/" then
set {_win, _tab} to {theWin, theTab}
end if
set theTab to theTab + 1
end repeat
set theWin to theWin + 1
end repeat
end if
if _win ≠ false then
tell application "System Events"
if quit delay ≠ 0 then set quit delay to 0
tell process "Google Chrome"
perform action "AXRaise" of window _win
end tell
end tell
tell application "Google Chrome"
tell front window to set active tab index to _tab
end tell
else
tell application "Google Chrome"
set newWin to make new window
tell newWin to set URL of active tab to "https://mail.google.com/mail/u/0/?tab=wm#inbox"
end tell
end if
-----------------------------------------------------------------