static int luaA_panic(lua_State *L) { warn("unprotected error in call to Lua API (%s), restarting awesome", lua_tostring(L, -1)); awesome_restart(); return 0; }
/** The configure notify event handler. * \param ev The event. */ static void event_handle_configurenotify(xcb_configure_notify_event_t *ev) { const xcb_screen_t *screen = globalconf.screen; if(ev->window == screen->root && (ev->width != screen->width_in_pixels || ev->height != screen->height_in_pixels)) /* it's not that we panic, but restart */ awesome_restart(); }
static int luaA_panic(lua_State *L) { warn("unprotected error in call to Lua API (%s)", lua_tostring(L, -1)); buffer_t buf; backtrace_get(&buf); warn("dumping backtrace\n%s", buf.s); warn("restarting awesome"); awesome_restart(); return 0; }
/** The randr screen change notify event handler. * \param ev The event. */ static void event_handle_randr_screen_change_notify(xcb_randr_screen_change_notify_event_t *ev) { /* Code of XRRUpdateConfiguration Xlib function ported to XCB * (only the code relevant to RRScreenChangeNotify) as the latter * doesn't provide this kind of function */ if(ev->rotation & (XCB_RANDR_ROTATION_ROTATE_90 | XCB_RANDR_ROTATION_ROTATE_270)) xcb_randr_set_screen_size(globalconf.connection, ev->root, ev->height, ev->width, ev->mheight, ev->mwidth); else xcb_randr_set_screen_size(globalconf.connection, ev->root, ev->width, ev->height, ev->mwidth, ev->mheight); /* XRRUpdateConfiguration also executes the following instruction * but it's not useful because SubpixelOrder is not used at all at * the moment * * XRenderSetSubpixelOrder(dpy, snum, scevent->subpixel_order); */ awesome_restart(); }
/** Restart awesome. */ static int luaA_restart(lua_State *L) { awesome_restart(); return 0; }
/** Function to restart awesome on some signals. * \param w the signal received, unused * \param revents Currently unused */ static void restart_on_signal(EV_P_ ev_signal *w, int revents) { awesome_restart(); }