Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Shrinking of windows problem #115

Closed
gnusupport opened this issue Jan 6, 2023 · 8 comments
Closed

Shrinking of windows problem #115

gnusupport opened this issue Jan 6, 2023 · 8 comments
Assignees
Labels
enhancement New feature or request

Comments

@gnusupport
Copy link

Please see the discussion here:
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=60585

and see this video of the problem:
https://gnu.support/files/tmp/2023-01-06/2023-01-06-01:22:50.ogv

And see this message:
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=60585#29

Do you think you know why is this happening?

@gijsbers
Copy link
Contributor

gijsbers commented Jan 6, 2023

Works without problems for me with emacs 27.2.

It may be due to a rounding problem with the WM_NORMAL_HINTS property?
It may be related to the dimensions of the font? Which font? How to set it?

Provide the output of icesh spy on the emacs window while the bug occurs.
That records changes in dimensions and changes in the X11 window properties.

@gijsbers
Copy link
Contributor

gijsbers commented Jan 6, 2023

Do they have the same problem with changing fonts with Ctrl-plus and Ctrl-minus in other apps like Firefox.

@gnusupport
Copy link
Author

Here is the log from icesh spy during exact same effect of shrinking window, do you recognize anyhting?

08:15.235: 0x3a00155: Leave Normal NonlinearVirtual Nofocus
08:15.577: 0x3a00155: Enter Normal NonlinearVirtual Nofocus
08:15.763: 0x3a00155: _NET_WM_STATE = _NET_WM_STATE_FOCUSED
08:15.769: 0x3a00155: Focus Normal Nonlinear
08:17.080: 0x3a00155: WM_NORMAL_HINTS USize(826,853) MinSize(34,71) Inc(11,25) Base(34,71)
08:17.082: 0x3a00155: Visibility PartiallyObscured 
08:17.082: 0x3a00155: Configure 0x3a00155 826x846+0+0
08:17.082: 0x3a00155: Visibility Unobscured 
08:17.515: 0x3a00155: WM_NORMAL_HINTS USize(826,846) MinSize(34,71) Inc(12,26) Base(34,71)
08:17.518: 0x3a00155: Visibility PartiallyObscured 
08:17.518: 0x3a00155: Configure 0x3a00155 826x825+0+0
08:17.518: 0x3a00155: Visibility Unobscured 
08:18.239: 0x3a00155: WM_NORMAL_HINTS USize(826,825) MinSize(34,71) Inc(13,27) Base(34,71)
08:18.241: 0x3a00155: Visibility PartiallyObscured 
08:18.241: 0x3a00155: Configure 0x3a00155 814x800+0+0
08:18.241: 0x3a00155: Visibility Unobscured 
08:19.063: 0x3a00155: WM_NORMAL_HINTS USize(814,800) MinSize(34,71) Inc(13,28) Base(34,71)
08:19.066: 0x3a00155: Visibility PartiallyObscured 
08:19.066: 0x3a00155: Configure 0x3a00155 814x799+0+0
08:19.066: 0x3a00155: Visibility Unobscured 
08:20.908: 0x3a00155: WM_NORMAL_HINTS USize(814,799) MinSize(34,71) Inc(13,27) Base(34,71)
08:20.908: 0x3a00155: Visibility PartiallyObscured 
08:20.908: 0x3a00155: Configure 0x3a00155 814x773+0+0
08:20.909: 0x3a00155: Visibility Unobscured 
08:21.240: 0x3a00155: WM_NORMAL_HINTS USize(814,773) MinSize(34,71) Inc(12,26) Base(34,71)
08:21.662: 0x3a00155: WM_NORMAL_HINTS USize(814,773) MinSize(34,71) Inc(11,25) Base(34,71)
08:21.665: 0x3a00155: Visibility PartiallyObscured 
08:21.665: 0x3a00155: Configure 0x3a00155 804x771+0+0
08:21.665: 0x3a00155: Visibility Unobscured 
08:22.049: 0x3a00155: WM_NORMAL_HINTS USize(804,771) MinSize(34,71) Inc(11,23) Base(34,71)
08:22.052: 0x3a00155: Visibility PartiallyObscured 
08:22.052: 0x3a00155: Configure 0x3a00155 804x761+0+0
08:22.052: 0x3a00155: Visibility Unobscured 
08:22.474: 0x3a00155: WM_NORMAL_HINTS USize(804,761) MinSize(34,71) Inc(10,22) Base(34,71)
08:22.475: 0x3a00155: Visibility PartiallyObscured 
08:22.476: 0x3a00155: Configure 0x3a00155 804x753+0+0
08:22.476: 0x3a00155: Visibility Unobscured 
08:22.914: 0x3a00155: WM_NORMAL_HINTS USize(804,753) MinSize(34,71) Inc(10,21) Base(34,71)
08:22.914: 0x3a00155: Visibility PartiallyObscured 
08:22.915: 0x3a00155: Configure 0x3a00155 804x743+0+0
08:22.915: 0x3a00155: Visibility Unobscured 
08:23.319: 0x3a00155: WM_NORMAL_HINTS USize(804,743) MinSize(34,71) Inc(9,20) Base(34,71)
08:23.319: 0x3a00155: Visibility PartiallyObscured 
08:23.320: 0x3a00155: Configure 0x3a00155 799x731+0+0
08:23.320: 0x3a00155: Visibility Unobscured 
08:23.632: 0x3a00155: WM_NORMAL_HINTS USize(799,731) MinSize(34,71) Inc(8,18) Base(34,71)
08:23.633: 0x3a00155: Visibility PartiallyObscured 
08:23.633: 0x3a00155: Configure 0x3a00155 794x719+0+0
08:23.633: 0x3a00155: Visibility Unobscured 
08:24.135: 0x3a00155: WM_NORMAL_HINTS USize(794,719) MinSize(34,71) Inc(9,20) Base(34,71)
08:24.136: 0x3a00155: Visibility PartiallyObscured 
08:24.137: 0x3a00155: Configure 0x3a00155 790x711+0+0
08:24.137: 0x3a00155: Visibility Unobscured 
08:24.883: 0x3a00155: WM_NORMAL_HINTS USize(790,711) MinSize(34,71) Inc(10,21) Base(34,71)
08:24.886: 0x3a00155: Visibility PartiallyObscured 
08:24.886: 0x3a00155: Configure 0x3a00155 784x701+0+0
08:24.886: 0x3a00155: Visibility Unobscured 
08:25.083: 0x3a00155: WM_NORMAL_HINTS USize(784,701) MinSize(34,71) Inc(10,22) Base(34,71)
08:25.084: 0x3a00155: Visibility PartiallyObscured 
08:25.085: 0x3a00155: Configure 0x3a00155 784x687+0+0
08:25.085: 0x3a00155: Visibility Unobscured 
08:25.262: 0x3a00155: WM_NORMAL_HINTS USize(784,687) MinSize(34,71) Inc(11,23) Base(34,71)
08:25.263: 0x3a00155: Visibility PartiallyObscured 
08:25.263: 0x3a00155: Configure 0x3a00155 782x669+0+0
08:25.263: 0x3a00155: Visibility Unobscured 
08:25.440: 0x3a00155: WM_NORMAL_HINTS USize(782,669) MinSize(34,71) Inc(11,25) Base(34,71)
08:25.441: 0x3a00155: Visibility PartiallyObscured 
08:25.441: 0x3a00155: Configure 0x3a00155 782x646+0+0
08:25.441: 0x3a00155: Visibility Unobscured 
08:25.605: 0x3a00155: WM_NORMAL_HINTS USize(782,646) MinSize(34,71) Inc(12,26) Base(34,71)
08:25.606: 0x3a00155: Visibility PartiallyObscured 
08:25.607: 0x3a00155: Configure 0x3a00155 778x643+0+0
08:25.607: 0x3a00155: Visibility Unobscured 
08:25.775: 0x3a00155: WM_NORMAL_HINTS USize(778,643) MinSize(34,71) Inc(13,27) Base(34,71)
08:25.777: 0x3a00155: Visibility PartiallyObscured 
08:25.777: 0x3a00155: Configure 0x3a00155 775x638+0+0
08:25.777: 0x3a00155: Visibility Unobscured 
08:26.290: 0x3a00155: WM_NORMAL_HINTS USize(775,638) MinSize(34,71) Inc(12,26) Base(34,71)
08:26.293: 0x3a00155: Visibility PartiallyObscured 
08:26.293: 0x3a00155: Configure 0x3a00155 766x617+0+0
08:26.293: 0x3a00155: Visibility Unobscured 
08:26.486: 0x3a00155: WM_NORMAL_HINTS USize(766,617) MinSize(34,71) Inc(11,25) Base(34,71)
08:26.491: 0x3a00155: Visibility PartiallyObscured 
08:26.491: 0x3a00155: Configure 0x3a00155 760x596+0+0
08:26.491: 0x3a00155: Visibility Unobscured 
08:26.660: 0x3a00155: WM_NORMAL_HINTS USize(760,596) MinSize(34,71) Inc(11,23) Base(34,71)
08:26.660: 0x3a00155: Visibility PartiallyObscured 
08:26.661: 0x3a00155: Configure 0x3a00155 760x577+0+0
08:26.661: 0x3a00155: Visibility Unobscured 
08:26.829: 0x3a00155: WM_NORMAL_HINTS USize(760,577) MinSize(34,71) Inc(10,22) Base(34,71)
08:26.830: 0x3a00155: Visibility PartiallyObscured 
08:26.830: 0x3a00155: Configure 0x3a00155 754x577+0+0
08:26.830: 0x3a00155: Visibility Unobscured 
08:26.995: 0x3a00155: WM_NORMAL_HINTS USize(754,577) MinSize(34,71) Inc(10,21) Base(34,71)
08:26.997: 0x3a00155: Visibility PartiallyObscured 
08:26.997: 0x3a00155: Configure 0x3a00155 754x575+0+0
08:26.997: 0x3a00155: Visibility Unobscured 
08:27.169: 0x3a00155: WM_NORMAL_HINTS USize(754,575) MinSize(34,71) Inc(9,20) Base(34,71)
08:27.171: 0x3a00155: Visibility PartiallyObscured 
08:27.171: 0x3a00155: Configure 0x3a00155 754x571+0+0
08:27.171: 0x3a00155: Visibility Unobscured 
08:27.326: 0x3a00155: WM_NORMAL_HINTS USize(754,571) MinSize(34,71) Inc(8,18) Base(34,71)
08:27.328: 0x3a00155: Visibility PartiallyObscured 
08:27.328: 0x3a00155: Configure 0x3a00155 754x557+0+0
08:27.328: 0x3a00155: Visibility Unobscured 
08:27.675: 0x3a00155: WM_NORMAL_HINTS USize(754,557) MinSize(34,71) Inc(9,20) Base(34,71)
08:27.676: 0x3a00155: Visibility PartiallyObscured 
08:27.677: 0x3a00155: Configure 0x3a00155 754x551+0+0
08:27.677: 0x3a00155: Visibility Unobscured 
08:27.877: 0x3a00155: WM_NORMAL_HINTS USize(754,551) MinSize(34,71) Inc(10,21) Base(34,71)
08:27.878: 0x3a00155: Visibility PartiallyObscured 
08:27.878: 0x3a00155: Configure 0x3a00155 754x533+0+0
08:27.879: 0x3a00155: Visibility Unobscured 
08:28.055: 0x3a00155: WM_NORMAL_HINTS USize(754,533) MinSize(34,71) Inc(10,22) Base(34,71)
08:28.215: 0x3a00155: WM_NORMAL_HINTS USize(754,533) MinSize(34,71) Inc(11,23) Base(34,71)
08:28.219: 0x3a00155: Visibility PartiallyObscured 
08:28.219: 0x3a00155: Configure 0x3a00155 749x531+0+0
08:28.220: 0x3a00155: Visibility Unobscured 
08:28.389: 0x3a00155: WM_NORMAL_HINTS USize(749,531) MinSize(34,71) Inc(11,25) Base(34,71)
08:28.390: 0x3a00155: Visibility PartiallyObscured 
08:28.390: 0x3a00155: Configure 0x3a00155 749x521+0+0
08:28.390: 0x3a00155: Visibility Unobscured 
08:28.548: 0x3a00155: WM_NORMAL_HINTS USize(749,521) MinSize(34,71) Inc(12,26) Base(34,71)
08:28.549: 0x3a00155: Visibility PartiallyObscured 
08:28.549: 0x3a00155: Configure 0x3a00155 742x513+0+0
08:28.549: 0x3a00155: Visibility Unobscured 
08:29.041: 0x3a00155: WM_NORMAL_HINTS USize(742,513) MinSize(34,71) Inc(11,25) Base(34,71)
08:29.042: 0x3a00155: Visibility PartiallyObscured 
08:29.043: 0x3a00155: Configure 0x3a00155 738x496+0+0
08:29.043: 0x3a00155: Visibility Unobscured 
08:29.238: 0x3a00155: WM_NORMAL_HINTS USize(738,496) MinSize(34,71) Inc(11,23) Base(34,71)
08:29.240: 0x3a00155: Visibility PartiallyObscured 
08:29.240: 0x3a00155: Configure 0x3a00155 738x485+0+0
08:29.240: 0x3a00155: Visibility Unobscured 
08:29.408: 0x3a00155: WM_NORMAL_HINTS USize(738,485) MinSize(34,71) Inc(10,22) Base(34,71)
08:29.410: 0x3a00155: Visibility PartiallyObscured 
08:29.410: 0x3a00155: Configure 0x3a00155 734x467+0+0
08:29.410: 0x3a00155: Visibility Unobscured 
08:29.581: 0x3a00155: WM_NORMAL_HINTS USize(734,467) MinSize(34,71) Inc(10,21) Base(34,71)
08:29.582: 0x3a00155: Visibility PartiallyObscured 
08:29.582: 0x3a00155: Configure 0x3a00155 734x449+0+0
08:29.582: 0x3a00155: Visibility Unobscured 
08:29.746: 0x3a00155: WM_NORMAL_HINTS USize(734,449) MinSize(34,71) Inc(9,20) Base(34,71)
08:29.748: 0x3a00155: Visibility PartiallyObscured 
08:29.748: 0x3a00155: Configure 0x3a00155 727x431+0+0
08:29.748: 0x3a00155: Visibility Unobscured 
08:30.380: 0x3a00155: WM_NORMAL_HINTS USize(727,431) MinSize(34,71) Inc(10,21) Base(34,71)
08:30.381: 0x3a00155: Visibility PartiallyObscured 
08:30.381: 0x3a00155: Configure 0x3a00155 724x428+0+0
08:30.381: 0x3a00155: Visibility Unobscured 
08:30.572: 0x3a00155: WM_NORMAL_HINTS USize(724,428) MinSize(34,71) Inc(10,22) Base(34,71)
08:30.574: 0x3a00155: Visibility PartiallyObscured 
08:30.574: 0x3a00155: Configure 0x3a00155 724x423+0+0
08:30.574: 0x3a00155: Visibility Unobscured 
08:30.739: 0x3a00155: WM_NORMAL_HINTS USize(724,423) MinSize(34,71) Inc(11,23) Base(34,71)
08:30.740: 0x3a00155: Visibility PartiallyObscured 
08:30.740: 0x3a00155: Configure 0x3a00155 716x416+0+0
08:30.740: 0x3a00155: Visibility Unobscured 
08:30.897: 0x3a00155: WM_NORMAL_HINTS USize(716,416) MinSize(34,71) Inc(11,25) Base(34,71)
08:30.898: 0x3a00155: Visibility PartiallyObscured 
08:30.899: 0x3a00155: Configure 0x3a00155 716x396+0+0
08:30.899: 0x3a00155: Visibility Unobscured 
08:31.068: 0x3a00155: WM_NORMAL_HINTS USize(716,396) MinSize(34,71) Inc(12,26) Base(34,71)
08:31.068: 0x3a00155: Visibility PartiallyObscured 
08:31.069: 0x3a00155: Configure 0x3a00155 706x383+0+0
08:31.069: 0x3a00155: Visibility Unobscured 
08:32.516: 0x3a00155: WM_NORMAL_HINTS USize(706,383) MinSize(34,71) Inc(13,27) Base(34,71)
08:32.517: 0x3a00155: Visibility PartiallyObscured 
08:32.517: 0x3a00155: Configure 0x3a00155 697x368+0+0
08:32.517: 0x3a00155: Visibility Unobscured 
08:32.712: 0x3a00155: WM_NORMAL_HINTS USize(697,368) MinSize(34,71) Inc(13,28) Base(34,71)
08:32.714: 0x3a00155: Visibility PartiallyObscured 
08:32.715: 0x3a00155: Configure 0x3a00155 697x351+0+0
08:32.715: 0x3a00155: Visibility Unobscured 
08:32.965: 0x3a00155: WM_NORMAL_HINTS USize(697,351) MinSize(34,71) Inc(14,30) Base(34,71)
08:32.965: 0x3a00155: Visibility PartiallyObscured 
08:32.966: 0x3a00155: Configure 0x3a00155 692x341+0+0
08:32.966: 0x3a00155: Visibility Unobscured 
08:33.079: 0x3a00155: WM_NORMAL_HINTS USize(692,341) MinSize(34,71) Inc(14,31) Base(34,71)
08:33.079: 0x3a00155: Visibility PartiallyObscured 
08:33.080: 0x3a00155: Configure 0x3a00155 692x319+0+0
08:33.080: 0x3a00155: Visibility Unobscured 
08:34.335: 0x3a00155: WM_NORMAL_HINTS USize(692,319) MinSize(34,71) Inc(14,30) Base(34,71)
08:34.344: 0x3a00155: Visibility PartiallyObscured 
08:34.344: 0x3a00155: Configure 0x3a00155 692x311+0+0
08:34.344: 0x3a00155: Visibility Unobscured 
08:34.511: 0x3a00155: WM_NORMAL_HINTS USize(692,311) MinSize(34,71) Inc(13,28) Base(34,71)
08:34.513: 0x3a00155: Visibility PartiallyObscured 
08:34.513: 0x3a00155: Configure 0x3a00155 684x295+0+0
08:34.513: 0x3a00155: Visibility Unobscured 
08:34.661: 0x3a00155: WM_NORMAL_HINTS USize(684,295) MinSize(34,71) Inc(13,27) Base(34,71)
08:34.663: 0x3a00155: Visibility PartiallyObscured 
08:34.663: 0x3a00155: Configure 0x3a00155 684x287+0+0
08:34.663: 0x3a00155: Visibility Unobscured 
08:34.832: 0x3a00155: WM_NORMAL_HINTS USize(684,287) MinSize(34,71) Inc(12,26) Base(34,71)
08:34.833: 0x3a00155: Visibility PartiallyObscured 
08:34.833: 0x3a00155: Configure 0x3a00155 682x279+0+0
08:34.833: 0x3a00155: Visibility Unobscured 
08:34.994: 0x3a00155: WM_NORMAL_HINTS USize(682,279) MinSize(34,71) Inc(11,25) Base(34,71)
08:34.996: 0x3a00155: Visibility PartiallyObscured 
08:34.996: 0x3a00155: Configure 0x3a00155 672x271+0+0
08:34.996: 0x3a00155: Visibility Unobscured 
08:35.536: 0x3a00155: WM_NORMAL_HINTS USize(672,271) MinSize(34,71) Inc(12,26) Base(34,71)
08:35.538: 0x3a00155: Visibility PartiallyObscured 
08:35.538: 0x3a00155: Configure 0x3a00155 670x253+0+0
08:35.538: 0x3a00155: Visibility Unobscured 
08:35.725: 0x3a00155: WM_NORMAL_HINTS USize(670,253) MinSize(34,71) Inc(13,27) Base(34,71)
08:35.726: 0x3a00155: Visibility PartiallyObscured 
08:35.726: 0x3a00155: Configure 0x3a00155 658x233+0+0
08:35.726: 0x3a00155: Visibility Unobscured 
08:36.243: 0x3a00155: WM_NORMAL_HINTS USize(658,233) MinSize(34,71) Inc(13,28) Base(34,71)
08:36.244: 0x3a00155: Visibility PartiallyObscured 
08:36.244: 0x3a00155: Configure 0x3a00155 658x211+0+0
08:36.244: 0x3a00155: Visibility Unobscured 
08:36.647: 0x3a00155: WM_NORMAL_HINTS USize(658,211) MinSize(34,71) Inc(14,30) Base(34,71)
08:36.647: 0x3a00155: Visibility PartiallyObscured 
08:36.647: 0x3a00155: Configure 0x3a00155 650x191+0+0
08:36.647: 0x3a00155: Visibility Unobscured 
08:36.648: 0x3a00155: Configure 0x3a00155 650x221+0+0
08:36.648: 0x3a00155: Visibility PartiallyObscured 
08:36.648: 0x3a00155: Visibility Unobscured 
08:36.648: 0x3a00155: Configure 0x3a00155 650x221+673+27 Send
08:37.668: 0x3a00155: WM_NORMAL_HINTS USize(650,221) MinSize(34,71) Inc(13,28) Base(34,71)
08:37.669: 0x3a00155: Visibility PartiallyObscured 
08:37.670: 0x3a00155: Configure 0x3a00155 645x211+0+0
08:37.670: 0x3a00155: Visibility Unobscured 
08:37.939: 0x3a00155: WM_NORMAL_HINTS USize(645,211) MinSize(34,71) Inc(13,27) Base(34,71)
08:37.939: 0x3a00155: Visibility PartiallyObscured 
08:37.940: 0x3a00155: Configure 0x3a00155 645x206+0+0
08:37.940: 0x3a00155: Visibility Unobscured 
08:38.150: 0x3a00155: WM_NORMAL_HINTS USize(645,206) MinSize(34,71) Inc(12,26) Base(34,71)
08:38.151: 0x3a00155: Visibility PartiallyObscured 
08:38.151: 0x3a00155: Configure 0x3a00155 634x201+0+0
08:38.151: 0x3a00155: Visibility Unobscured 
08:38.330: 0x3a00155: WM_NORMAL_HINTS USize(634,201) MinSize(34,71) Inc(11,25) Base(34,71)
08:38.332: 0x3a00155: Visibility PartiallyObscured 
08:38.332: 0x3a00155: Configure 0x3a00155 628x196+0+0
08:38.332: 0x3a00155: Visibility Unobscured 
08:38.500: 0x3a00155: WM_NORMAL_HINTS USize(628,196) MinSize(34,71) Inc(11,23) Base(34,71)
08:38.500: 0x3a00155: Visibility PartiallyObscured 
08:38.501: 0x3a00155: Configure 0x3a00155 628x186+0+0
08:38.501: 0x3a00155: Visibility Unobscured 
08:38.999: 0x3a00155: WM_NORMAL_HINTS USize(628,186) MinSize(34,71) Inc(11,25) Base(34,71)
08:39.002: 0x3a00155: Visibility PartiallyObscured 
08:39.002: 0x3a00155: Configure 0x3a00155 628x171+0+0
08:39.002: 0x3a00155: Visibility Unobscured 
08:39.002: 0x3a00155: Configure 0x3a00155 628x196+0+0
08:39.002: 0x3a00155: Visibility PartiallyObscured 
08:39.002: 0x3a00155: Visibility Unobscured 
08:39.002: 0x3a00155: Configure 0x3a00155 628x196+673+27 Send
08:39.190: 0x3a00155: WM_NORMAL_HINTS USize(628,196) MinSize(34,71) Inc(12,26) Base(34,71)
08:39.190: 0x3a00155: Visibility PartiallyObscured 
08:39.191: 0x3a00155: Configure 0x3a00155 622x175+0+0
08:39.191: 0x3a00155: Visibility Unobscured 
08:39.191: 0x3a00155: Configure 0x3a00155 622x201+0+0
08:39.191: 0x3a00155: Visibility PartiallyObscured 
08:39.191: 0x3a00155: Visibility Unobscured 
08:39.192: 0x3a00155: Configure 0x3a00155 622x201+673+27 Send
08:39.380: 0x3a00155: WM_NORMAL_HINTS USize(622,201) MinSize(34,71) Inc(13,27) Base(34,71)
08:39.381: 0x3a00155: Visibility PartiallyObscured 
08:39.381: 0x3a00155: Configure 0x3a00155 619x179+0+0
08:39.381: 0x3a00155: Visibility Unobscured 
08:39.381: 0x3a00155: Configure 0x3a00155 619x206+0+0
08:39.381: 0x3a00155: Visibility PartiallyObscured 
08:39.382: 0x3a00155: Visibility Unobscured 
08:39.382: 0x3a00155: Configure 0x3a00155 619x206+673+27 Send
08:39.576: 0x3a00155: WM_NORMAL_HINTS USize(619,206) MinSize(34,71) Inc(13,28) Base(34,71)
08:39.576: 0x3a00155: Visibility PartiallyObscured 
08:39.577: 0x3a00155: Configure 0x3a00155 619x183+0+0
08:39.577: 0x3a00155: Visibility Unobscured 
08:39.577: 0x3a00155: Configure 0x3a00155 619x211+0+0
08:39.577: 0x3a00155: Visibility PartiallyObscured 
08:39.577: 0x3a00155: Visibility Unobscured 
08:39.577: 0x3a00155: Configure 0x3a00155 619x211+673+27 Send
08:40.465: 0x3a00155: WM_NORMAL_HINTS USize(619,211) MinSize(34,71) Inc(13,27) Base(34,71)
08:40.466: 0x3a00155: Visibility PartiallyObscured 
08:40.467: 0x3a00155: Configure 0x3a00155 619x206+0+0
08:40.467: 0x3a00155: Visibility Unobscured 
08:40.635: 0x3a00155: WM_NORMAL_HINTS USize(619,206) MinSize(34,71) Inc(12,26) Base(34,71)
08:40.636: 0x3a00155: Visibility PartiallyObscured 
08:40.636: 0x3a00155: Configure 0x3a00155 610x201+0+0
08:40.636: 0x3a00155: Visibility Unobscured 
08:40.829: 0x3a00155: WM_NORMAL_HINTS USize(610,201) MinSize(34,71) Inc(11,25) Base(34,71)
08:40.830: 0x3a00155: Visibility PartiallyObscured 
08:40.830: 0x3a00155: Configure 0x3a00155 606x196+0+0
08:40.830: 0x3a00155: Visibility Unobscured 
08:41.042: 0x3a00155: WM_NORMAL_HINTS USize(606,196) MinSize(34,71) Inc(11,23) Base(34,71)
08:41.043: 0x3a00155: Visibility PartiallyObscured 
08:41.043: 0x3a00155: Configure 0x3a00155 606x186+0+0
08:41.043: 0x3a00155: Visibility Unobscured 
08:41.493: 0x3a00155: WM_NORMAL_HINTS USize(606,186) MinSize(34,71) Inc(11,25) Base(34,71)
08:41.495: 0x3a00155: Visibility PartiallyObscured 
08:41.495: 0x3a00155: Configure 0x3a00155 606x171+0+0
08:41.495: 0x3a00155: Visibility Unobscured 
08:41.495: 0x3a00155: Configure 0x3a00155 606x196+0+0
08:41.495: 0x3a00155: Visibility PartiallyObscured 
08:41.495: 0x3a00155: Visibility Unobscured 
08:41.495: 0x3a00155: Configure 0x3a00155 606x196+673+27 Send
08:41.673: 0x3a00155: WM_NORMAL_HINTS USize(606,196) MinSize(34,71) Inc(12,26) Base(34,71)
08:41.673: 0x3a00155: Visibility PartiallyObscured 
08:41.674: 0x3a00155: Configure 0x3a00155 598x175+0+0
08:41.674: 0x3a00155: Visibility Unobscured 
08:41.674: 0x3a00155: Configure 0x3a00155 598x201+0+0
08:41.674: 0x3a00155: Visibility PartiallyObscured 
08:41.674: 0x3a00155: Visibility Unobscured 
08:41.674: 0x3a00155: Configure 0x3a00155 598x201+673+27 Send
08:41.829: 0x3a00155: WM_NORMAL_HINTS USize(598,201) MinSize(34,71) Inc(13,27) Base(34,71)
08:41.829: 0x3a00155: Visibility PartiallyObscured 
08:41.829: 0x3a00155: Configure 0x3a00155 593x179+0+0
08:41.829: 0x3a00155: Visibility Unobscured 
08:41.830: 0x3a00155: Configure 0x3a00155 593x206+0+0
08:41.830: 0x3a00155: Visibility PartiallyObscured 
08:41.830: 0x3a00155: Visibility Unobscured 
08:41.830: 0x3a00155: Configure 0x3a00155 593x206+673+27 Send
08:41.999: 0x3a00155: WM_NORMAL_HINTS USize(593,206) MinSize(34,71) Inc(13,28) Base(34,71)
08:41.999: 0x3a00155: Visibility PartiallyObscured 
08:42.000: 0x3a00155: Configure 0x3a00155 593x183+0+0
08:42.000: 0x3a00155: Visibility Unobscured 
08:42.000: 0x3a00155: Configure 0x3a00155 593x211+0+0
08:42.000: 0x3a00155: Visibility PartiallyObscured 
08:42.000: 0x3a00155: Visibility Unobscured 
08:42.001: 0x3a00155: Configure 0x3a00155 593x211+673+27 Send
08:42.164: 0x3a00155: WM_NORMAL_HINTS USize(593,211) MinSize(34,71) Inc(14,30) Base(34,71)
08:42.167: 0x3a00155: Visibility PartiallyObscured 
08:42.167: 0x3a00155: Configure 0x3a00155 580x191+0+0
08:42.167: 0x3a00155: Visibility Unobscured 
08:42.167: 0x3a00155: Configure 0x3a00155 580x221+0+0
08:42.167: 0x3a00155: Visibility PartiallyObscured 
08:42.167: 0x3a00155: Visibility Unobscured 
08:42.167: 0x3a00155: Configure 0x3a00155 580x221+673+27 Send
08:42.755: 0x3a00155: WM_NORMAL_HINTS USize(580,221) MinSize(34,71) Inc(13,28) Base(34,71)
08:42.756: 0x3a00155: Visibility PartiallyObscured 
08:42.757: 0x3a00155: Configure 0x3a00155 580x211+0+0
08:42.757: 0x3a00155: Visibility Unobscured 
08:42.941: 0x3a00155: WM_NORMAL_HINTS USize(580,211) MinSize(34,71) Inc(13,27) Base(34,71)
08:42.941: 0x3a00155: Visibility PartiallyObscured 
08:42.942: 0x3a00155: Configure 0x3a00155 580x206+0+0
08:42.942: 0x3a00155: Visibility Unobscured 
08:43.111: 0x3a00155: WM_NORMAL_HINTS USize(580,206) MinSize(34,71) Inc(12,26) Base(34,71)
08:43.111: 0x3a00155: Visibility PartiallyObscured 
08:43.112: 0x3a00155: Configure 0x3a00155 574x201+0+0
08:43.112: 0x3a00155: Visibility Unobscured 
08:44.264: 0x3a00155: Leave Normal NonlinearVirtual Focus
08:44.462: 0x3a00155: _NET_WM_STATE = 
08:44.468: 0x3a00155: Defocus Normal Nonlinear

