martin rudalics writes: >> It seems like thereʼs some kind of race condition going on when >> creating the initial frame. It seems pretty sensitive though, as soon >> as I start looking for the cause it goes away. > > You could try setting 'frame-size-history' to something like '(1000) > and look at what 'frame--size-history' tells. Since this does not > cover the initial frame, you may have to do a hard setting in frame.c. > So when everything kinda works: (965 (# adjust-frame-size-1 (1120 1080 1120 1080) (set-window-configuration 1)) (# adjust-frame-size-3 (1820 1680 1120 1080) (1849 1680 1149 1080)) (# adjust-frame-size-1 (1820 1680 1120 1080) (change-frame-size 5)) (# xg-frame-resized (1820 1680 1120 1080) nil) (# adjust-frame-size-3 (1120 1080 1820 1680) (1149 1080 1849 1680)) So we start small, go big, then go small again, but the end result, even though it looks correct, is actually wrong: (frame-parameter nil 'height) 36 (frame-parameter nil 'width) 80 Although I asked for: (add-to-list 'default-frame-alist '(width . 130)) (add-to-list 'default-frame-alist '(height . 56)) in the .el Iʼm loading. When it doesnʼt work: (967 (# adjust-frame-size-1 (1820 1680 1820 1680) (set-window-configuration 1)) (# adjust-frame-size-3 (1120 1080 1820 1680) (1149 1080 1849 1680)) (# adjust-frame-size-1 (1120 1080 1820 1680) (change-frame-size 5)) (# xg-frame-resized (1120 1080 1120 1080) nil) (# xg-frame-set-char-size-3 (1120 1080 1120 1080) (1149 1183)) we start big, go small, and stay small. The frame is actually the same size as previous, but emacs' state is messed up: (frame-parameter nil 'height) 56 (frame-parameter nil 'width) 130 Iʼve attached both full traces. Robert