diff --git a/main.c b/main.c index f6de611..b80c646 100644 --- a/main.c +++ b/main.c @@ -13,6 +13,9 @@ #include "layout.am.inc.c" #include "layout.ru.inc.c" +#include + + Layout layouts[] = { { keysEn, COUNTOF(keysEn) }, { keysFn, COUNTOF(keysFn) }, @@ -25,9 +28,20 @@ App app = { { layouts, COUNTOF(layouts) } }; // keyboard +void terminate(int s) + { appStop(&app, 1); } + + int main() { if (!appInit(&app)) return 1; + + struct sigaction act = {}; + act.sa_handler = &terminate; + sigaction(SIGHUP, &act, NULL); + sigaction(SIGINT, &act, NULL); + sigaction(SIGTERM, &act, NULL); + int success = appRun(&app); appDeinit(&app); return !success;