libera/#commonlisp - IRC Chatlog
Search
18:53:34
piethesailor
I am trying to use "clx" an running into an issue. Anyone familiar? looking for a tip.
18:55:14
piethesailor
So far I've (ql:quickload :clx) and tried to run (xlib:open-display "localhost:0") and im getting an: `Name service error in "getaddrinfo": -2 (Name or service not known)` error
18:55:50
Nilby
splittist: Here's some hackish lines I had in my .lisprc to start LEM without roswell. I haven't tested it recently. https://plaster.tymoon.eu/view/3812#3812
18:55:50
piethesailor
I've also tried using various ip address found with1 ip addr show | grep 'inet '
18:58:01
Nilby
piethesailor: maybe (open-display "localhost" :display 0) or even (open-display "" :display 0)
18:59:28
piethesailor
Nilby: Ah! your second suggestion returned a display object! Much appreciated!
18:59:29
gilberth
These days there also is (XLIB:OPEN-DEFAULT-DISPLAY) which may be more reliable. And are we sure that the X11 listens on a TCP/IP socket and not on a UNIX domain socket only?
19:01:00
piethesailor
I am not sure which it runs on, must be worth knowing. I am running ubuntu through windows subsystem. So that might muddy things..
19:02:39
piethesailor
and that makes sense now that I think about it Nilby. I am trying to get this code to work https://gist.github.com/wiedzmin/4653b830fd351b69dacb21b6108f4809
19:03:41
gilberth
What does "echo $DISPLAY" or (XLIB::GETENV "DISPLAY") say? Anyhow, this OPEN-DEFAULT-DISPLAY should do the right thing.
19:12:26
piethesailor
[Condition of type XLIB:MATCH-ERROR]. Ill post the code I am trying to run in a paste bin here in a sec
19:15:54
piethesailor
This might be a more in depth issue, could be too much for discussion here, but I'll try my luck
19:25:09
Nilby
piethesailor: This might not be the best way, but it works for me if I change line 16 to: :image-data (xlib::image-x-data image)
19:29:48
Nilby
I used to get match errors on older version of CLX, but that doesn't seem happen much anymore.
19:31:05
gilberth
The code also assumes a certain pixel format and visual class. Bound to break. One of the most tedious parts of the X11 protocol. I wish they would have designed the X11 protocol in a device independent fashion.
19:31:45
adeht
https://github.com/VitoVan/cl-dino has some clx code (cl-autogui) I found useful, including an x-snapshot function
19:35:54
piethesailor
Interesting.. Appreciate all the input so far. I am getting the match error when running (take-screenshot) so that would be before I even get to saving the screen shot as png
19:43:05
Nilby
piethesailor: I think the error usually means the default visual for the display different than the root window, which could happen with multiple monitors, gpu cards, or even the desktop environment / window manager.
19:44:45
Nilby
the "xpdyinfo" command can show the visuals and you can compare to what you're getting. But maybe also make sure your CLX is up to date.
19:45:41
piethesailor
is xpdyinfo supposed to be run in term? I am getting cammand not found in the eshell
19:47:00
piethesailor
and I ql:quickloaded CLX just a day or two ago. so I think I am good on that front
19:49:42
piethesailor
gilberth: I am seeing a lot of class: TrueColor Depth: 24 planes items when I run xdpyinfo
19:50:41
pve
Hi, is there a page that lists which macros or special operators, when they are top-level forms, also process their "inner forms" as top-level forms?
19:53:27
gilberth
This is curious. The GetImage X11 protocol request doesn't need a depth or visual. It rather returns that information. The protocol spec says that a match error occurs when the rectangle asked is not viewable (not considering inferiors or siblings). So are we sure that this is an CLX or programming issue and not a server issue. Perhaps some of the modern compositing or even wayland getting into the way?
19:53:28
specbot
Processing of Top Level Forms: http://www.lispworks.com/reference/HyperSpec/Body/03_bca.htm
19:54:21
gilberth
Hence suspecting a wrong visual or depth being chosen is a red herring as far as I can see.
19:56:57
gilberth
So I would first test with an "xwd -root > out.wd" command to see if this is supposed to work at all.
20:19:28
Nilby
I get a match error on a Wayland system too. Which also of course doesn't have those old fashioned X11 commands.
20:20:45
piethesailor
I'll reiterate, I am on wsl ubuntu. However, I get the same error on my Pop!_OS machine
21:52:05
piethesailor
I've missed practically the last hour of the feed. Anyone make advancements on the screenshot situation?
22:05:27
Nilby
But you may be get a copy of a window. I was able to get a copy of a window I created under Xwayland.
22:12:32
Nilby
I would guess getting the window of another process/connection might be blocked too but I haven't tried that yet.