[Sawfish] Re: Porting Sawfish to Racket

[ Thread Index | Date Index | More lists.tuxfamily.org/sawfish Archives ]

Dear Sawfish and Racket users,

After roughly estimating the effort required to port Sawfish to Racket ( http://sawfish.wikia.com/wiki/Porting_Sawfish_to_Racket ), I found that it would be too much work and would probably not be the best option. The effort required before having anything usable would just be too big. So I started a new project from scratch ( https://github.com/Metaxal/RWind/ ), which is currently in a minimal but usable state (for testing purposes). Even though it's not Sawfish, it's aimed at being very similar to it (extensibility, scripting in Scheme, console, etc.), but of course its current state is nowhere near Sawfish.

However, I believe its development should be greatly simplified thanks to Racket and DrRacket and its wonderful debugging messages and facilities than using C and Rep. It avoids C altogether thanks to Jon Rafkind's X11 bindings using the foreign function interface ( https://github.com/kazzmir/x11-racket , which also provides xlambda, a simple rewriting of xmonad, due to Kevin Tew).

I'm going to run low on spare time, so anyone willing to help (even with very small increments) is welcome. And of course I can help anyone wanting to get started but doesn't know where to begin. Critics and ideas are also welcome (now is a good time for them, later may be too late to change things).


On Thu, Oct 25, 2012 at 1:12 PM, Laurent <laurent.orseau@xxxxxxxxx> wrote:
(cross-post sawfish, racket)

Hi all,

Only very recently have I discovered the excellent, simple and lispy window manager Sawfish ( http://sawfish.wikia.com/ ), after being frustrated with Compiz and Metacity and wanting to do what I really want to do with my windows (tried xmonad, wished it would force me to learn Haskell, but couldn't stand the syntax. Plus it seemed too constrained to me).

However, Sawfish uses an outdated and specific Scheme-like language named Rep, and the maintainers are currently looking for a replacement with less flaws and which would be better and actively maintained.
Racket ( http://www.racket-lang.org/ ) has been suggested on several occasions, among other languages (e.g., Chicken, or even Python).
I personally love Racket and would be very happy to have it in Sawfish (actually I want a Racket-machine), especially when it comes to debugging (couldn't yet figure out a good way to do that cleanly).

Although there is little chance (unfortunately) that I can/will invest a lot of energy and time in trying to port Sawfish to Racket, I figured that if I could help the process a little, things may move slightly faster. So I started a page on Sawfish's wiki to try to evaluate what needs to be done and what are the biggest problems to solve:

It's currently in a stub state, but I will add information with time as I use and understand Rep (and Racket better). But there are people out there who know one or both of them better than me, so please contribute to the page as you see fit.

My $0.02, waiting for the ultimate window manager,

Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/