lunes, 15 de septiembre de 2008

Mejorando el uso desde el teclado. Parte I: jugando con las ventanas

Encontré una forma de mejorar la interactividad con el mac a través del teclado en este post. Además, así aprendemos algunas bondades de AppleScript y Quicksilver. Vamos a ello:

1. Descargar el zip.

2. Copiar los *.scpt de la carpeta descargada a "~/Library/Scripts/window_control/". Si no existe, crear la carpeta.

3. Instalar Quicksilver si no se tiene. Por cierto, ya sería hora, que un mac sin Quicksilver no es un mac.
4. Ir a la carpeta "~/Library/Scripts/Application\ Support/Quicksilver".

5.1. Caso de no tener un archivo "Triggers.plist", pues se puede copiar el del zip del paso 1.
5.2. Si ya se tiene ese archivo y no queremos perder nuestros triggers, podemos editar a mano, con Dashcode o Smultron. Para ello abrimos el original y el del zip del paso 1. Sustituímos de este último "jon/" por "tu_nombre_de_usuario/". y lo copiamos con cuidadín...
- Haz una copia del "Triggers.plist" antiguo no vaya a ser que metamos la pata :P.

- Del archivo del zip, copiamos todo lo que hay entre (lo que serían los puntos suspensivos):
〈 array 〉
...
〈 / array 〉
- Vamos al "Triggers.plist" original y pegamos justo antes del último...
〈 / array 〉

- Guardamos el archivo y salimos del editor.

6. Cerramos Quicksilver. Lo volvemos a lanzar, miramos en el "menú superior->(logo de Q)->Triggers" y... tachán! ya tenemos nuestros triggers listos. Las combinaciones elegidas veréis que no os resultan extrañas... si usáis vi.

Hilando fino, quedan unas pocas cosas que hacer:
7. Los archivos están pensados para una pantalla de 1280x800 (uséase Macbook). Para otras configuraciones hay que editar los "set" de cada archivo .scpt, específicamente:
set display_y_size to 794
set display_x_size to 1280

También, yo tengo el dock en el lado izquierdo de la pantalla, así que añadí unas modificaciones a los archivos originales, concretamente el "edge-left.scpt" quedó así:
set cur_app to (path to frontmost application as Unicode text)
set menu_offset to 46

tell application cur_app
tell front window
set {x1, y1, x2, y2} to (get bounds)
set win_width to (x2 - x1)
set room_left to x1 - menu_offset
if room_left > win_width then
set x1 to (x1 - win_width)
set x2 to (x2 - win_width)
else
set x1 to menu_offset
set x2 to (x1 + win_width)
end if
set bounds to {x1, y1, x2, y2}
end tell
end tell

8. Uno de los accesos rápidos establecidos en Quicksilver es el mismo que el de "Traer todo al frente" por defecto (Cmd+alt+h). Para poder seguir usándo esta función rápida, he añadido en "Preferencias del sistema -> Teclado y ratón -> Funciones rápidas de teclado de aplicaciones -> Todas las aplicaciones" un acceso rápido que ha de llamarse igual que la función de menú... repetimos! "Traer todo al frente". Yo he puesto "Cmd+alt+shift+h" siguiendo las recomendaciones del post original.

Lamentablemente, todo esto no funciona para todas las aplicaciones sino sólo para las programadas en Cocoa (desconozco por qué). Así que, por ejemplo, no funciona en Firefox ni en MS messenger (y el resto de Office). Un motivo más para usar aplicaciones nativas.


Ya solo me queda encontrar la manera de activar el maldito "Cmd+x" del Finder y encontrar cómo hacer que aparezca el menú contextual desde el teclado... señores de Apple, ¡¡¡güindous tiene esto resuelto desde hace siglos!!!

No hay comentarios: