clx icon indicating copy to clipboard operation
clx copied to clipboard

How to change property with pixmap

Open C-Entropy opened this issue 4 years ago • 1 comments

Code in C:

XChangeProperty(disp2, root2, prop_root, XA_PIXMAP, 32, PropModeReplace, (unsigned char *) &pmap_d2, 1);

How to do this in clx? I tried something like this:

(setf *pixmap* (xlib:create-pixmap
		:drawable *root*
		:width (xlib:drawable-width *root*)
		:height (xlib:drawable-height *root*)
		:depth (xlib:drawable-depth *root*)))
(xlib:change-property *root*
		      :_XROOTMAP_ID
		      *pixmap*
		      :pixmap
		      32
		      :mode :replace)

but apperently, *pixmap* will just not work. Do I have to get address of pixmap? And how?

C-Entropy avatar Apr 24 '21 11:04 C-Entropy

change-property doesn't transform data for you, that's what the TRANSFORM key is for. you should use #'xlib:drawable-id as transform and 'xlib:pixmap should work as type.

JMC-design avatar Jul 19 '21 17:07 JMC-design