451 GError *error = NULL;
452 GString *error_msg = g_string_new(
"");
455 char *keystr = g_strdup(b->
binding);
459 const char *
const sep =
",";
460 for (
char *entry = strtok_r(keystr, sep, &sp); entry != NULL;
461 entry = strtok_r(NULL, sep, &sp)) {
464 GUINT_TO_POINTER(b->
id), NULL,
465 NK_BINDINGS_ADD_FLAG_NONE, &error)) {
466 if (error->code == NK_BINDINGS_ERROR_ALREADY_REGISTERED &&
467 error->domain == NK_BINDINGS_ERROR) {
468 char *str = g_markup_printf_escaped(
469 "Failed to set binding <i>%s</i> for: <i>%s (%s)</i>:\n\t<span "
470 "size=\"smaller\" style=\"italic\">Binding `%s` is already "
472 "\tExecute <b>rofi -list-keybindings</b> to get the current list "
473 "of configured bindings.</span>\n",
475 g_string_append(error_msg, str);
478 char *str = g_markup_printf_escaped(
479 "Failed to set binding <i>%s</i> for: <i>%s (%s)</i>:\n\t<span "
480 "size=\"smaller\" style=\"italic\">%s</span>\n",
482 g_string_append(error_msg, str);
485 g_clear_error(&error);
491 if (error_msg->len > 0) {
502 GSIZE_TO_POINTER(j), NULL,
503 NK_BINDINGS_ADD_FLAG_NONE, NULL);
507 g_string_free(error_msg, TRUE);
void rofi_add_error_message(GString *str)