From 59d4e00b8b22a63fc99835dd70a7a6147c3e4446 Mon Sep 17 00:00:00 2001 From: Uli Schlachter Date: Sun, 23 Oct 2011 17:36:56 +0200 Subject: [PATCH] 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 --- awesomerc.lua.in | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/awesomerc.lua.in b/awesomerc.lua.in index fbe2b90b..3929d9fc 100644 --- a/awesomerc.lua.in +++ b/awesomerc.lua.in @@ -17,6 +17,21 @@ if awesome.startup_errors then title = "Oops, there were errors during startup!", text = awesome.startup_errors }) 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