… | |
… | |
561 | |
561 | |
562 | if (optList[entry].doff != -1) |
562 | if (optList[entry].doff != -1) |
563 | rs[optList[entry].doff] = flag; |
563 | rs[optList[entry].doff] = flag; |
564 | } |
564 | } |
565 | } |
565 | } |
|
|
566 | #ifdef KEYSYM_RESOURCE |
|
|
567 | else if (!strncmp (opt, "keysym.", sizeof ("keysym.") - 1)) |
|
|
568 | { |
|
|
569 | if (i+1 < argc) |
|
|
570 | { |
|
|
571 | char *res = (char *)malloc (strlen (opt) + strlen (argv[++i]) + 6); |
|
|
572 | sprintf (res, "*.%s: %s\n", opt, argv[i]); |
|
|
573 | XrmPutLineResource (&option_db, res); |
|
|
574 | free (res); |
|
|
575 | } |
|
|
576 | } |
|
|
577 | #endif |
566 | else |
578 | else |
567 | #ifdef KEYSYM_RESOURCE |
|
|
568 | if (!strncmp (opt, "keysym.", sizeof ("keysym.") - 1)) |
|
|
569 | { |
579 | { |
570 | if (i+1 < argc) |
|
|
571 | parse_keysym (opt + sizeof ("keysym.") - 1, argv[++i]); |
|
|
572 | } |
|
|
573 | else |
|
|
574 | #endif |
|
|
575 | { |
|
|
576 | bad_option = 1; |
580 | bad_option = 1; |
577 | rxvt_warn ("\"%s\": unknown or malformed option.\n", opt); |
581 | rxvt_warn ("\"%s\": unknown or malformed option.\n", opt); |
578 | } |
582 | } |
579 | } |
583 | } |
580 | |
584 | |
581 | if (bad_option) |
585 | if (bad_option) |
582 | rxvt_usage (0); |
586 | rxvt_usage (0); |
583 | } |
587 | } |
… | |
… | |
801 | |
805 | |
802 | void |
806 | void |
803 | rxvt_term::extract_resources () |
807 | rxvt_term::extract_resources () |
804 | { |
808 | { |
805 | #ifndef NO_RESOURCES |
809 | #ifndef NO_RESOURCES |
|
|
810 | XrmDatabase database = XrmGetDatabase (dpy); |
|
|
811 | XrmMergeDatabases (option_db, &database); |
|
|
812 | option_db = NULL; |
806 | /* |
813 | /* |
807 | * Query resources for options that affect us |
814 | * Query resources for options that affect us |
808 | */ |
815 | */ |
809 | for (int entry = 0; entry < optList_size; entry++) |
816 | for (int entry = 0; entry < optList_size; entry++) |
810 | { |
817 | { |
… | |
… | |
839 | |
846 | |
840 | /* |
847 | /* |
841 | * [R5 or later]: enumerate the resource database |
848 | * [R5 or later]: enumerate the resource database |
842 | */ |
849 | */ |
843 | # ifdef KEYSYM_RESOURCE |
850 | # ifdef KEYSYM_RESOURCE |
844 | XrmDatabase database = XrmGetDatabase (dpy); |
|
|
845 | XrmName name_prefix[3]; |
851 | XrmName name_prefix[3]; |
846 | XrmClass class_prefix[3]; |
852 | XrmClass class_prefix[3]; |
847 | |
853 | |
848 | name_prefix[0] = XrmStringToName (rs[Rs_name]); |
854 | name_prefix[0] = XrmStringToName (rs[Rs_name]); |
849 | name_prefix[1] = XrmStringToName ("keysym"); |
855 | name_prefix[1] = XrmStringToName ("keysym"); |