[gpm] splitted libgpm and gpmd, 9p, ...

Enrico Weigelt weigelt@metux.de
Mon Jun 2 12:41:41 CEST 2008

* Nico Schottelius <nico-gpm@schottelius.org> wrote:


> Enrico Weigelt [Mon, May 26, 2008 at 09:55:52PM +0200]:
> > I've splitted libgpm and gpmd into separate packages also provided
> > ebuilds (Gentoo) for them:
> Well, splitting it does not help me very much, as both code is developed
> together. But as usual, I do not care what distributors do, as long as
> it works for them and does not break the package.

Well, it helps, at least for packaging (think of small devices !).
For my systems, I need an *clear* border between client and server
stuff, and - of course - clear and strict dependencies.

For example, an headless system should only contain an small
libgpm, which understands the xterm mouse codes, while an pure
terminal only needs an minimal gpmd.

> >     svn://nibiru.metux.de/public/gpm/
> Must confess that I personally would prefer git over svn, so merging
> stuff back would be easier (and no, I do not consider git-svn as
> something useful, if one mainly uses git, because merges break in svn
> and get rebased).

Well, I don't have any experience w/ git, find it quite complex and
hard to learn. The reason I've chosen svn is I just needed an easy-to-use
cvs replacement. For 99% of my daily work, svn is very easy (eg. the
fact that branches and tags are just copies). Well, one missing thing
(which git might do better) is maintaining patchlines (git IMHO is built
upon patches instead of versioned trees). But proper branching and a
few shell scripts should do the trick.

Maybe you could give me an quick howto for git ?

> > I'm also working on an 9P-enabled gpm (see 9psrv branch). It's 
> > already makes much of it's internal status accessible via 9P,
> > an mouse event channel is soon coming. Once this is working, 
> > I'll port libgpm to the 9P interface and make the old one
> > optional.
> Very nice to see other people hacking on gpm und I'll look forward
> to your results. Just post from time to time to the list, if you
> have news.


> Perhaps you can explain why 9P could be interesting for people and
> how to use it -> so maybe you get more hands / eyes on that idea.

Well, the first point is that internal status and runtime configuration
can now be accessed via a simple filesystem interface. Not special 
protocol and tools needed - just mount it (my mc-9p has an 9p vfs :))
and use plain file io. With 9P it's completely network agnostic.

The next step is an 9P-based event interface (a bit like linux-evdev,
but purely text-based and network agnostic), which just sends the input 
events (not only mouse) line per line. No special protocol needed,
a read loop and a bunch of strcmp() and sscanf() will be enough.
One day this new interface should completely replace the current 
gpm protocol, so libgpm isn't really necessary for many apps anymore.

 Enrico Weigelt    ==   metux IT service - http://www.metux.de/
 Please visit the OpenSource QM Taskforce:
 Patches / Fixes for a lot dozens of packages in dozens of versions:

More information about the gpm mailing list