Primera versión utilizable.
Instalación
Descargá MonSelect.App.exe, dejalo donde quieras y ejecutalo. No necesita instalador ni tener .NET instalado — el runtime va adentro, de ahí el tamaño.
Para que arranque con Windows: MonSelect.App.exe --install-autostart
El ejecutable no está firmado. Windows SmartScreen lo va a marcar como desconocido la primera vez: Más información → Ejecutar de todas formas. Si preferís no confiar en un binario sin firmar, el repo tiene las instrucciones para compilarlo.
Qué hace
Define por aplicación en qué monitor se abre su ventana y con qué estado: rect exacto, maximizada, minimizada, o sin bordes cubriendo el monitor completo.
Para crear una regla no hace falta escribir coordenadas: acomodás la ventana donde la querés y la capturás desde la interfaz.
Qué hace en tu sistema
Instala un hook global de Windows, lee la línea de comandos de otros procesos, y mueve y reestiliza ventanas que no le pertenecen. Escribe sólo en %APPDATA%\MonSelect\; no hay telemetría ni conexiones de red. El detalle completo está en el README.
Sobre lo que no hace
Exclusive fullscreen real no se puede forzar desde un proceso externo — lo tiene que pedir la propia aplicación al driver. borderless es lo que la mayoría de los programas llaman "pantalla completa".
MonSelect saca el marco del sistema operativo, no la interfaz que dibuja la aplicación dentro de su ventana.
Verificado sobre hardware real
Cuatro monitores, uno vertical y uno en coordenadas negativas. La identidad de cada pantalla sale de QueryDisplayConfig y no del índice, que Windows reasigna al reconectar — en este equipo dos monitores además reportan el mismo serial EDID.
171 tests.
Licencias
MIT. El binario incluye el runtime de .NET y YamlDotNet, ambos MIT; sus avisos están en THIRD-PARTY-NOTICES.md.