ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/src/xdefaults.C
(Generate patch)

Comparing rxvt-unicode/src/xdefaults.C (file contents):
Revision 1.162 by sf-exg, Sat Feb 4 21:47:06 2012 UTC vs.
Revision 1.163 by sf-exg, Thu May 24 16:19:26 2012 UTC

760 /* 760 /*
761 * Query resources for options that affect us 761 * Query resources for options that affect us
762 */ 762 */
763 for (int entry = 0; entry < ecb_array_length (optList); entry++) 763 for (int entry = 0; entry < ecb_array_length (optList); entry++)
764 { 764 {
765 int s;
766 const char *kw = optList[entry].kw; 765 const char *kw = optList[entry].kw;
767 766
768 if (kw == NULL || rs[optList[entry].doff] != NULL) 767 if (kw == NULL || rs[optList[entry].doff] != NULL)
769 continue; // previously set 768 continue; // previously set
770 769
776 allocated.push_back ((void *)p); 775 allocated.push_back ((void *)p);
777 rs[optList[entry].doff] = p; 776 rs[optList[entry].doff] = p;
778 777
779 if (optList_isBool (entry)) 778 if (optList_isBool (entry))
780 { 779 {
781 s = strcasecmp (p, "TRUE") == 0 780 bool s = parse_bool_resource (p);
782 || strcasecmp (p, "YES") == 0
783 || strcasecmp (p, "ON") == 0
784 || strcasecmp (p, "1") == 0;
785 781
786 if (optList_isReverse (entry)) 782 if (optList_isReverse (entry))
787 s = !s; 783 s = !s;
788 784
789 set_option (optList[entry].index, s); 785 set_option (optList[entry].index, s);
794} 790}
795 791
796void 792void
797rxvt_term::extract_keysym_resources () 793rxvt_term::extract_keysym_resources ()
798{ 794{
799#ifndef NO_RESOURCES 795#if !defined NO_RESOURCES && defined KEYSYM_RESOURCE
796 find_resources ("keysym", "Keysym", XrmEnumOneLevel, rxvt_define_key);
797#endif
798}
799
800#if !defined NO_RESOURCES && defined KEYSYM_RESOURCE
801void
802rxvt_term::find_resources (const char *n_prefix, const char *c_prefix, int mode,
803 Bool (*proc)(XrmDatabase *, XrmBindingList, XrmQuarkList, XrmRepresentation *, XrmValue *, XPointer))
804{
800 /* 805 /*
801 * [R5 or later]: enumerate the resource database 806 * [R5 or later]: enumerate the resource database
802 */ 807 */
803# ifdef KEYSYM_RESOURCE
804 XrmDatabase database = XrmGetDatabase (dpy); 808 XrmDatabase database = XrmGetDatabase (dpy);
805 XrmName name_prefix[3]; 809 XrmName name_prefix[3];
806 XrmClass class_prefix[3]; 810 XrmClass class_prefix[3];
807 811
808 name_prefix[0] = XrmStringToName (rs[Rs_name]); 812 name_prefix[0] = XrmStringToName (rs[Rs_name]);
809 name_prefix[1] = XrmStringToName ("keysym"); 813 name_prefix[1] = XrmStringToName (n_prefix);
810 name_prefix[2] = NULLQUARK; 814 name_prefix[2] = NULLQUARK;
811 class_prefix[0] = XrmStringToName (RESCLASS); 815 class_prefix[0] = XrmStringToName (RESCLASS);
812 class_prefix[1] = XrmStringToName ("Keysym"); 816 class_prefix[1] = XrmStringToName (c_prefix);
813 class_prefix[2] = NULLQUARK; 817 class_prefix[2] = NULLQUARK;
814 /* XXX: Need to check sizeof (rxvt_t) == sizeof (XPointer) */ 818 /* XXX: Need to check sizeof (rxvt_t) == sizeof (XPointer) */
815 XrmEnumerateDatabase (database, name_prefix, class_prefix, 819 XrmEnumerateDatabase (database, name_prefix, class_prefix,
816 XrmEnumOneLevel, rxvt_define_key, NULL); 820 mode, proc, NULL);
817# ifdef RESFALLBACK 821# ifdef RESFALLBACK
818 name_prefix[0] = class_prefix[0] = XrmStringToName (RESFALLBACK); 822 name_prefix[0] = class_prefix[0] = XrmStringToName (RESFALLBACK);
819 /* XXX: Need to check sizeof (rxvt_t) == sizeof (XPointer) */ 823 /* XXX: Need to check sizeof (rxvt_t) == sizeof (XPointer) */
820 XrmEnumerateDatabase (database, name_prefix, class_prefix, 824 XrmEnumerateDatabase (database, name_prefix, class_prefix,
821 XrmEnumOneLevel, rxvt_define_key, NULL); 825 mode, proc, NULL);
822# endif 826# endif
823# endif
824
825#endif /* NO_RESOURCES */
826} 827}
828#endif
827 829
828/*----------------------- end-of-file (C source) -----------------------*/ 830/*----------------------- end-of-file (C source) -----------------------*/

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines