Not sure what you mean?
Let me try a sequence that shows the two options I understand:
1. Geany opened unmaximised, pane position P1 is read from the config file and set 2. Geany is maximised, GTK resizes the edit pane and calculates a new pane position so the message window stays the same size, P2 3. Geany is unmaximised, GTK resizes the edit pane and calculates a new pane position so the message window stays the same size, P3 (==P1) 4. Geany is maximised, GTK resizes the edit pane and calculates a new pane position so the message window stays the same size, P4 (==P2) 5. Geany is closed, option a (current behaviour): save P4, option b (possible alternative): save P1 originally read and stashed in a variable
Option a (current behaviour) :
6. Geany is opened and maximises, P4 is loaded from the config file and set, Geany is restored as it last was [chirping birds of happyness] 7. Geany is unmaximised, GTK only knows about P4 (Geany set it at step 6) so it uses that and the size of the message window changes [expletive deleted]
Option b (possible alternative):
6. Geany is opened and maximises, P1 is loaded from the config file and set, the message window has changed size [expletive deleted] 7. Geany is unmaximised, GTK only knows about P1 set at step 6, so the message window returns to the original size [possibly chirping birds of happiness, or expletive deleted its changed AGAIN!!!]
Note how the two options mirror each other, one works maximised, the other works unmaximised.
Can you explain your option c.