I can't follow your steps to reproduce there seems to be missing steps. I presume you built from nightly tarball to get a 1.39, unfortunately that doesn't say what the git was when you built it as it does for built from git (see below), 1.39 is still in development so things can change at any point.
I ran Geany:
``` (null): Geany INFO : Geany 1.39 (git >= b7558417), en_AU.UTF-8 (null): Geany INFO : GTK 3.24.20, GLib 2.64.6 (null): Geany INFO : OS: Linux Mint 20 (ulyana) ``` on a separate config ie `geany -c /tmp/something` and did:
1. start Geany, starts with the default size, not maximised 2. maximise geany, close and reopen, sidebar has same width 3. change sidebar width, close and reopen, sidebar retains new width 4. unmaximise geany, size and position is defined by the WM I suspect since Geany has no record of the pre-maximise values, but sidebar is the same width _in pixels_ not percent. 5. close and reopen, sidebar retains the same width
AFAIK thats the expected behaviour. If yours behaves differently can you post the values of the `treeview_position` and `geometry` from `/tmp/something/session.conf`