Looks very good.
Two minor remarks: - maybe we could add a short comment in https://github.com/geany/geany/pull/4023/files#diff-42b5b46e89c71a2aee5d52ad... and https://github.com/geany/geany/pull/4023/files#diff-8396dc9c2232193e29aaeddb... to explain why we are doing this - I noticed if the panes are restored after they have been set to < 10px, the message window pane takes some more space than before (relative to the default window size). This is probably no big issue because most users will *not* use the default window size as it is way too small and we can never know what the correct size will be. And after all, this is probably also dependent on the GTK theme. We could use a dynamic ratio based on parent widget allocation but then again, this probably won't fit the users preference. So it is probably fine as is.
Fresh config: ![geany_default_pane_positions](https://github.com/user-attachments/assets/e28e545c-30e2-4393-809c-8c7d116d6...) After panes have been set to <10px and restored: ![geany_restored_pane_positions](https://github.com/user-attachments/assets/eff3a8a6-ca3d-4dcd-9723-6df744344...)
**After all, I think this is a very good addition to help users to easily restore the panes after they have been (maybe accidentally) hidden by setting the size too small.**