From 2785d695ce313c536a2b207305bcbfdf0eb81426 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 a17b8ee5..b7536af0 100644 --- a/awesomerc.lua.in +++ b/awesomerc.lua.in @@ -15,6 +15,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