Skip to content

enable live tracking of dock changes - #11

Open
kencu wants to merge 1 commit into
XQuartz:mainfrom
kencu:updatedockscreen
Open

enable live tracking of dock changes#11
kencu wants to merge 1 commit into
XQuartz:mainfrom
kencu:updatedockscreen

Conversation

@kencu

@kencu kencu commented Aug 17, 2026

Copy link
Copy Markdown
Member

previously the size of the usable screen area was
calculated once at program launch. This PR adds
live tracking of changes in the usable screen area induced by alterations in the dock visibility and
location, and also tracks screen changes and updates _NET_WORKAREA so that applications that use the
extended window manager hints size themselves properly.

(requires associated commit in quartz-wm)

see: XQuartz/XQuartz#508

previously the size of the usable screen area was
calculated once at program launch. This PR adds
live tracking of changes in the usable screen area
induced by alterations in the dock visibility and
location, and also tracks screen changes and updates
_NET_WORKAREA so that applications that use the
extended window manager hints size themselves properly.

(requires associated commit in quartz-wm)

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
see: XQuartz/XQuartz#508
@kencu

kencu commented Aug 17, 2026

Copy link
Copy Markdown
Member Author

this PR is currently to be tested in a beta of XQuartz prior to being merged here.

jeremyhu added a commit that referenced this pull request Aug 18, 2026
Failure to do so causes an overvlow in glxClientCallback

Application Specific Information:
X.Org X Server 1.18.99.1 Build Date: 20160911
=================================================================
==52118==ERROR: AddressSanitizer: SEGV on unknown address 0x000102b27b80 (pc 0x000103433245 bp 0x70000de67c20 sp 0x70000de67c00 T6)
    #0 0x103433244 in __asan::asan_free(void*, __sanitizer::BufferedStackTrace*, __asan::AllocType) (libclang_rt.asan_osx_dynamic.dylib+0x3244)
    #1 0x10347aeee in wrap_free (libclang_rt.asan_osx_dynamic.dylib+0x4aeee)
    #2 0x102e6a5ed in glxClientCallback glxext.c:301
    #3 0x102b672a3 in _CallCallbacks dixutils.c:737
    #4 0x102b2f0c6 in CallCallbacks callback.h:83
    #5 0x102b5c15a in NextAvailableClient dispatch.c:3562
    #6 0x102d7060c in AllocNewConnection connection.c:777
    #7 0x102d71355 in EstablishNewConnections connection.c:863
    #8 0x102b662f0 in ProcessWorkQueue dixutils.c:523
    #9 0x102d52a7f in WaitForSomething WaitFor.c:175
    #10 0x102b204f6 in Dispatch dispatch.c:411
    #11 0x102b61e01 in dix_main main.c:301
    #12 0x10254c42a in server_thread quartzStartup.c:66
    #13 0x7fffc5f16aaa in _pthread_body (libsystem_pthread.dylib+0x3aaa)
    #14 0x7fffc5f169f6 in _pthread_start (libsystem_pthread.dylib+0x39f6)
    #15 0x7fffc5f161fc in thread_start (libsystem_pthread.dylib+0x31fc)

Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
(cherry picked from commit 1d22931)
jeremyhu added a commit that referenced this pull request Aug 18, 2026
Failure to do so causes an overvlow in RRClientCallback().

=================================================================
==41262==ERROR: AddressSanitizer: global-buffer-overflow on address 0x000103ccfbc8 at pc 0x0001034f32b9 bp 0x7000035a94c0 sp 0x7000035a94b8
WRITE of size 4 at 0x000103ccfbc8 thread T6
    #0 0x1034f32b8 in RRClientCallback randr.c:72
    #1 0x1038c75e3 in _CallCallbacks dixutils.c:737
    #2 0x10388f406 in CallCallbacks callback.h:83
    #3 0x1038bc49a in NextAvailableClient dispatch.c:3562
    #4 0x103ad094c in AllocNewConnection connection.c:777
    #5 0x103ad1695 in EstablishNewConnections connection.c:863
    #6 0x1038c6630 in ProcessWorkQueue dixutils.c:523
    #7 0x103ab2dbf in WaitForSomething WaitFor.c:175
    #8 0x103880836 in Dispatch dispatch.c:411
    #9 0x1038c2141 in dix_main main.c:301
    #10 0x1032ac75a in server_thread quartzStartup.c:66
    #11 0x7fffc5f16aaa in _pthread_body (libsystem_pthread.dylib+0x3aaa)
    #12 0x7fffc5f169f6 in _pthread_start (libsystem_pthread.dylib+0x39f6)
    #13 0x7fffc5f161fc in thread_start (libsystem_pthread.dylib+0x31fc)

Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
(cherry picked from commit f923500)
@eschaton

