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.170 by root, Thu Jun 7 16:04:45 2012 UTC vs.
Revision 1.171 by sf-exg, Fri Jun 15 14:34:34 2012 UTC

797 /* 797 /*
798 * Query resources for options that affect us 798 * Query resources for options that affect us
799 */ 799 */
800 for (int entry = 0; entry < ecb_array_length (optList); entry++) 800 for (int entry = 0; entry < ecb_array_length (optList); entry++)
801 { 801 {
802 int s;
802 const char *kw = optList[entry].kw; 803 const char *kw = optList[entry].kw;
803 804
804 if (kw == NULL || rs[optList[entry].doff] != NULL) 805 if (kw == NULL || rs[optList[entry].doff] != NULL)
805 continue; // previously set 806 continue; // previously set
806 807
812 allocated.push_back ((void *)p); 813 allocated.push_back ((void *)p);
813 rs[optList[entry].doff] = p; 814 rs[optList[entry].doff] = p;
814 815
815 if (optList_isBool (entry)) 816 if (optList_isBool (entry))
816 { 817 {
817 bool s = parse_bool_resource (p); 818 s = strcasecmp (p, "TRUE") == 0
819 || strcasecmp (p, "YES") == 0
820 || strcasecmp (p, "ON") == 0
821 || strcasecmp (p, "1") == 0;
818 822
819 if (optList_isReverse (entry)) 823 if (optList_isReverse (entry))
820 s = !s; 824 s = !s;
821 825
822 set_option (optList[entry].index, s); 826 set_option (optList[entry].index, s);
827} 831}
828 832
829void 833void
830rxvt_term::extract_keysym_resources () 834rxvt_term::extract_keysym_resources ()
831{ 835{
832#if !defined NO_RESOURCES && defined KEYSYM_RESOURCE 836#ifndef NO_RESOURCES
833 find_resources ("keysym", "Keysym", XrmEnumOneLevel, rxvt_define_key);
834#endif
835}
836
837#if !defined NO_RESOURCES && defined KEYSYM_RESOURCE
838void
839rxvt_term::find_resources (const char *n_prefix, const char *c_prefix, int mode,
840 Bool (*proc)(XrmDatabase *, XrmBindingList, XrmQuarkList, XrmRepresentation *, XrmValue *, XPointer))
841{
842 /* 837 /*
843 * [R5 or later]: enumerate the resource database 838 * [R5 or later]: enumerate the resource database
844 */ 839 */
840# ifdef KEYSYM_RESOURCE
845 XrmDatabase database = XrmGetDatabase (dpy); 841 XrmDatabase database = XrmGetDatabase (dpy);
846 XrmName name_prefix[3]; 842 XrmName name_prefix[3];
847 XrmClass class_prefix[3]; 843 XrmClass class_prefix[3];
848 844
849 name_prefix[0] = XrmStringToName (rs[Rs_name]); 845 name_prefix[0] = XrmStringToName (rs[Rs_name]);
850 name_prefix[1] = XrmStringToName (n_prefix); 846 name_prefix[1] = XrmStringToName ("keysym");
851 name_prefix[2] = NULLQUARK; 847 name_prefix[2] = NULLQUARK;
852 class_prefix[0] = XrmStringToName (RESCLASS); 848 class_prefix[0] = XrmStringToName (RESCLASS);
853 class_prefix[1] = XrmStringToName (c_prefix); 849 class_prefix[1] = XrmStringToName ("Keysym");
854 class_prefix[2] = NULLQUARK; 850 class_prefix[2] = NULLQUARK;
855 /* XXX: Need to check sizeof (rxvt_t) == sizeof (XPointer) */ 851 /* XXX: Need to check sizeof (rxvt_t) == sizeof (XPointer) */
856 XrmEnumerateDatabase (database, name_prefix, class_prefix, 852 XrmEnumerateDatabase (database, name_prefix, class_prefix,
857 mode, proc, NULL); 853 XrmEnumOneLevel, rxvt_define_key, NULL);
858# ifdef RESFALLBACK 854# ifdef RESFALLBACK
859 name_prefix[0] = class_prefix[0] = XrmStringToName (RESFALLBACK); 855 name_prefix[0] = class_prefix[0] = XrmStringToName (RESFALLBACK);
860 /* XXX: Need to check sizeof (rxvt_t) == sizeof (XPointer) */ 856 /* XXX: Need to check sizeof (rxvt_t) == sizeof (XPointer) */
861 XrmEnumerateDatabase (database, name_prefix, class_prefix, 857 XrmEnumerateDatabase (database, name_prefix, class_prefix,
862 mode, proc, NULL); 858 XrmEnumOneLevel, rxvt_define_key, NULL);
863# endif 859# endif
860# endif
861
862#endif /* NO_RESOURCES */
864} 863}
865#endif
866 864
867/*----------------------- end-of-file (C source) -----------------------*/ 865/*----------------------- end-of-file (C source) -----------------------*/

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines