Collecting my attempts to improve at tech, art, and life

My awesomewm config error-handling.lua

Tags: config

I’ll need to notify about errors. Loading naughty for its notification function.

local naughty = require("naughty")

Check if awesome encountered an error during startup and fell back to another config.

NOTE

This code should only ever execute for the fallback config.

if awesome.startup_errors then
  naughty.notify({
    preset = naughty.config.presets.critical,
    title = "Oops, there were errors during startup!",
    text = awesome.startup_errors
  })
end

Handle runtime errors after an otherwise normal 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 = tostring(err)
    })
    in_error = false
  end)
end

Added to vault 2024-01-15. Updated on 2024-02-01