Signal runtime errors via a naughty popup

Whenever awesome's C code calls into lua via a protected call, the debug::error
signal is emitted on errors. We now use this to give naughty popups for every
single error that happens. This should help people to notice errors easier.

The only exception are mouse and key grabbers and config loading, those don't go
through debug::error. I guess that means that the grabbers need to be hooked up
to debug::error. :-)

Signed-off-by: Uli Schlachter <psychon@znc.in>
This commit is contained in:
Uli Schlachter 2011-10-23 17:36:56 +02:00
parent 2354c6a623
commit 59d4e00b8b
1 changed files with 15 additions and 0 deletions

View File

@ -17,6 +17,21 @@ if awesome.startup_errors then
title = "Oops, there were errors during startup!", title = "Oops, there were errors during startup!",
text = awesome.startup_errors }) text = awesome.startup_errors })
end end
-- Handle runtime errors after startup
do
local in_error = false
awesome.connect_signal("debug::error", function (err)
-- Make sure we don't go into an endless error loop
if in_error then return end
in_error = true
naughty.notify({ preset = naughty.config.presets.critical,
title = "Oops, an error happened!",
text = err })
in_error = false
end)
end
-- }}} -- }}}
-- {{{ Variable definitions -- {{{ Variable definitions