How to prevent Terminal from resizing when font size is changed

10.8.3/Terminal 2.3.

Terminal resizes the entire window in seemingly unpredictable ways whenever I change the size of the font -- a frequent operation when frequently going between laptop and external displays.

Is there some way to prevent this? iTerm seems to do the same thing.

Update: Based on @robmathers' answer below, it seems likely that what I want isn't possible. Can anyone recommend any OS X terminal emulators that don't have this feature?


As far as I know, you can't do this in Terminal (I don't use iTerm, so I can't speak to that). The reason is that Terminal's window sizes are defined by characters, rather than pixels. Hence, when you change fonts, the window resizes based on the proportions of that font, so as to preserve the format of the existing content on the screen.

It sounds a bit silly at first, but given that a terminal simply displays only text characters, it makes sense — if a window is sized by pixels, you'd often end up with wasted space when the size of the window doesn't exactly match a character boundary.


Old question here ... but thought I'd add that this has been supported in iTerm for almost two years now https://gitlab.com/gnachman/iterm2/issues/2900

Just uncheck the "Adjust window when changing font size" box in the preferences.

iTerm Preferences, General tab

2020 Update

The box is now here:

2020 version, iTerm Preferences, General tab


Based on your update to the question, have a look at the ZOC Terminal. It it is commercial, can be used for local shells and also SSH and other connections, but offers tabbed sessions and the ability to control what happens when the window is resized (for example the there is a choice to retain the the rows/columns and instead shrink/grow font size, etc.). Have a look at it's Session-Profile>Layout settings page.