Welcome to awesome bug tracking system.

FS#985 - Provide lua-ev / lgi+glib mainloop integration

Attached to Project: awesome
Opened by Julien Danjou (jd) - Thursday, 05 April 2012, 07:57 GMT
Last edited by Uli Schlachter (psychon) - Wednesday, 21 November 2012, 20:06 GMT
Task Type Bug Report
Category Core
Status Closed
Assigned To No-one
Operating System All
Severity Low
Priority Normal
Reported Version git/master
Due in Version 3.5
Due Date Undecided
Percent Complete 100%
Votes 0
Private No


Uli did all the hard work already, see

We should integrate his example into a module or something so that user can use it easily.
This task depends upon

Closed by  Uli Schlachter (psychon)
Wednesday, 21 November 2012, 20:06 GMT
Reason for closing:  Fixed
Additional comments about closing:  commit ea3011941063f2b4f7721fa520a0b9a4069b436f
Author: Uli Schlachter <>
Date: Wed Nov 21 21:01:12 2012 +0100

Use glib instead of libev

This commit ports awesome from libev to the glib main loop. This means that
awesome has fewer dependencies, because we were already depending on glib before
and now no longer need glib.

However, the main reason for this change is that, thanks to lgi, we have glib
bindings for lua. This means that lua code can add all kinds of event sources to
the main loop (timeouts, fd watchers, SIGCHLD watchers, ....). Yay

Signed-off-by: Uli Schlachter <>
Comment by Uli Schlachter (psychon) - Thursday, 05 April 2012, 11:54 GMT
Uhm, what exactly is this bug about? Adding a module to awful which implements an asyncronous spawn() via lua-ev and luaposix? Or is this more a "make awesome work with lua-ev" thingie? (That last part isn't necessary, thanks to libev's default loop being a global variable, it already works with lua-ev).
Comment by Uli Schlachter (psychon) - Saturday, 16 June 2012, 19:21 GMT
Now that we found lgi, I guess this should be abandoned. I'd rather switch from libev to a glib-based mainloop and have all of the lgi stuff work automagically.