Created
May 31, 2009 16:20
-
-
Save mguterl/120926 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
property numFFWindows : 0 | |
property FFPos : {} | |
property FFSize : {} | |
property numTermWindows : 0 | |
property TermPos : {} | |
property TermSize : {} | |
property iTunesPos : {} | |
property iTunesSize : {} | |
property EmacsPos : {} | |
property EmacsSize : {} | |
property TweetDeckPos : {} | |
property TweetDeckSize : {} | |
property iCalPos : 0 | |
property iCalSize : 0 | |
property AdiumContactsPos : 0 | |
property AdiumContactsSize : 0 | |
property AdiumIMSize : 0 | |
property AdiumIMPos : 0 | |
property OFPos : 0 | |
property OFSize : 0 | |
display dialog "Set Window Position or Save Window Position?" buttons {"Restore", "Save"} default button "Restore" | |
set theResult to result | |
tell application "System Events" | |
if (button returned of theResult is "Restore") then | |
-- Restore Settings | |
if (numFFWindows > 0) then | |
tell process "Firefox" | |
repeat with i from 1 to numFFWindows | |
set position of window i to (item i of FFPos) | |
set size of window i to (item i of FFSize) | |
end repeat | |
end tell | |
end if | |
if (numTermWindows > 0) then | |
tell process "Terminal" | |
repeat with i from 1 to numTermWindows | |
set position of window i to (item i of TermPos) | |
set size of window i to (item i of TermSize) | |
end repeat | |
end tell | |
end if | |
if (iTunesPos is not {0, 0}) then | |
tell process "iTunes" | |
set position of window 1 to iTunesPos | |
set size of window 1 to iTunesSize | |
end tell | |
end if | |
if (EmacsPos is not {0, 0}) then | |
tell process "Emacs" | |
set position of window 1 to EmacsPos | |
set size of window 1 to EmacsSize | |
end tell | |
end if | |
if (iCalPos is not {0, 0}) then | |
tell process "iCal" | |
set position of window 1 to iCalPos | |
set size of window 1 to iCalSize | |
end tell | |
end if | |
if (OFPos is not {0, 0}) then | |
tell process "OmniFocus" | |
set position of window 1 to OFPos | |
set size of window 1 to OFSize | |
end tell | |
end if | |
if (AdiumContactsPos is not {0, 0}) then | |
tell process "Adium" | |
set position of window "Contacts" to AdiumContactsPos | |
set size of window "Contacts" to AdiumContactsSize | |
repeat with i from 1 to (count windows) | |
if ((window i) is not (window "Contacts")) then | |
set position of window i to AdiumIMPos | |
set size of window i to AdiumIMSize | |
end if | |
end repeat | |
end tell | |
end if | |
else | |
-- Save Settings | |
tell process "Firefox" | |
set numFFWindows to count windows | |
set FFPos to {} | |
set FFSize to {} | |
repeat with i from 1 to numFFWindows | |
set end of FFPos to (position of window i) | |
set end of FFSize to (size of window i) | |
end repeat | |
end tell | |
tell process "Terminal" | |
set numTermWindows to count windows | |
set TermPos to {} | |
set TermSize to {} | |
repeat with i from 1 to numTermWindows | |
set end of TermPos to (position of window i) | |
set end of TermSize to (size of window i) | |
end repeat | |
end tell | |
tell process "iTunes" | |
set iTunesPos to position of window 1 | |
set iTunesSize to size of window 1 | |
end tell | |
tell process "Emacs" | |
set EmacsPos to position of window 1 | |
set EmacsSize to size of window 1 | |
end tell | |
tell process "iCal" | |
set iCalPos to position of window 1 | |
set iCalSize to size of window 1 | |
end tell | |
tell process "OmniFocus" | |
set OFPos to position of window 1 | |
set OFSize to size of window 1 | |
end tell | |
tell process "Adium" | |
set AdiumContactsPos to position of window "Contacts" | |
set AdiumContactsSize to size of window "Contacts" | |
set AdiumIMPos to {} | |
set AdiumIMSize to {} | |
repeat with i from 1 to (count windows) | |
if ((window i) is not (window "Contacts")) then | |
set AdiumIMPos to (position of window i) | |
set AdiumIMSize to (size of window i) | |
end if | |
end repeat | |
end tell | |
end if | |
end tell |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment