-
Notifications
You must be signed in to change notification settings - Fork 2
/
scrpt.scpt
45 lines (37 loc) · 1.47 KB
/
scrpt.scpt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# PART 1
# Create select dropdown of window sizes and capture user selection
set windowSizeOptions to {"2560x1440", "2512x1413", "1920x1080", "1600x900", "1366x768", "1280x720"}
set selectedSizeOption to choose from list windowSizeOptions with prompt "Select window size" default items {"1920x1080"}
# If 'Cancel' button is clicked on, exit program
if selectedSizeOption is false then
error number -128
end if
# Continue program if a selection is made
set the text item delimiters to "x"
set {appWidth, appHeight} to {text item 1, text item 2} of item 1 of the selectedSizeOption
# PART 2
# Get active window while ignoring the resize window app
tell application "System Events"
set frontmostProcess to first process where it is frontmost
set visible of frontmostProcess to false
repeat while (frontmostProcess is frontmost)
delay 0.2
end repeat
set secondFrontmostProcess to name of first process where it is frontmost
set frontmost of frontmostProcess to true
end tell
set activeApp to secondFrontmostProcess
# PART 3
# Resize Current Active Window
tell application "Finder"
set screenResolution to bounds of window of desktop
end tell
set screenWidth to item 3 of screenResolution
set screenHeight to item 4 of screenResolution
tell application activeApp
activate
reopen
set yAxis to (screenHeight - appHeight) / 2 as integer
set xAxis to (screenWidth - appWidth) / 2 as integer
set the bounds of the first window to {xAxis, yAxis, appWidth + xAxis, appHeight + yAxis}
end tell