>>> "PL" == Po Lu writes: > Uwe Brauer writes: >>>>> "PL" == Po Lu writes: >> >>> Uwe Brauer writes: >>> Then the screenshot with the early-init >>> >>> It seems to look ok but when it finishes loading all my init files, it >>> looks like emacs -Q >> >>> Sigh. If you instrument emacsgtkfixed.c as follows: >> >>> if (hints->width_inc && data[5] % hints->width_inc) >>> data[5] += (hints->width_inc - (data[5] % hints->width_inc)); >>> if (hints->height_inc && data[6] % hints->height_inc) >>> data[6] += (hints->height_inc - (data[6] % hints->height_inc)); >>> (Add instrumentation following this line) >>> fprintf (stderr, "XSetWMSizeHints: %l %l width_inc: %l height_inc: %l\n", >>> data[5], data[6], hints->width_inc, hints->height_inc) >> >>> what is printed when you start Emacs with "-Q", and Kwin shrinks your >>> window? >> >> I don't know anything about that C code (and the last time, I did some C coding is some 10 years ago) >> >> >> Not sure I understand, I apply the patch attached below and run make again: >> >> Then I get an error (so most likely I misunderstood you) >> >> >> GEN globals.h >> CC emacsgtkfixed.o >> emacsgtkfixed.c: In function ‘XSetWMSizeHints’: >> emacsgtkfixed.c:190:21: warning: unknown conversion type character 0x20 in format [-Wformat=] >> fprintf (stderr, "XSetWMSizeHints: %l %l width_inc: %l height_inc: %l\n", /* new code for testing */ >> ^ >> emacsgtkfixed.c:190:21: warning: unknown conversion type character 0x20 in format [-Wformat=] >> emacsgtkfixed.c:190:21: warning: unknown conversion type character 0x20 in format [-Wformat=] >> emacsgtkfixed.c:190:21: warning: unknown conversion type character 0xa in format [-Wformat=] >> emacsgtkfixed.c:190:21: warning: too many arguments for format [-Wformat-extra-args] >> emacsgtkfixed.c:192:6: error: expected ‘;’ before ‘}’ token >> } >> ^ >> Makefile:414: recipe for target 'emacsgtkfixed.o' failed >> make: *** [emacsgtkfixed.o] Error 1 > Ah, silly me. Please replace %l with %ld. ,---- | | make | GEN globals.h | CC emacsgtkfixed.o | emacsgtkfixed.c: In function ‘XSetWMSizeHints’: | emacsgtkfixed.c:190:21: warning: format ‘%ld’ expects argument of type ‘long int’, but argument 5 has type ‘int’ [-Wformat=] | fprintf (stderr, "XSetWMSizeHints: %ld %ld width_inc: %ld height_inc: %ld\n", | ^ | emacsgtkfixed.c:190:21: warning: format ‘%ld’ expects argument of type ‘long int’, but argument 6 has type ‘int’ [-Wformat=] | make -C ../admin/charsets all `---- And ,---- | ./emacs -Q | XSetWMSizeHints: 297 51 width_inc: 9 height_inc: 17 | XSetWMSizeHints: 414 51 width_inc: 9 height_inc: 17 | | (emacs:2027): Gtk-WARNING **: Allocating size to Emacs 0x2be63e0 without calling gtk_widget_get_preferred_width/height(). How does the code know the size to allocate? | XSetWMSizeHints: 414 51 width_inc: 9 height_inc: 17 | XSetWMSizeHints: 414 85 width_inc: 9 height_inc: 17 | XSetWMSizeHints: 414 85 width_inc: 9 height_inc: 17 | XSetWMSizeHints: 414 153 width_inc: 9 height_inc: 17 | XSetWMSizeHints: 414 153 width_inc: 9 height_inc: 17 `----