Sé que había algunas aplicaciones de terceros que podían hacer esto en el pasado, pero con cada nueva versión de Mac OS X, parece que muchas de esas aplicaciones de terceros dejan de funcionar o el proyecto envejece y pierde su mantenedor.
Me pregunto si hay un atajo de teclado integrado en Mac OS X para hacer esto. Supongo que esto no se limitaría a las ventanas del buscador, sino a las ventanas de cualquier aplicación.
Hasta donde yo sé, no hay una forma "lista para usar" ni ningún acceso directo del sistema para poder alinear u organizar las ventanas del Finder. Sin embargo, al usar Script Editor.app para crear un AppleScript para establecer los límites (tamaño y ubicación) de las ventanas del buscador, puede traer su código AppleScript terminado a Automator.app creando un nuevo documento en Automator y seleccionando "Servicio" como el nuevo tipo de documento.
El siguiente paso sería agregar una acción ejecutar AppleScript al flujo de trabajo, luego pegar el AppleScript mencionado anteriormente, que compilamos en Script Editor.app, en la acción ejecutar AppleScript en Automator
A continuación, guardaría y nombraría el servicio Automator (lo llamé "Arrange Finder Windows"). Después de esto, su nuevo servicio estará disponible en las preferencias del sistema, momento en el que puede asignarle un atajo de teclado.
Ahora echemos un vistazo al proceso involucrado en la creación de la secuencia de comandos en Script Editor.app, para manipular las ventanas del Finder. Con mi MacBook Pro de 15", tengo 5 resoluciones de pantalla diferentes entre las que puedo elegir. A lo que me refiero es que, si mi resolución de pantalla actual está configurada en "Predeterminada", cualquier código que cree que manipulará las ventanas del buscador funcionará. correctamente solo cuando estoy usando la resolución de pantalla predeterminada. En un momento posterior, si decido cambiar mi pantalla más alta o más baja, el código que creé mientras usaba la pantalla predeterminada colocará las ventanas del Finder en diferentes ubicaciones como estaban. significaba originalmente.
En resumen, el objetivo aquí es poder alinear y organizar las ventanas del Finder (procesar desde una hasta seis ventanas) sin importar qué resolución de pantalla esté usando actualmente.
Esta primera parte del siguiente código establece valores de propiedad para las cinco resoluciones de pantalla diferentes que puedo elegir en las preferencias del sistema
-- ALL POSSIBLE DISPLAY RESOLUTION VALUES IN SYSTEM PREFERENCES --
property displayRezolution_Lowest : {0, 0, 1024, 640}
property displayRezolution_Lower : {0, 0, 1280, 800}
property displayRezolution_Default : {0, 0, 1440, 900}
property displayRezolution_Higher : {0, 0, 1680, 1050}
property displayRezolution_Highest : {0, 0, 1920, 1200}
El siguiente fragmento de código recuperará la resolución de pantalla real que se está utilizando actualmente en el monitor.
-- GETS THE CURRENT DISPLAY RESOLUTION BEING USED --
tell application "Finder" to set getRezolution to get bounds of window of desktop
El siguiente fragmento determina qué objeto de secuencia de comandos ejecutar en función de la resolución de pantalla actual. (Creé cinco objetos de script diferentes, un script para cada resolución de pantalla... Cada uno de los cuales contiene diferentes valores para los límites de las ventanas del buscador
-- DETERMINES WHICH SCRIPT TO RUN BASED ON THE CURRENT DISPLAY RESOLUTION --
if getRezolution is equal to displayRezolution_Lowest then
run script displayRezolutionLowest
else if getRezolution is equal to displayRezolution_Lower then
run script displayRezolutionLower
else if getRezolution is equal to displayRezolution_Default then
run script displayRezolutionDefault
else if getRezolution is equal to displayRezolution_Higher then
run script displayRezolutionHigher
else if getRezolution is equal to displayRezolution_Highest then
run script displayRezolutionHighest
end if
Aquí está el script completo que se colocará en Automator
-- ALL POSSIBLE DISPLAY RESOLUTION VALUES IN SYSTEM PREFERENCES --
property displayRezolution_Lowest : {0, 0, 1024, 640}
property displayRezolution_Lower : {0, 0, 1280, 800}
property displayRezolution_Default : {0, 0, 1440, 900}
property displayRezolution_Higher : {0, 0, 1680, 1050}
property displayRezolution_Highest : {0, 0, 1920, 1200}
-- GETS THE CURRENT DISPLAY RESOLUTION BEING USED --
tell application "Finder" to set getRezolution to get bounds of window of desktop
-- DETERMINES WHICH SCRIPT TO RUN BASED ON THE CURRENT DISPLAY RESOLUTION --
if getRezolution is equal to displayRezolution_Lowest then
run script displayRezolutionLowest
else if getRezolution is equal to displayRezolution_Lower then
run script displayRezolutionLower
else if getRezolution is equal to displayRezolution_Default then
run script displayRezolutionDefault
else if getRezolution is equal to displayRezolution_Higher then
run script displayRezolutionHigher
else if getRezolution is equal to displayRezolution_Highest then
run script displayRezolutionHighest
end if
-- INDIVIDUAL SCRIPT OBJECTS --
script displayRezolutionLowest
property savedBoundz6 : {{0, 22, 479, 456}, {480, 22, 959, 456}, {961, 22, 1440, 456}, ¬
{0, 458, 479, 892}, {480, 457, 959, 891}, {961, 457, 1440, 891}}
property savedBoundz5 : {{0, 22, 479, 456}, {480, 22, 959, 456}, {961, 22, 1440, 456}, ¬
{0, 458, 479, 892}, {480, 457, 1440, 891}}
property savedBoundz4 : {{0, 22, 517, 366}, {518, 22, 1024, 366}, ¬
{0, 294, 517, 638}, {518, 295, 1024, 639}}
property savedBoundz3 : {{0, 22, 342, 640}, {343, 22, 684, 640}, {685, 22, 1024, 640}}
property savedBoundz2 : {{0, 22, 517, 640}, {518, 22, 1024, 640}}
tell application "Finder"
if (count of every window) = 6 then
set theBoundz to savedBoundz6
repeat with theWindow from 1 to count of theBoundz
set theItem to item theWindow of theBoundz
try
set the bounds of Finder window theWindow to theItem
end try
delay 0.1
end repeat
else if (count of every window) = 5 then
set theBoundz to savedBoundz5
repeat with theWindow from 1 to count of theBoundz
set theItem to item theWindow of theBoundz
try
set the bounds of Finder window theWindow to theItem
end try
delay 0.1
end repeat
else if (count of every window) = 4 then
set theBoundz to savedBoundz4
repeat with theWindow from 1 to count of theBoundz
set theItem to item theWindow of theBoundz
try
set the bounds of Finder window theWindow to theItem
end try
delay 0.1
end repeat
else if (count of every window) = 3 then
set theBoundz to savedBoundz3
repeat with theWindow from 1 to count of theBoundz
set theItem to item theWindow of theBoundz
try
set the bounds of Finder window theWindow to theItem
end try
delay 0.1
end repeat
else if (count of every window) = 2 then
set theBoundz to savedBoundz2
repeat with theWindow from 1 to count of theBoundz
set theItem to item theWindow of theBoundz
try
set the bounds of Finder window theWindow to theItem
end try
delay 0.1
end repeat
else if (count of every window) = 1 then
run script centerWindow
else if (count of every window) = 0 then
return
else if (count of every window) is greater than 6 then
return
end if
end tell
script centerWindow
property sidebarWidth : 259
property theBoundz : missing value
property theBoundz_1 : {163, 76, 876, 547}
property theBoundz_2 : {260, 119, 1060, 652}
property theBoundz_3 : {305, 73, 1126, 812}
property theBoundz_4 : {353, 122, 1324, 868}
property theBoundz_5 : {466, 201, 1467, 1129}
property displayRezolution_Lowest : {0, 0, 1024, 640}
property displayRezolution_Lower : {0, 0, 1280, 800}
property displayRezolution_Default : {0, 0, 1440, 900}
property displayRezolution_Higher : {0, 0, 1680, 1050}
property displayRezolution_Highest : {0, 0, 1920, 1200}
tell application "Finder" to set getRez to get bounds of window of desktop
if displayRezolution_Lowest is equal to getRez then
centerFinderWindow(theBoundz_1)
end if
if displayRezolution_Lower is equal to getRez then
centerFinderWindow(theBoundz_2)
end if
if displayRezolution_Default is equal to getRez then
centerFinderWindow(theBoundz_3)
end if
if displayRezolution_Higher is equal to getRez then
centerFinderWindow(theBoundz_4)
end if
if displayRezolution_Highest is equal to getRez then
centerFinderWindow(theBoundz_5)
end if
on centerFinderWindow(theBoundz)
tell application "Finder"
try
tell its Finder windows
set its current view to column view
set its bounds to theBoundz
delay 0.1
set its sidebar width to sidebarWidth
delay 0.1
set its toolbar visible to true
delay 0.1
end tell
tell its Finder windows
set its sidebar width to sidebarWidth
end tell
end try
end tell
end centerFinderWindow
end script
end script
script displayRezolutionLower
property savedBoundz6 : {{438, 410, 879, 800}, {0, 22, 437, 409}, {438, 22, 879, 409}, ¬
{1, 410, 437, 800}, {880, 22, 1280, 409}, {880, 410, 1280, 800}}
property savedBoundz5 : {{657, 410, 1280, 800}, {0, 22, 437, 409}, ¬
{438, 22, 879, 409}, {1, 410, 656, 800}, {880, 22, 1280, 409}}
property savedBoundz4 : {{657, 410, 1280, 800}, {0, 22, 656, 409}, {657, 22, 1280, 409}, ¬
{1, 410, 656, 800}}
property savedBoundz3 : {{846, 22, 1280, 800}, {407, 22, 845, 800}, {0, 22, 406, 800}}
property savedBoundz2 : {{648, 22, 1280, 800}, {0, 22, 647, 800}}
tell application "Finder"
if (count of every window) = 6 then
set theBoundz to savedBoundz6
repeat with theWindow from 1 to count of theBoundz
set theItem to item theWindow of theBoundz
try
set the bounds of Finder window theWindow to theItem
end try
delay 0.1
end repeat
else if (count of every window) = 5 then
set theBoundz to savedBoundz5
repeat with theWindow from 1 to count of theBoundz
set theItem to item theWindow of theBoundz
try
set the bounds of Finder window theWindow to theItem
end try
delay 0.1
end repeat
else if (count of every window) = 4 then
set theBoundz to savedBoundz4
repeat with theWindow from 1 to count of theBoundz
set theItem to item theWindow of theBoundz
try
set the bounds of Finder window theWindow to theItem
end try
delay 0.1
end repeat
else if (count of every window) = 3 then
set theBoundz to savedBoundz3
repeat with theWindow from 1 to count of theBoundz
set theItem to item theWindow of theBoundz
try
set the bounds of Finder window theWindow to theItem
end try
delay 0.1
end repeat
else if (count of every window) = 2 then
set theBoundz to savedBoundz2
repeat with theWindow from 1 to count of theBoundz
set theItem to item theWindow of theBoundz
try
set the bounds of Finder window theWindow to theItem
end try
delay 0.1
end repeat
else if (count of every window) = 1 then
run script centerWindow
else if (count of every window) = 0 then
return
else if (count of every window) is greater than 6 then
return
end if
end tell
script centerWindow
property sidebarWidth : 259
property theBoundz : missing value
property theBoundz_1 : {163, 76, 876, 547}
property theBoundz_2 : {260, 119, 1060, 652}
property theBoundz_3 : {305, 73, 1126, 812}
property theBoundz_4 : {353, 122, 1324, 868}
property theBoundz_5 : {466, 201, 1467, 1129}
property displayRezolution_Lowest : {0, 0, 1024, 640}
property displayRezolution_Lower : {0, 0, 1280, 800}
property displayRezolution_Default : {0, 0, 1440, 900}
property displayRezolution_Higher : {0, 0, 1680, 1050}
property displayRezolution_Highest : {0, 0, 1920, 1200}
tell application "Finder" to set getRez to get bounds of window of desktop
if displayRezolution_Lowest is equal to getRez then
centerFinderWindow(theBoundz_1)
end if
if displayRezolution_Lower is equal to getRez then
centerFinderWindow(theBoundz_2)
end if
if displayRezolution_Default is equal to getRez then
centerFinderWindow(theBoundz_3)
end if
if displayRezolution_Higher is equal to getRez then
centerFinderWindow(theBoundz_4)
end if
if displayRezolution_Highest is equal to getRez then
centerFinderWindow(theBoundz_5)
end if
on centerFinderWindow(theBoundz)
tell application "Finder"
try
tell its Finder windows
set its current view to column view
set its bounds to theBoundz
delay 0.1
set its sidebar width to sidebarWidth
delay 0.1
set its toolbar visible to true
delay 0.1
end tell
tell its Finder windows
set its sidebar width to sidebarWidth
end tell
end try
end tell
end centerFinderWindow
end script
end script
script displayRezolutionDefault
property savedBoundz6 : {{0, 22, 479, 456}, {480, 22, 959, 456}, {961, 22, 1440, 456}, ¬
{0, 458, 479, 892}, {480, 457, 959, 891}, {961, 457, 1440, 891}}
property savedBoundz5 : {{0, 22, 479, 456}, {480, 22, 959, 456}, {961, 22, 1440, 456}, ¬
{0, 458, 479, 892}, {480, 457, 1440, 891}}
property savedBoundz4 : {{722, 22, 1440, 456}, {0, 22, 721, 456}, {722, 457, 1440, 900}, ¬
{0, 458, 721, 900}}
property savedBoundz3 : {{0, 22, 479, 900}, {480, 22, 959, 900}, {961, 22, 1453, 900}}
property savedBoundz2 : {{0, 22, 715, 900}, {716, 22, 1438, 900}}
tell application "Finder"
if (count of every window) = 6 then
set theBoundz to savedBoundz6
repeat with theWindow from 1 to count of theBoundz
set theItem to item theWindow of theBoundz
try
set the bounds of Finder window theWindow to theItem
end try
delay 0.1
end repeat
else if (count of every window) = 5 then
set theBoundz to savedBoundz5
repeat with theWindow from 1 to count of theBoundz
set theItem to item theWindow of theBoundz
try
set the bounds of Finder window theWindow to theItem
end try
delay 0.1
end repeat
else if (count of every window) = 4 then
set theBoundz to savedBoundz4
repeat with theWindow from 1 to count of theBoundz
set theItem to item theWindow of theBoundz
try
set the bounds of Finder window theWindow to theItem
end try
delay 0.1
end repeat
else if (count of every window) = 3 then
set theBoundz to savedBoundz3
repeat with theWindow from 1 to count of theBoundz
set theItem to item theWindow of theBoundz
try
set the bounds of Finder window theWindow to theItem
end try
delay 0.1
end repeat
else if (count of every window) = 2 then
set theBoundz to savedBoundz2
repeat with theWindow from 1 to count of theBoundz
set theItem to item theWindow of theBoundz
try
set the bounds of Finder window theWindow to theItem
end try
delay 0.1
end repeat
else if (count of every window) = 1 then
run script centerWindow
else if (count of every window) = 0 then
return
else if (count of every window) is greater than 6 then
return
end if
end tell
script centerWindow
property sidebarWidth : 259
property theBoundz : missing value
property theBoundz_1 : {163, 76, 876, 547}
property theBoundz_2 : {260, 119, 1060, 652}
property theBoundz_3 : {305, 73, 1126, 812}
property theBoundz_4 : {353, 122, 1324, 868}
property theBoundz_5 : {466, 201, 1467, 1129}
property displayRezolution_Lowest : {0, 0, 1024, 640}
property displayRezolution_Lower : {0, 0, 1280, 800}
property displayRezolution_Default : {0, 0, 1440, 900}
property displayRezolution_Higher : {0, 0, 1680, 1050}
property displayRezolution_Highest : {0, 0, 1920, 1200}
tell application "Finder" to set getRez to get bounds of window of desktop
if displayRezolution_Lowest is equal to getRez then
centerFinderWindow(theBoundz_1)
end if
if displayRezolution_Lower is equal to getRez then
centerFinderWindow(theBoundz_2)
end if
if displayRezolution_Default is equal to getRez then
centerFinderWindow(theBoundz_3)
end if
if displayRezolution_Higher is equal to getRez then
centerFinderWindow(theBoundz_4)
end if
if displayRezolution_Highest is equal to getRez then
centerFinderWindow(theBoundz_5)
end if
on centerFinderWindow(theBoundz)
tell application "Finder"
try
tell its Finder windows
set its current view to column view
set its bounds to theBoundz
delay 0.1
set its sidebar width to sidebarWidth
delay 0.1
set its toolbar visible to true
delay 0.1
end tell
tell its Finder windows
set its sidebar width to sidebarWidth
end tell
end try
end tell
end centerFinderWindow
end script
end script
script displayRezolutionHigher
property savedBoundz6 : {{560, 530, 1120, 1050}, {1121, 22, 1680, 529}, {0, 22, 559, 529}, ¬
{0, 530, 559, 1050}, {1121, 530, 1680, 1050}, {560, 22, 1119, 529}}
property savedBoundz5 : {{560, 530, 1120, 1050}, {829, 22, 1680, 529}, {0, 22, 828, 529}, ¬
{0, 530, 559, 1050}, {1121, 530, 1680, 1050}}
property savedBoundz4 : {{829, 530, 1680, 1050}, {829, 22, 1680, 529}, {0, 22, 828, 529}, ¬
{0, 530, 828, 1050}}
property savedBoundz3 : {{1130, 22, 1680, 1050}, {0, 22, 551, 1050}, {552, 22, 1129, 1050}}
property savedBoundz2 : {{834, 22, 1680, 1050}, {0, 22, 832, 1050}}
tell application "Finder"
if (count of every window) = 6 then
set theBoundz to savedBoundz6
repeat with theWindow from 1 to count of theBoundz
set theItem to item theWindow of theBoundz
try
set the bounds of Finder window theWindow to theItem
end try
delay 0.1
end repeat
else if (count of every window) = 5 then
set theBoundz to savedBoundz5
repeat with theWindow from 1 to count of theBoundz
set theItem to item theWindow of theBoundz
try
set the bounds of Finder window theWindow to theItem
end try
delay 0.1
end repeat
else if (count of every window) = 4 then
set theBoundz to savedBoundz4
repeat with theWindow from 1 to count of theBoundz
set theItem to item theWindow of theBoundz
try
set the bounds of Finder window theWindow to theItem
end try
delay 0.1
end repeat
else if (count of every window) = 3 then
set theBoundz to savedBoundz3
repeat with theWindow from 1 to count of theBoundz
set theItem to item theWindow of theBoundz
try
set the bounds of Finder window theWindow to theItem
end try
delay 0.1
end repeat
else if (count of every window) = 2 then
set theBoundz to savedBoundz2
repeat with theWindow from 1 to count of theBoundz
set theItem to item theWindow of theBoundz
try
set the bounds of Finder window theWindow to theItem
end try
delay 0.1
end repeat
else if (count of every window) = 1 then
run script centerWindow
else if (count of every window) = 0 then
return
else if (count of every window) is greater than 6 then
return
end if
end tell
script centerWindow
property sidebarWidth : 259
property theBoundz : missing value
property theBoundz_1 : {163, 76, 876, 547}
property theBoundz_2 : {260, 119, 1060, 652}
property theBoundz_3 : {305, 73, 1126, 812}
property theBoundz_4 : {353, 122, 1324, 868}
property theBoundz_5 : {466, 201, 1467, 1129}
property displayRezolution_Lowest : {0, 0, 1024, 640}
property displayRezolution_Lower : {0, 0, 1280, 800}
property displayRezolution_Default : {0, 0, 1440, 900}
property displayRezolution_Higher : {0, 0, 1680, 1050}
property displayRezolution_Highest : {0, 0, 1920, 1200}
tell application "Finder" to set getRez to get bounds of window of desktop
if displayRezolution_Lowest is equal to getRez then
centerFinderWindow(theBoundz_1)
end if
if displayRezolution_Lower is equal to getRez then
centerFinderWindow(theBoundz_2)
end if
if displayRezolution_Default is equal to getRez then
centerFinderWindow(theBoundz_3)
end if
if displayRezolution_Higher is equal to getRez then
centerFinderWindow(theBoundz_4)
end if
if displayRezolution_Highest is equal to getRez then
centerFinderWindow(theBoundz_5)
end if
on centerFinderWindow(theBoundz)
tell application "Finder"
try
tell its Finder windows
set its current view to column view
set its bounds to theBoundz
delay 0.1
set its sidebar width to sidebarWidth
delay 0.1
set its toolbar visible to true
delay 0.1
end tell
tell its Finder windows
set its sidebar width to sidebarWidth
end tell
end try
end tell
end centerFinderWindow
end script
end script
script displayRezolutionHighest
property savedBoundz6 : {{1277, 22, 1920, 602}, {0, 22, 632, 602}, {1277, 603, 1920, 1200}, ¬
{0, 603, 632, 1200}, {633, 603, 1276, 1200}, {633, 22, 1276, 602}}
property savedBoundz5 : {{961, 22, 1920, 602}, {0, 22, 960, 602}, {1277, 603, 1920, 1200}, ¬
{0, 603, 632, 1200}, {633, 603, 1276, 1200}}
property savedBoundz4 : {{961, 22, 1920, 602}, {0, 22, 960, 602}, {961, 603, 1920, 1200}, ¬
{0, 603, 960, 1200}}
property savedBoundz3 : {{1277, 22, 1920, 1200}, {0, 22, 632, 1200}, {633, 22, 1276, 1200}}
property savedBoundz2 : {{938, 22, 1920, 1200}, {0, 22, 937, 1200}}
tell application "Finder"
if (count of every window) = 6 then
set theBoundz to savedBoundz6
repeat with theWindow from 1 to count of theBoundz
set theItem to item theWindow of theBoundz
try
set the bounds of Finder window theWindow to theItem
end try
delay 0.1
end repeat
else if (count of every window) = 5 then
set theBoundz to savedBoundz5
repeat with theWindow from 1 to count of theBoundz
set theItem to item theWindow of theBoundz
try
set the bounds of Finder window theWindow to theItem
end try
delay 0.1
end repeat
else if (count of every window) = 4 then
set theBoundz to savedBoundz4
repeat with theWindow from 1 to count of theBoundz
set theItem to item theWindow of theBoundz
try
set the bounds of Finder window theWindow to theItem
end try
delay 0.1
end repeat
else if (count of every window) = 3 then
set theBoundz to savedBoundz3
repeat with theWindow from 1 to count of theBoundz
set theItem to item theWindow of theBoundz
try
set the bounds of Finder window theWindow to theItem
end try
delay 0.1
end repeat
else if (count of every window) = 2 then
set theBoundz to savedBoundz2
repeat with theWindow from 1 to count of theBoundz
set theItem to item theWindow of theBoundz
try
set the bounds of Finder window theWindow to theItem
end try
delay 0.1
end repeat
else if (count of every window) = 1 then
run script centerWindow
else if (count of every window) = 0 then
return
else if (count of every window) is greater than 6 then
return
end if
end tell
script centerWindow
property sidebarWidth : 259
property theBoundz : missing value
property theBoundz_1 : {163, 76, 876, 547}
property theBoundz_2 : {260, 119, 1060, 652}
property theBoundz_3 : {305, 73, 1126, 812}
property theBoundz_4 : {353, 122, 1324, 868}
property theBoundz_5 : {466, 201, 1467, 1129}
property displayRezolution_Lowest : {0, 0, 1024, 640}
property displayRezolution_Lower : {0, 0, 1280, 800}
property displayRezolution_Default : {0, 0, 1440, 900}
property displayRezolution_Higher : {0, 0, 1680, 1050}
property displayRezolution_Highest : {0, 0, 1920, 1200}
tell application "Finder" to set getRez to get bounds of window of desktop
if displayRezolution_Lowest is equal to getRez then
centerFinderWindow(theBoundz_1)
end if
if displayRezolution_Lower is equal to getRez then
centerFinderWindow(theBoundz_2)
end if
if displayRezolution_Default is equal to getRez then
centerFinderWindow(theBoundz_3)
end if
if displayRezolution_Higher is equal to getRez then
centerFinderWindow(theBoundz_4)
end if
if displayRezolution_Highest is equal to getRez then
centerFinderWindow(theBoundz_5)
end if
on centerFinderWindow(theBoundz)
tell application "Finder"
try
tell its Finder windows
set its current view to column view
set its bounds to theBoundz
delay 0.1
set its sidebar width to sidebarWidth
delay 0.1
set its toolbar visible to true
delay 0.1
end tell
tell its Finder windows
set its sidebar width to sidebarWidth
end tell
end try
end tell
end centerFinderWindow
end script
end script
Asegúrese de establecer los valores de propiedad en las Resoluciones de pantalla disponibles de su monitor, en la parte superior de la secuencia de comandos
Para establecer el tamaño y las ubicaciones (Límites) de las ventanas del Finder, coloque y dimensione manualmente (con el mouse) cada ventana del Finder. Luego, en el Editor de secuencias de comandos, ejecute el siguiente código y luego simplemente copie las coordenadas del resultado y péguelas nuevamente en la secuencia de comandos principal.
tell application "Finder" to set getRezolution to get bounds of window of desktop
tell application "Finder" to set theCount to count of every Finder window
tell application "Finder" to set theBoundz to bounds of every Finder window
Aquí hay un ejemplo que ejecuta el servicio Automator (que se puede invocar mediante un atajo de teclado) en Finder, comenzando con seis ventanas, luego hasta llegar a una ventana...
Para las personas que se preguntan qué ha agregado Apple mientras tanto: puede lograr un resultado similar con la función Ventana dividida : https://support.apple.com/en-us/HT204948
Excepto eso:
De todos modos, Apple está tratando de hacer algo al respecto, incluso si están reinventando la rueda en lugar de mirar lo que otros proveedores de software de escritorio están haciendo al respecto.
Mientras tanto, ahora está la excelente aplicación Rectangle :
Simplemente descárguelo, ejecútelo y nunca mire hacia atrás.
mvreijn
David Killingsworth