6 ms·
Clog – The Common Lisp Omnificent GUI
- jpe90 3y agoI’ve been exploring this project recently, I’m having a great time with it so far. The many examples and great documentation are much appreciated. I’m very tempted to try it for some upcoming projects building workflow systems at work.
- kaeland 3y agoI really hope this library continues to grow. Going through Dr. Botton’s documentation has been helpful in learning the in’s and out’s of CLOG.
- dbotton 3y ago[dead]
- nine_k 3y agoAn important note: this is not about "native GUI", this is about creating a GUI inside a browser.
- brabel 3y agoCommon Lisp has a specification for a GUI framework, CLIM... This project implements it: https://codeberg.org/McCLIM/McCLIM https://codeberg.org/McCLIM/McCLIM However, just today I tried to run it on MacOS and got socket errors... it seems that it tries to communicate with a backend server via sockets, and Mac doesn't let that run?!
- LispSporks22 3y agoEven on macOS I believe McCLIM will use X11, for which CLX is the Common Lisp implementation of. CLX works by sending X11 packets over a socket. Unless you have Quartz or similar installed, you probably got that error.
- brabel 3y agoYeah I noticed McCLIM uses the X Server, but wasn't aware that doesn't work on MacOS. So, if I install XQuartz I'll get an X Server that can make things work? MacOS is not based on X11 itself? Does it use its own thing?
- eschaton 3y agoNeither NeXT nor the Mac OS used X11 so Mac OS X didn’t either. X11 has always been an option atop the native window system.
- eikenberry 3y agoI'm starting to come around to the idea that the browser is the modern GUI framework. That is that modern web browsers are the native desktop widget set these days and the model of running an app that opens a browser tab (not electron) as it's interface is probably the best option for many applications.
- lisper 3y agoThe latest version of Allegro Common Lisp has a IDE that runs in a browser.
- nine_k 3y agoIn many cases, this is a fine approach: see Syncthing, or every router GUI. Also, you can throw away the DOM and render everything via WebGL, which may be fine for something like a video editor. What bothers me for decades is the stubborn refusal of browser vendors to allow connecting to domain sockets on Unix or named pipes on Windows. That would solve the problem of connecting to some random port on localhost, where TLS is a pain.
- Karrot_Kream 3y agoThat is unfortunately one of the main reasons to turn to something like Electron.
- deleted 3y ago[deleted]
- vindarel 3y agoand for a quick overview of other GUI solutions: https://lispcookbook.github.io/cl-cookbook/gui.html https://lispcookbook.github.io/cl-cookbook/gui.html (Gtk4, Qt4 and 5, LispWorks' CAPI (incl. for mobile runtimes), IUP…) I have been pleasantly surprised lately to discover surprisingly nice-looking Tk themes (like https://github.com/rdbende/Forest-ttk-theme https://github.com/rdbende/Forest-ttk-theme). We can use them from CL too, with the nodgui library :) (see link)
- jpe90 3y agoI don't think CAPI works on mobile runtimes, unfortunately
- koito17 3y agoI've wanted to use this for a while, but I've always wanted something not requiring a web browser and not a pain to set up on SBCL (McCLIM has one dependency that always causes compilation errors, but I forgot it's name since it's been a while since I've tried using McCLIM on SBCL -- in the end I use CCL for anything CLIM-related). This also rules out using Qt at all. No idea about GTK but CFFI bugs in Lisp are always difficult to debug -- not really Common Lisp's fault, FFI in general leads to difficult-to-debug problems in the future. That leaves me with... Ltk (Lisp bindings for Tcl/Tk), shelling out thousands of dollars for LispWorks, or using something like ABCL and Java Swing. ... I guess I'll just use Clog anyway :)
- deleted 3y ago[deleted]
- LordShredda 3y agoThat's always been an issue for lisp. The best software is paid, the best hardware at the time was expensive lisp machines. It's great to use if you can access the software
- fud101 3y agoLtk. I used that for a few apps back in the day. Good times. It was hacky as hell but worked well enough.
- schemescape 3y agoCan this use a WebView instead of connecting to a localhost port? Edit: it’s not clear to me from the readme if this is something it provides or just something that would theoretically be possible.
- dbotton 3y ago[dead]
- icrbow 3y agoAt a glance, it looks like it would have quite a few accessibility issues.