diff --git a/include/waybox/server.h b/include/waybox/server.h index 2e354eb..9a82b51 100644 --- a/include/waybox/server.h +++ b/include/waybox/server.h @@ -19,6 +19,7 @@ #include #include #include +#include #include #include diff --git a/waybox/main.c b/waybox/main.c index fc9ec92..e09f805 100644 --- a/waybox/main.c +++ b/waybox/main.c @@ -8,14 +8,16 @@ int main(int argc, char **argv) { textdomain(GETTEXT_PACKAGE); bindtextdomain(GETTEXT_PACKAGE, LOCALEDIR); - setlocale(LC_ALL, ""); + setlocale(LC_ALL, NULL); char *startup_cmd = NULL; + bool debug = false; if (argc > 0) { int i; for (i = 0; i < argc; i++) { - if (!strcmp("--debug", argv[i]) || !strcmp("-v", argv[i]) || - !strcmp("--exit", argv[i])) { + if (!strcmp("--debug", argv[i]) || !strcmp("-v", argv[i])) { + debug = true; + } else if (!strcmp("--exit", argv[i])) { fprintf(stderr, _("Warning: option %s is currently unimplemented\n"), argv[i]); } else if ((!strcmp("--startup", argv[i]) || !strcmp("-s", argv[i]))) { if (i < argc - 1) { @@ -33,15 +35,16 @@ int main(int argc, char **argv) { } } + wlr_log_init(debug ? WLR_DEBUG : WLR_ERROR, NULL); struct wb_server server = {0}; if (!wb_create_backend(&server)) { - fprintf(stderr, _("Failed to create backend\n")); + wlr_log(WLR_ERROR, "%s\n", _("Failed to create backend")); exit(EXIT_FAILURE); } if (!wb_start_server(&server)) { - fprintf(stderr, _("Failed to start server\n")); + wlr_log(WLR_ERROR, "%s\n", _("Failed to start server")); wb_terminate(&server); exit(EXIT_FAILURE); } diff --git a/waybox/server.c b/waybox/server.c index cc2bf7b..8d61c05 100644 --- a/waybox/server.c +++ b/waybox/server.c @@ -5,7 +5,7 @@ bool wb_create_backend(struct wb_server* server) { // create display server->wl_display = wl_display_create(); if (server->wl_display == NULL) { - fprintf(stderr, _("Failed to connect to a Wayland display\n")); + wlr_log(WLR_ERROR, "%s\n", _("Failed to connect to a Wayland display")); return false; } @@ -40,13 +40,14 @@ bool wb_start_server(struct wb_server* server) { } if (!wlr_backend_start(server->backend)) { - fprintf(stderr, _("Failed to start backend\n")); + wlr_log(WLR_ERROR, "%s\n", _("Failed to start backend")); wlr_backend_destroy(server->backend); wl_display_destroy(server->wl_display); return false; } - printf(_("Running Wayland compositor on Wayland display '%s'\n"), socket); + /* Needs to be done better, for languages with different word order */ + wlr_log(WLR_INFO, "%s '%s'\n", _("Running Wayland compositor on Wayland display"), socket); setenv("WAYLAND_DISPLAY", socket, true); wlr_gamma_control_manager_v1_create(server->wl_display); @@ -68,7 +69,7 @@ bool wb_terminate(struct wb_server* server) { wlr_output_layout_destroy(server->layout); wl_display_destroy(server->wl_display); - printf(_("Display destroyed.\n")); + wlr_log(WLR_INFO, "%s\n", _("Display destroyed")); return true; }