-
Notifications
You must be signed in to change notification settings - Fork 6
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
Fix assertion #27
base: master
Are you sure you want to change the base?
Fix assertion #27
Conversation
xcb-icccm.el (xcb:unmarshal) assert value according to value-len
This is asserting that you're actually getting a single reply for a single-value property. It's supposed to error if you receive multiple replies. In this case, the window manager should never return two values. How did you run into this? |
I can always reproduce it when the reply is cached. I mean
and then to try unmarshal this reply. |
This returns 1 for me: (slot-value
(car (xcb:+request+reply exwm--connection
(make-instance 'xcb:ewmh:get-_NET_ACTIVE_WINDOW :window exwm--root)))
'value-len) |
Again, what window manager? |
Most often When I check xprop in terminal, it nevertheless always shows me 2 values:
Seems to me that asserting to value-len could be a compatible solution. Emacs 29.2 |
Hm. XFCE seems to differ from i3 and EXWM. It's recording a timestamp: Looking at the reference XCB library, XFWM4 looks incorrect: https://cgit.freedesktop.org/xcb/util-wm/tree/ewmh/ewmh.c.m4 Can you report a bug here and see what they say? This looks like an old bug and I'm guessing that XELB is just a bit pickier than most tools. |
Error message:
Debugger entered--Lisp error: (cl-assertion-failed ((= 1 (length value)) nil))
Some debugging: