aboutsummaryrefslogtreecommitdiff
path: root/samples/AppleScript/center.applescript
diff options
context:
space:
mode:
Diffstat (limited to 'samples/AppleScript/center.applescript')
-rw-r--r--samples/AppleScript/center.applescript50
1 files changed, 50 insertions, 0 deletions
diff --git a/samples/AppleScript/center.applescript b/samples/AppleScript/center.applescript
new file mode 100644
index 0000000..3049271
--- /dev/null
+++ b/samples/AppleScript/center.applescript
@@ -0,0 +1,50 @@
+set windowWidth to 800
+set windowHeight to 600
+delay 0.1
+
+set AppleScript's text item delimiters to "x"
+
+set res to text returned of (display dialog "Enter the width x height:" default answer ((windowWidth & windowHeight) as text))
+
+if res is "" then
+ display dialog "You need to enter a correct response"
+ return
+end if
+set {windowWidth, windowHeight} to text items of res
+
+set AppleScript's text item delimiters to ""
+
+tell application "Safari"
+ set screen_width to (do JavaScript "screen.availWidth" in document 1)
+ set screen_height to (do JavaScript "screen.availHeight" in document 1)
+end tell
+
+tell application "System Events"
+ set myFrontMost to name of first item of (processes whose frontmost is true)
+end tell
+
+tell application "Finder"
+ set {desktopTop, desktopLeft, desktopRight, desktopBottom} to bounds of desktop
+end tell
+
+try
+ tell application "System Events"
+ tell process myFrontMost
+ set {{w, h}} to size of drawer of window 1
+ end tell
+ end tell
+on error
+ set {w, h} to {0, 0}
+end try
+
+tell application "System Events"
+ tell process myFrontMost
+ try
+ set {{w, h}} to size of drawer of window 1
+ on error
+ set {w, h} to {0, 0}
+ end try
+ set position of window 1 to {((screen_width - windowWidth) / 2), ((screen_height - windowHeight) / 2.0) - desktopTop}
+ set size of window 1 to {windowWidth -w, windowHeight}
+ end tell
+end tell \ No newline at end of file