Trucos para reducir ventana

¿Por qué las ventanas se niegan a reducirse?

Muchos usuarios se encuentran con el problema de que sus aplicaciones, como Chrome, imponen un ancho mínimo estricto al redimensionar la ventana. Esto sucede porque los navegadores modernos establecen límites internos para evitar que su interfaz de usuario se rompa o pierda funcionalidad.

Pantalla de un navegador web donde la ventana mantiene un ancho mínimo fijo a pesar del intento de redimensionar.
La aplicación bloquea el redimensionamiento por debajo de su mínimo establecido.

Esta restricción se implementa a nivel del sistema operativo mediante un mensaje específico llamado WM_GETMINMAXINFO. Cuando intentas arrastrar el borde de la ventana, Windows simplemente respeta ese límite.

Herramientas para redimensionar ventanas

Aunque los navegadores suelen ser resistentes, existen varias herramientas que pueden ayudarte a forzar un tamaño diferente:

  • AutoHotkey + WinMove: Un script que intenta mover y redimensionar la ventana.
  • NirCmd: Una utilidad de línea de comandos capaz de cambiar el tamaño de ventanas activas o específicas por proceso.
  • Sizer: Una aplicación gráfica para aplicar tamaños personalizados a programas.

A continuación, te muestro cómo utilizar NirCmd para ajustar el ancho manualmente:

nircmd.exe win setsize foreground 0 0 300 800

Este comando ajusta la ventana activa a un ancho de 300 píxeles.

Vista de consola con el comando nircmd.exe win setsize ejecutándose en pantalla.
Ejecución del comando nircmd para reducir el tamaño de la ventana.

Soluciones avanzadas para Chrome

Es importante destacar que herramientas como NirCmd a menudo fallan cuando se aplican a aplicaciones como Chrome, ya que el navegador ignora los comandos si el ancho solicitado es menor que su mínimo interno.

Para romper ese límite específicamente en Chrome, la solución más efectiva es inyectar un gancho para interceptar y modificar directamente el mensaje WM_GETMINMAXINFO.

Diagrama mostrando cómo una herramienta externa interrumpe la comunicación del sistema operativo con la aplicación.
Esquema de inyección de gancho en la API del sistema operativo.

Aunque este método es bastante más avanzado, permite a la aplicación aceptar tamaños que de otro modo se considerarían inválidos.