Re: other WMs moving to Wayland. The answer appears to be: not much.

XMonad had a GSoC application that does not appear to have panned out (due
to lack of mentorship). i3 won't have any anytime soon
<https://faq.i3wm.org/question/687/i3-support-for-wayland/> (but does have
an alternative implementation <http://swaywm.org/> or two). There are a few
'inspired by dwm' wayland TWMs floating around.

It looks like there are a couple of compositor libraries (wlc
<https://github.com/Cloudef/wlc> and swc
<https://github.com/michaelforney/swc> appear to be the most mature) that
we could bind to with FFI.

On the whole it looks a lot like it did 8 months ago when I was hacking on
Wayland stuff: reimplementations. Existing implementations were built for X
and nobody seems interested in porting most of it (except in the case of
XMonad maybe).

Enough about Wayland, though. Back to the original topic: The Future of
StumpWM

On Tue, Aug 25, 2015 at 6:22 PM, David Bjergaard <dbjerga...@gmail.com>
wrote:

> Hi David,
>
> This is very reassuring as it confirms my somewhat foggy take on the whole
> matter.  The clx manual [1] hasn't been modified since 1997, and a lot of
> the
> entries on the CLiki relating to clx grew out of development of stumpwm
> cl-truetype and some links to clx documentation.
>
> I'm not sure how wayland will fit into CL going forward.  What I would see
> as
> most likely is that FFI bindings would be written, and if there was
> incentive
> for a company to do a native Wayland implementation there would be clw
> equivalent of clx.  I agree with all of your points.  I too have played
> with the
> idea of using Racket or Chicken scheme, but ultimately have decided
> (completely
> biased of course) that CL is probably the best tool for the job.  (If no
> other
> reason than SLIME is unbeatable)
>
> Thinking out loud: I wonder how the other off-brand window managers are
> preparing for wayland (xmonad, awesome)? Even if we didn't make something
> that
> was easily wayland compatible, there is plenty of room for improving
> StumpWMs
> internal window management (unit tests please!).
>
> Cheers,
>
>     David
>
> [1] https://common-lisp.net/project/cmucl/doc/clx/
>
> J David Smith <emall...@archlinux.us> writes:
>
> > I have done some work on building a wayland TWM in Racket and one of
> > the problems that I forsee for Stump2 is that Wayland operates totally
> > differently.
> >
> > For those that aren't familiar with Wayland's structure: Wayland is a
> > protocol, not a library. This unfortunately means that we will need a
> > compositor. There are some C compositors floating around that have
> > decent bindings for FFI, but no CL ones (to my knowledge). There are
> > presently (to my knowledge) no implementations of the Wayland protocol
> > for CL. I was working on one for Racket but got bogged down in the
> > details and let the project stagnate. If we want to support *both*
> > Wayland and X, then we will absolutely need an abstraction layer
> > between the display layer and the management layer.
> >
> > This will require more work, but it also presents the opportunity to
> > have a more sane (from a user standpoint) API for managing which
> > windows are displayed where. We could, for example, start by deciding
> > what the TWM primitive operations are and then base the abstraction
> > layer on *those* instead of on what the display library provides as
> > primitives.
> >
> > To circle around to what I originally wanted to say: the current
> > codebase would have to be *very* heavily refactored to support
> > Wayland. If we *ever* want Wayland support (and, IMO, that is a
> > desirable thing to have), then the tear-down and rebuild approach that
> > David is suggesting is the best path in my opinion (for whatever my
> > opinion counts as...).
> >
> > I'm also super excited at the possibility of having a WM with
> > ace-window and hydra.
> >
> > - J David Smith
> >
> > P.S. I know I mention Racket several times. I'm not suggesting that
> > Stump2 be in Racket (although that would be cool...). Stump is in CL,
> > it makes sense for Stump2 to be in CL.
> >
> > On Tue, Aug 25, 2015 at 5:13 AM, David Bjergaard <davi...@duke.edu>
> > wrote:
> >
> >     Hi Guys,
> >
> >     For those following along I sent a separate email whose content
> >     didn't match the
> >     subject line. In order to have a better discussion I'm splitting
> >     out the parts
> >     that effect the greater StumpWM community. From the other thread I
> >     proposed the
> >     question putting StumpWM in maintenance mode:
> >     > In either case, stumpwm would be done. Whats the future of
> >     tiling window
> >     > managers written in lisp? Well, I would like to take a stab at
> >     writing my own,
> >     > modernizing things in the process. And of course stealing as
> >     much from stumpwm
> >     > as possible.
> >
> >     > A lot of stumpwm was informed by ratpoison, and further by
> >     constraints of clx.
> >     > It would be nice to implement something that had enough layers
> >     of abstraction
> >     > that the window system didn't matter as much. Specifically
> >     something that could
> >     > change from clx to whatever wayland does. Another goal would be
> >     to use whatever
> >     > available libraries there are for gui/input stuff so that
> >     unicode and ttf fonts
> >     > could be used from the start. This would introduce dependencies
> >     which is
> >     > something stumpwm has eschewed, but something a future window
> >     manager should
> >     > (IMHO) embrace.
> >     Scott Jaderholm wrote:
> >     > I was very surprised by the suggestion of "no further
> >     development" and
> >     > "In either case, stumpwm would be done." If that's the direction
> >     you
> >     > want to go perhaps a separate thread should be created for
> >     discussing
> >     > that since I'm not particularly interested in utf8 input but I
> >     am
> >     > definitely interested in that topic and I suspect there are
> >     others
> >     > that feel similarly who might have skipped this thread.
> >
> >     > I'm very grateful for all the work you've done as the
> >     > maintainer/developer. I can understand if you're not interested
> >     in
> >     > further development but only bug fixes. I assume by freeze you
> >     mean of
> >     > features others implement not just that you don't personally
> >     plan to
> >     > implement new features. Perhaps though it would be still
> >     worthwhile to
> >     > have people submitting pull requests for new features and just
> >     accept
> >     > them to an unstable branch or make it clear that you're waiting
> >     for a
> >     > new maintainer to step up for new features to be merged, and see
> >     if
> >     > anyone wants to take over that part of stumpwm. It would be a
> >     shame
> >     > for people to have the idea that stumpwm is finished or to miss
> >     out on
> >     > receiving pull requests if in a year someone steps up to
> >     continue
> >     > development. I think making the freeze conditional (on a new
> >     > maintainer) or temporary is better than declaring the project is
> >     done.
> >
> >     > I agree a new wm (or major revision of stumpwm) with a layer of
> >     > separation from the underlying windowing system is very exciting
> >     and I
> >     > look forward to it. I can totally understand if you want to use
> >     more
> >     > of your personal time in that area. But let's not kill
> >     enthusiasm for
> >     > improving the project we currently have for something that may
> >     or may
> >     > not exist in the future.
> >
> >     So, let me flesh out my ideas a bit more than say "Hey guys, well,
> >     StumpWM is
> >     done, long live StumpWM":
> >
> >     StumpWM has some really great features (the .stumpwmrc, the module
> >     system, the
> >     manual built from doc-strings, the build system, and the tiling
> >     aspect of window
> >     management). It also has some half-baked stuff (floating windows
> >     and float
> >     groups).
> >
> >     While the code base is relatively well structured, it is
> >     monolithic in the sense
> >     that other projects don't benefit from some of the innovations
> >     StumpWM has made
> >     (keysyms and kbd related stuff, the gui related things etc) and
> >     StumpWM doesn't
> >     benefit from progress made externally. It also maintains internal
> >     copies of
> >     cl-fad (granted this is a stable package) rather than relying on
> >     an external
> >     version. All of this results in StumpWM occupying an interesting
> >     bubble which
> >     is relatively insulated from the outside world.
> >
> >     There are even projects that are moving from xlib to xcb at the
> >     clx level, which
> >     StumpWM won't see since it works with clx.
> >
> >     With all that said, I find it difficult to extend and hack on the
> >     codebase
> >     itself. There is no testing system and you never know when your
> >     going to change
> >     something and have it affect something completely different (9
> >     times out of 10
> >     you'll revert a bug or cause a new one in my experience). This is
> >     as much a
> >     function of StumpWM's design as it is all the duct-tape code used
> >     to work around
> >     bugs and issues people have reported/patched over the years.
> >
> >     As I write, I'm beginning to realize what I'm ultimately proposing
> >     is to jump
> >     from StumpWM 1.0 to 2.0 by tearing it down and re-assembling it
> >     with the
> >     following design goals:
> >     - Use an external gui toolkit (with support for anti aliased
> >     fonts, its the 21st
> >     century!)
> >     - Unit tests, every function gets a test, and every PR must pass
> >     these tests. If
> >     a commit adds a new function, it adds a new test. This is a hard
> >     rule.
> >     - Tiling windows based around emacs's ace-window [1] and a common
> >     lisp port of
> >     hydras two of the most innovative things to come out of the
> >     (e)lisp community
> >     in a long time
> >     - Floating/tiling in one work space baked in with the ability to
> >     resize tiles
> >     with the mouse. It drives me nuts that if I want to split in a
> >     more
> >     complicated way that half I have to enter a special mode with
> >     heretical vim
> >     key bindings! And its painstakingly slow!
> >     - A window model that is abstract enough to allow multiple
> >     backends (wayland,
> >     mir, whatever replaces clx/x11). This last one is debatable since
> >     you
> >     interact with clx in the lisp ecosystem and that's been
> >     shelf-stable since the
> >     mid 90s as far as I can tell. On the other hand, if you build the
> >     right
> >     abstractions, there's no reason someone can't write a MacOS
> >     backend or a
> >     Windows backend (clearly spoken from someone who has never touched
> >     either)
> >
> >     What will happen to StumpWM while all this is happening? Well, I'm
> >     happy to keep
> >     maintaining it, incorporating pull requests, adding modules, and
> >     keeping it
> >     building on the latest sbcl/clisp/ccl images. Of course as bugs
> >     are uncovered
> >     and fixed there would be periodic bug fix releases, but I don't
> >     see myself doing
> >     significant development on new features in the 1.0 line.
> >
> >     If I'm a little frank: I feel obligated to address the issues that
> >     have been
> >     reported on the issue tracker before I work on new features. Some
> >     of the issues
> >     I can't reproduce, and others stem from problems in the codebase I
> >     don't have
> >     the expertise handle. The result is that I usually find something
> >     else to work
> >     on when I want to hack code which isn't fair to StumpWM.
> >
> >     Please let me know what you guys think.
> >
> >     Sincerely,
> >
> >     David
> >
> >     [1] http://oremacs.com/2015/05/13/ace-window-0.9.0/
> >
> >     _______________________________________________
> >     Stumpwm-devel mailing list
> >     Stumpwm-devel@nongnu.org
> >     https://lists.nongnu.org/mailman/listinfo/stumpwm-devel
> >
> >
> >
> > _______________________________________________
> > Stumpwm-devel mailing list
> > Stumpwm-devel@nongnu.org
> > https://lists.nongnu.org/mailman/listinfo/stumpwm-devel
>
_______________________________________________
Stumpwm-devel mailing list
Stumpwm-devel@nongnu.org
https://lists.nongnu.org/mailman/listinfo/stumpwm-devel

Reply via email to