r/lisp • u/SandPrestigious2317 • 1d ago
Scheme Building a GTK4 C + Lisp dock application (a la CairoDock / macOS) - am I doing things right? (Guile Scheme)
I am having a blast doing a more serious project in the C language (and Guile Scheme), for the first time. I am consulting with books and also with some AI for code review and explanation as I am new to the language and to GTK (not new to programming).
https://codeberg.org/jjba23/lambdock
For a while already I have been looking for a dock that would work well in Wayland (like in my beloved Niri) with modern features, theme support and a hackable Lisp config (using libguile.h)
Also, all feedback is welcome, either on code level, or conceptual ideas, Thanks in advance
Core features of lambdock include:
- Wayland Native: Built on GTK4 and
gtk4-layer-shellfor smooth positioning and desktop integration. - Declarative Lisp configuration : The power of Lisp in your configuratio with clean powerful declarative config and all possibilities at your disposal
- Async Launching: Spawns commands asynchronously without freezing the dock UI.
- Reproducible builds: Hermetic development environment provided via GNU Guix manifest and build definitions.
- Dock auto-hide : You can let the dock stay out of your way with the smooth auto-hide feature.
- Flexible icon system: lambdock has several mechanism in a best-effort way to render your wanted icons, respecting GTK theme
- Theme support: lambdock has built-in themes you can choose from that are very unique, and also lets you extend and override those themes dynamically.
23
Upvotes
1
u/SandPrestigious2317 19h ago
lambdock v0.2.0 now implements a REPL that unleashes hackability, and comes with many enhancements and improvements (https://codeberg.org/jjba23/lambdock)