Every time I launch a new Putty session, I find myself manually resizing the window to my preferred dimensions. While Putty remembers connection settings and even text sizing through its configuration system, the window geometry settings seem oddly absent. This becomes particularly annoying when switching between multiple terminal sessions throughout the day.
The rows and columns settings in Putty only affect the terminal work area, not the actual window frame. When you adjust these values under Window > Appearance, you're changing the character grid size, not the physical window dimensions. What we want is the behavior you get when manually dragging the window borders - where both the frame and content resize together.
Putty actually stores window position data in the Windows registry, but doesn't use it by default. Here's how to enable this feature:
Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\Sessions\Default%20Settings] "Window/RememberSize"=dword:00000001 "Window/RememberPos"=dword:00000001
Save this as a .reg file and import it, or modify these values directly in regedit. This tells Putty to remember both size and position for all sessions using the Default Settings profile.
For more precise control, you can use AutoHotkey to enforce window dimensions:
#IfWinActive ahk_class PuTTY { WinMove, A,, 100, 100, 800, 600 ; X, Y, Width, Height WinWaitClose, A }
This script positions any new Putty window at 100,100 with 800x600 dimensions. The WinWaitClose ensures it only fires once per session.
To apply different settings per saved session:
- Load your saved session in Putty
- Navigate to Window > Behavior in the configuration
- Check "Save window size and position on exit"
- Return to Session category and click Save
Now each session will maintain its own window properties. This is particularly useful when you have sessions for different servers that you use in different screen locations.
For system administrators managing multiple machines, this PowerShell script can standardize Putty windows:
$puttyPath = "C:\Program Files\PuTTY\putty.exe" $sessionName = "Production-Server" $geometry = "-geometry 120x40+200+100" Start-Process -FilePath $puttyPath -ArgumentList "-load "$sessionName" $geometry"
The geometry parameter follows X11-style format: COLSxROWS+XOFF+YOFF. This gives pixel-perfect control over terminal placement.
Every time I launch PuTTY on my Windows XP machine, I find myself manually resizing and repositioning the terminal window. While PuTTY remembers connection settings through its sessions system, the window geometry mysteriously resets upon each launch. This becomes particularly annoying when working with multiple simultaneous connections.
The "Window" configuration tab in PuTTY only controls the logical terminal size (rows/columns), not the actual window dimensions. When you specify 80x24 in the settings, you're defining the terminal workspace, not the pixel dimensions of the application window.
To make PuTTY remember window size and position, we need to modify Windows registry settings. Here's the step-by-step process:
Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\Sessions\Default%20Settings] "WindowPosX"=dword:000000c8 "WindowPosY"=dword:00000064 "WindowWidth"=dword:00000320 "WindowHeight"=dword:00000258 "WindowMaximized"=dword:00000000
Create a .reg file with this content, adjusting the values to your preferred dimensions:
- WindowPosX/Y: Screen coordinates for window position
- WindowWidth/Height: Pixel dimensions
- WindowMaximized: 0 for normal, 1 for maximized
For power users, we can create a simple PowerShell script to automate this configuration:
# Set-PuTTYWindowSize.ps1 $regPath = "HKCU:\Software\SimonTatham\PuTTY\Sessions\Default%20Settings" New-ItemProperty -Path $regPath -Name "WindowWidth" -Value 800 -PropertyType DWORD -Force New-ItemProperty -Path $regPath -Name "WindowHeight" -Value 600 -PropertyType DWORD -Force New-ItemProperty -Path $regPath -Name "WindowPosX" -Value 100 -PropertyType DWORD -Force New-ItemProperty -Path $regPath -Name "WindowPosY" -Value 100 -PropertyType DWORD -Force
While PuTTY doesn't natively support window geometry parameters in its command line, we can use Windows scripting to launch it at specific coordinates:
@echo off start "PuTTY" /MIN cmd /c "putty.exe -load mysession & exit" timeout /t 1 >nul powershell -command "&{(New-Object -ComObject Shell.Application).Windows() | Where-Object {$_.Name -eq 'PuTTY'} | ForEach-Object {$_.Left=100;$_.Top=100;$_.Width=800;$_.Height=600}}"
Several PuTTY forks and alternatives natively support window position remembering:
- KiTTY (PuTTY fork with enhanced features)
- MobaXterm (Tabbed terminal with session management)
- SuperPuTTY (Tabbed wrapper for PuTTY)
While not as straightforward as it should be, with these techniques you can achieve consistent PuTTY window placement on Windows XP. The registry method provides the most reliable solution, while the scripting approaches offer more flexibility for dynamic scenarios.