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:
parent
2354c6a623
commit
59d4e00b8b
|
@ -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
|
||||||
|
|
Loading…
Reference in New Issue