En esta página
EdgeSnap classic 0.51 beta está en Aminet: mi sistema para ajustar ventanas llega al Amiga clásico, con un paquete m68k para el 68000 y posteriores. Al arrastrar una ventana hacia un borde o una esquina aparece un marco de vista previa; al soltar el botón, ocupa esa mitad, ese cuarto o el área maximizada de la pantalla.
El objetivo principal de uso es AmigaOS 3.1 y posteriores, pero el requisito mínimo declarado es AmigaOS 2.04. No hace falta una tarjeta gráfica: la adaptación clásica contempla AGA y RTG. Es la primera versión pública de esta rama, con edgesnap.library 2.28, distinta de los paquetes EdgeSnap para OS4, MorphOS y AROS.
Más que colocar ventanas en mitades
La activación depende del puntero, no del borde de la ventana. Los laterales seleccionan mitades, las esquinas cuartos y el borde superior maximiza. La vista previa muestra el destino antes de soltar, mientras que la detección de docks y paneles mantiene libres esas zonas.
Dos ventanas colocadas lado a lado pueden compartir un divisor: al arrastrarlo cambian de tamaño ambas. Una ventana ajustada recupera sus dimensiones anteriores bajo el puntero al arrastrarla fuera de las zonas. También hay atajos configurables: Ctrl Alt con las flechas para las acciones principales, Ctrl Alt C para centrar y Ctrl Alt Z para el selector de nueve celdas bajo el ratón.
Preferencias nativas sin MUI ni ReAction
Para esta rama he elegido GadTools: las preferencias funcionan en 3.1 sin añadir esos toolkits. Zonas, sensibilidad, presión contra el borde, aspecto, docks y márgenes se agrupan en la ventana de ajustes. Los mismos parámetros pueden leerse de los tooltypes del icono, del archivo de preferencias o de la línea de comandos.

La captura anterior procede del repositorio del proyecto y muestra las preferencias de la 0.51 en AmigaOS 3.2.3. Es documentación auténtica, no una interfaz inventada para la portada ni una nueva prueba en hardware realizada para este artículo.
Los bordes en AmigaOS 3.2: cuándo reiniciar
Tras la primera instalación en AmigaOS 3.2 hay que reiniciar. El instalador activa la opción Can Move Off-screen de IControl, que el sistema adopta al arrancar: la ventana arrastrada puede superar el límite y el puntero alcanza el borde. La sección AmigaOS de las preferencias permite revertir el ajuste.
Hasta reiniciar, con la opción desactivada y en 3.1 o anteriores que no la incluyen, la ventana se detiene en el límite. En ese caso basta con seguir empujando el ratón contra el borde para activar la vista previa. La distancia es PUSHPX, inicialmente 24 píxeles; cero desactiva esa presión adicional. Cuando las ventanas pueden salir de la pantalla, no se cuenta el empuje.
Glide into place está desactivado inicialmente: puede ser lento en un 68k sin tarjeta gráfica. En AmiKit, mientras EdgeSnap se ejecuta, desactivo temporalmente en ENV el movimiento de ventanas de MCP y lo restauro al salir sin modificar sus preferencias guardadas. El tooltype KEEPMCP=YES deja MCP sin cambios.
Una commodity delante de una biblioteca compartida
EdgeSnap no aplica parches a los vectores del sistema. El gestor de entrada de la commodity recoge eventos y avisa a la tarea principal; las llamadas a Intuition se realizan en esa tarea, no en el contexto de input.device. La lógica y el estado de distribución pertenecen a edgesnap.library, utilizable por otros programas: no es un nuevo gestor de ventanas que sustituya Workbench.
El puerto ARexx EDGESNAP expone comandos como SNAP, RESTORE, QUERY, SELECT y PREFS. TITLE selecciona una ventana mediante un patrón. RexxMast debe estar activo para ejecutar scripts; desde la Shell, rx "ADDRESS EDGESNAP 'SNAP LEFT'" actúa sobre la ventana activa. El programa esnaptest, incluido en el paquete, es un ejemplo de la API.
Descargar e instalar la beta 0.51
Descargar el paquete LHA de EdgeSnap classic m68k 0.51, disponible en la página de Aminet con su readme y contenido. El repositorio classic en GitHub contiene los fuentes; al verificarlo no ofrecía una versión publicada de GitHub independiente para enlazar como descarga binaria.
Tras extraerlo, abrir el icono Install: la biblioteca se instala en LIBS:, la commodity en SYS:WBStartup, las preferencias en SYS:Prefs y el manual donde se elija. No cambia S:User-Startup. Para actualizar se repite la instalación, normalmente sin reiniciar: esto no elimina el reinicio necesario tras el primer cambio de IControl en 3.2. Exchange permite activar, desactivar o detener la commodity.
Qué se ha verificado y qué queda por probar
La documentación registra pruebas de la 0.51 en AmigaOS 3.2.3 emulado, con AGA y tarjeta gráfica, y en 3.1 emulado; para versiones anteriores registra un A1200 original, Vampire y PiStorm con AmiKit. AmigaOS 3.1.4 todavía no se ha probado. El mínimo declarado 2.04 no es una nueva certificación de todas las configuraciones.
Para este artículo he estudiado los fuentes y el manual, verificado la versión y la integridad del archivo de Aminet y ejecutado correctamente en el Mac las 13 suites host del núcleo C89. Estos controles no son nuevas pruebas del binario en un Amiga. Los problemas pueden notificarse en las issues del repositorio classic, indicando máquina, sistema y pasos para reproducirlos.
El proyecto sigue siendo gratuito y de código abierto con licencia MIT; el apoyo es voluntario. Los iconos son de Carlo Spadoni. El ajuste de ventanas en Amiga no empieza aquí: GoSnap es un precedente pertinente, mientras que mi propuesta combina arrastre, divisores compartidos y una biblioteca reutilizable. Para la rama de otros sistemas está el artículo de EdgeSnap 0.5.
Portada: ilustración conceptual generada con OpenAI, no es una captura del programa.