I am concerned that certain terminal based UI applications may not properly work inside Geany.
IIRC Fish was using minimum 20 columns and 2 lines in its check, which seems arbitrary, unless it's from POSIX standard? Moreover, at least here, Geany's terminal has the correct output for `tput cols` (and `$COLUMNS`) and `tput lines` (and `$LINES`), so it shouldn't affect anything but the initial shell.
LibVTE has always been weird with respect to sizing due to it always having to update/maintain the terminal size (columns/lines) dynamically on-the-fly and also having to respect GTK+'s widget sizing stuff (pixels width/height), and in addition being inside a GTK+ scrolled window.
It's possible a workaround could be implemented, like only spawning the shell command after the VTE widget is sized/realized using a callback and hoping the user doesn't have their message window shrunk down "too" small or by enforcing a minimum width/height somehow like standalone VTE applications do (ex. gnome-terminal, xfce4-terminal), but it doesn't seem worth it to me unless someone volunteers to investigate and make a patch.