Copy link
Copy Markdown

Looks reasonable to me.

jeremyhu added a commit that referenced this pull request Sep 3, 2026
Failure to do so causes an overvlow in glxClientCallback

Application Specific Information:
X.Org X Server 1.18.99.1 Build Date: 20160911
=================================================================
==52118==ERROR: AddressSanitizer: SEGV on unknown address 0x000102b27b80 (pc 0x000103433245 bp 0x70000de67c20 sp 0x70000de67c00 T6)
    #0 0x103433244 in __asan::asan_free(void*, __sanitizer::BufferedStackTrace*, __asan::AllocType) (libclang_rt.asan_osx_dynamic.dylib+0x3244)
    #1 0x10347aeee in wrap_free (libclang_rt.asan_osx_dynamic.dylib+0x4aeee)
    #2 0x102e6a5ed in glxClientCallback glxext.c:301
    #3 0x102b672a3 in _CallCallbacks dixutils.c:737
    #4 0x102b2f0c6 in CallCallbacks callback.h:83
    #5 0x102b5c15a in NextAvailableClient dispatch.c:3562
    #6 0x102d7060c in AllocNewConnection connection.c:777
    #7 0x102d71355 in EstablishNewConnections connection.c:863
    #8 0x102b662f0 in ProcessWorkQueue dixutils.c:523
    #9 0x102d52a7f in WaitForSomething WaitFor.c:175
    #10 0x102b204f6 in Dispatch dispatch.c:411
    #11 0x102b61e01 in dix_main main.c:301
    #12 0x10254c42a in server_thread quartzStartup.c:66
    #13 0x7fffc5f16aaa in _pthread_body (libsystem_pthread.dylib+0x3aaa)
    #14 0x7fffc5f169f6 in _pthread_start (libsystem_pthread.dylib+0x39f6)
    #15 0x7fffc5f161fc in thread_start (libsystem_pthread.dylib+0x31fc)

Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
(cherry picked from commit 1d22931)
jeremyhu added a commit that referenced this pull request Sep 3, 2026
Failure to do so causes an overvlow in RRClientCallback().

=================================================================
==41262==ERROR: AddressSanitizer: global-buffer-overflow on address 0x000103ccfbc8 at pc 0x0001034f32b9 bp 0x7000035a94c0 sp 0x7000035a94b8
WRITE of size 4 at 0x000103ccfbc8 thread T6
    #0 0x1034f32b8 in RRClientCallback randr.c:72
    #1 0x1038c75e3 in _CallCallbacks dixutils.c:737
    #2 0x10388f406 in CallCallbacks callback.h:83
    #3 0x1038bc49a in NextAvailableClient dispatch.c:3562
    #4 0x103ad094c in AllocNewConnection connection.c:777
    #5 0x103ad1695 in EstablishNewConnections connection.c:863
    #6 0x1038c6630 in ProcessWorkQueue dixutils.c:523
    #7 0x103ab2dbf in WaitForSomething WaitFor.c:175
    #8 0x103880836 in Dispatch dispatch.c:411
    #9 0x1038c2141 in dix_main main.c:301
    #10 0x1032ac75a in server_thread quartzStartup.c:66
    #11 0x7fffc5f16aaa in _pthread_body (libsystem_pthread.dylib+0x3aaa)
    #12 0x7fffc5f169f6 in _pthread_start (libsystem_pthread.dylib+0x39f6)
    #13 0x7fffc5f161fc in thread_start (libsystem_pthread.dylib+0x31fc)

Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
(cherry picked from commit f923500)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants