--- rxvt-unicode/src/xdefaults.C 2014/09/08 10:40:31 1.183 +++ rxvt-unicode/src/xdefaults.C 2015/05/11 22:05:48 1.186 @@ -627,7 +627,6 @@ /*}}} */ -#ifndef NO_RESOURCES /*----------------------------------------------------------------------*/ # ifdef KEYSYM_RESOURCE @@ -770,14 +769,14 @@ return -1; wchar_t *ws = rxvt_mbstowcs (arg); - keyboard->register_action (sym, state, ws); + if (!HOOK_INVOKE ((this, HOOK_REGISTER_COMMAND, DT_INT, sym, DT_INT, state, DT_WCS_LEN, ws, wcslen (ws), DT_END))) + keyboard->register_action (sym, state, ws); free (ws); return 1; } # endif /* KEYSYM_RESOURCE */ -#endif /* NO_RESOURCES */ static char * get_res (XrmDatabase database, const char *program, const char *option) @@ -861,7 +860,6 @@ void rxvt_term::enumerate_keysym_resources (void (*cb)(rxvt_term *, const char *, const char *)) { -#ifndef NO_RESOURCES /* * [R5 or later]: enumerate the resource database */ @@ -875,24 +873,26 @@ XrmName name_prefix[3]; XrmClass class_prefix[3]; - name_prefix[0] = XrmStringToName (rs[Rs_name]); name_prefix[1] = XrmStringToName ("keysym"); name_prefix[2] = NULLQUARK; - class_prefix[0] = XrmStringToName (RESCLASS); class_prefix[1] = XrmStringToName ("Keysym"); class_prefix[2] = NULLQUARK; - /* XXX: Need to check sizeof (rxvt_t) == sizeof (XPointer) */ - XrmEnumerateDatabase (database, name_prefix, class_prefix, - XrmEnumOneLevel, rxvt_keysym_enumerate_helper, (XPointer)closure); + # ifdef RESFALLBACK name_prefix[0] = class_prefix[0] = XrmStringToName (RESFALLBACK); /* XXX: Need to check sizeof (rxvt_t) == sizeof (XPointer) */ XrmEnumerateDatabase (database, name_prefix, class_prefix, XrmEnumOneLevel, rxvt_keysym_enumerate_helper, (XPointer)closure); # endif -# endif -#endif /* NO_RESOURCES */ + name_prefix[0] = class_prefix[0] = XrmStringToName (RESCLASS); + XrmEnumerateDatabase (database, name_prefix, class_prefix, + XrmEnumOneLevel, rxvt_keysym_enumerate_helper, (XPointer)closure); + + name_prefix[0] = class_prefix[0] = XrmStringToName (rs[Rs_name]); + XrmEnumerateDatabase (database, name_prefix, class_prefix, + XrmEnumOneLevel, rxvt_keysym_enumerate_helper, (XPointer)closure); +# endif } void