@gnusupport
Copy link
Author

Do they have the same problem with changing fonts with Ctrl-plus and Ctrl-minus in other apps like Firefox.

No, I don't have the same problem when changing font in Emacs by using single buffer modification, only when using global modification.

@gijsbers
Copy link
Contributor

gijsbers commented Jan 6, 2023

In that spy output there is:

08:22.052: 0x3a00155: Configure 0x3a00155 804x761+0+0
08:22.052: 0x3a00155: Visibility Unobscured 
08:22.474: 0x3a00155: WM_NORMAL_HINTS USize(804,761) MinSize(34,71) Inc(10,22) Base(34,71)
08:22.475: 0x3a00155: Visibility PartiallyObscured 
08:22.476: 0x3a00155: Configure 0x3a00155 804x753+0+0

If you look at the height of 761 then 761 - 71 is not a multiple of the vertical increment 22.
Hence the height is adjusted to 753, because (753 - 71) / 22 = 31 exactly.
Maybe the size is adjusted to match the Inc and Base.

In my emacs, with either global-text-scale-mode enabled or disabled, my icesh spy always has this:

WM_NORMAL_HINTS MinSize(0,0) Base(0,0)

And no problem occurs. So unfortunately I can't repeat your experiment.
If I could get the same WM_NORMAL_HINTS behavior I could look deeper into this.

@gijsbers
Copy link
Contributor

gijsbers commented Jan 6, 2023

IceWM historically has ignored the USSize field in the WM_NORMAL_HINTS property. To enforce a size an app must set both the PMinSize and the PMaxSize to the same value. Because there is no PMaxSize, icewm is free to adjust the size to a value which is in accordance to the emacs provided PBaseSize and PResizeInc. See the ICCCM for details. IceWM is still standards conformant. It just has a different interpretation than other WMs.

gijsbers added a commit to bbidulock/icewm that referenced this issue Jan 8, 2023
@gijsbers gijsbers self-assigned this Jan 8, 2023
@gijsbers gijsbers added the enhancement New feature or request label Jan 8, 2023
@gijsbers
Copy link
Contributor

gijsbers commented Feb 5, 2023

This was released in 3.3.1 two weeks ago. Does it work to your satisfaction?

@gnusupport
Copy link
Author

I cannot even know. I am using icewm 3.3.1-1, and Emacs developers also corrected the behavior, so from both sides it was corrected. I think your correction is not even necessary if you say IceWM does it by standard.

To test it, I would need to go back to previous Emacs version. I think it is not necessary.

Issue shall be closed.

I just hope that it does not affect IceWM negatively.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants