Tiling Finder Windows is a widely sought out feature by OSX / macOS users for the past few years.
UPDATE MAY 2020: This works for older generation of OSX and the latest generation of Apple Mac Software – macOS Catalina 10.5
Mission control(formerly Expose) which is supposed to help you manage windows will not help when you need to work with Multiple Finder Windows.
Especially if you were a Windows/Linux User, you will find it pretty hard to resize and place windows.
Fix – use Apple Scripts.
You can easily write a small script which will help you with this task.
Steps
-
- Launch Apple Script Editor
- Copy paste the following code into the editor
tell application "Finder" set n to count of window set screenSize to bounds of window of desktop set screenWidth to item 3 of screenSize set screenHeight to item 4 of screenSize if n is equal to 0 then return set windowWidth to screenWidth / n if (n > 0) then activate set w to 1 repeat tell window w set bounds to {windowWidth * (w - 1), 0, windowWidth * w, screenHeight} end tell set w to w + 1 if w is equal to (n + 1) then exit repeat end repeat end if end tell
- Hit Compile
- Save the script with File Format: Application
- Add the application to the dock.
- Every time, you need to tile your Finder Windows. Just hit the dock icon.
- You can also configure a shortcut key for the Application.
Apple Scripts are really powerful. If you would like to learn more about Apple Scripts and want to write your own scripts.
Checkout developer.apple.com/applescript/
That was exactly what I was looking for š Many thanks!
Awesome! It works perfectly and it was easy to create. Thank you for your time!
Thank you for your time!
Hi – this looks like almost exactly what I need and Iām not complaining, but instead of saving say, 4 Finder windows side by side vertically, is there something I could change the script to, to make 4 equal windows with 2 above 2? Thanks, gratefully, Matthew
Note 1: If the number of windows is 4, then the following script arranges it in a 2 x 2 formation. For any other number of windows, the script tiles them horizontally.
Note 2: The following script assumes that you’ve a static menu bar at the top of the screen in your Mac OS. If you’ve set the menu bar to be automatically hidden, then change the line ‘set menuBarHeight to 22’ to ‘set menuBarHeight to 0’ and save/run the script.
tell application “Finder”
set n to count of window
set screenSize to bounds of window of desktop
set screenWidth to item 3 of screenSize
set screenHeight to item 4 of screenSize
set menuBarHeight to 22
if n is equal to 0 then return
if (n = 4) then
set windowWidth to screenWidth / 2
set windowHeight to screenHeight / 2
else
set windowWidth to screenWidth / n
set windowHeight to screenHeight
end if
if (n > 0) then
activate
set w to 1
repeat
if (n = 4) then
tell window w
set bounds to {windowWidth * ((-w mod 2) + 1), (windowHeight * (w div 3)) + (menuBarHeight / 2), windowWidth * ((-w mod 2) + 2), windowHeight * ((w div 3) + 1)}
end tell
else
tell window w
set bounds to {windowWidth * (w – 1), 0, windowWidth * w, windowHeight}
end tell
end if
set w to w + 1
if w is equal to (n + 1) then exit repeat
end repeat
end if
end tell
This is the best implementation of this I’ve ever seen and so fast. I’ve been using similar for years, which work more or less well and less so since OS updates. Well done!!
One request:
Any chance of a second version which can tile vertically? (Very useful when using column view).
tell application “Finder”
set n to count of window
set screenSize to bounds of window of desktop
set screenWidth to item 3 of screenSize
set screenHeight to item 4 of screenSize
if n is equal to 0 then return
set windowHeight to screenHeight / n
if (n > 0) then
activate
set w to 1
repeat
tell window w
set bounds to {0, windowHeight * (w – 1), screenWidth, windowHeight * w}
end tell
set w to w + 1
if w is equal to (n + 1) then exit repeat
end repeat
end if
end tell
Great! Is there a way to constrict the action to one screen? I have 3 š
Thank you so much for taking the time to post this. Im new to Mac and this has helped me tremendously on my workflow.
Thank you for the comment!
2019 and still useful! Thanks!
2020 and still strong!