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.169 by sf-exg, Wed Jun 6 22:00:20 2012 UTC vs.
Revision 1.171 by sf-exg, Fri Jun 15 14:34:34 2012 UTC

222 STRG (Rs_saveLines, "saveLines", "sl", "number", "number of scrolled lines to save"), 222 STRG (Rs_saveLines, "saveLines", "sl", "number", "number of scrolled lines to save"),
223#if ENABLE_XEMBED 223#if ENABLE_XEMBED
224 STRG (Rs_embed, NULL, "embed", "windowid", "window id to embed terminal in"), 224 STRG (Rs_embed, NULL, "embed", "windowid", "window id to embed terminal in"),
225#endif 225#endif
226#if XFT 226#if XFT
227 BOOL (Rs_buffered, "buffered", NULL, Opt_buffered, 0, NULL),
228#endif
229#if ENABLE_FRILLS
227 STRG (Rs_depth, "depth", "depth", "number", "depth of visual to request"), 230 STRG (Rs_depth, "depth", "depth", "number", "depth of visual to request"),
228 BOOL (Rs_buffered, "buffered", NULL, Opt_buffered, 0, NULL), 231 STRG (Rs_visual, "visual", "visual", "number", "visual id to request"),
229#endif
230#if ENABLE_FRILLS
231 RSTRG (Rs_transient_for, "transient-for", "windowid"), 232 RSTRG (Rs_transient_for, "transient-for", "windowid"),
232 BOOL (Rs_override_redirect, "override-redirect", "override-redirect", Opt_override_redirect, 0, "set override-redirect on the terminal window"), 233 BOOL (Rs_override_redirect, "override-redirect", "override-redirect", Opt_override_redirect, 0, "set override-redirect on the terminal window"),
233 STRG (Rs_pty_fd, NULL, "pty-fd", "fileno", "file descriptor of pty to use"), 234 STRG (Rs_pty_fd, NULL, "pty-fd", "fileno", "file descriptor of pty to use"),
234 BOOL (Rs_hold, "hold", "hold", Opt_hold, 0, "retain window after shell exit"), 235 BOOL (Rs_hold, "hold", "hold", Opt_hold, 0, "retain window after shell exit"),
235 STRG (Rs_ext_bwidth, "externalBorder", "w", "number", "external border in pixels"), 236 STRG (Rs_ext_bwidth, "externalBorder", "w", "number", "external border in pixels"),
796 /* 797 /*
797 * Query resources for options that affect us 798 * Query resources for options that affect us
798 */ 799 */
799 for (int entry = 0; entry < ecb_array_length (optList); entry++) 800 for (int entry = 0; entry < ecb_array_length (optList); entry++)
800 { 801 {
802 int s;
801 const char *kw = optList[entry].kw; 803 const char *kw = optList[entry].kw;
802 804
803 if (kw == NULL || rs[optList[entry].doff] != NULL) 805 if (kw == NULL || rs[optList[entry].doff] != NULL)
804 continue; // previously set 806 continue; // previously set
805 807
811 allocated.push_back ((void *)p); 813 allocated.push_back ((void *)p);
812 rs[optList[entry].doff] = p; 814 rs[optList[entry].doff] = p;
813 815
814 if (optList_isBool (entry)) 816 if (optList_isBool (entry))
815 { 817 {
816 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;
817 822
818 if (optList_isReverse (entry)) 823 if (optList_isReverse (entry))
819 s = !s; 824 s = !s;
820 825
821 set_option (optList[entry].index, s); 826 set_option (optList[entry].index, s);
826} 831}
827 832
828void 833void
829rxvt_term::extract_keysym_resources () 834rxvt_term::extract_keysym_resources ()
830{ 835{
831#if !defined NO_RESOURCES && defined KEYSYM_RESOURCE 836#ifndef NO_RESOURCES
832 find_resources ("keysym", "Keysym", XrmEnumOneLevel, rxvt_define_key);
833#endif
834}
835
836#if !defined NO_RESOURCES && defined KEYSYM_RESOURCE
837void
838rxvt_term::find_resources (const char *n_prefix, const char *c_prefix, int mode,
839 Bool (*proc)(XrmDatabase *, XrmBindingList, XrmQuarkList, XrmRepresentation *, XrmValue *, XPointer))
840{
841 /* 837 /*
842 * [R5 or later]: enumerate the resource database 838 * [R5 or later]: enumerate the resource database
843 */ 839 */
840# ifdef KEYSYM_RESOURCE
844 XrmDatabase database = XrmGetDatabase (dpy); 841 XrmDatabase database = XrmGetDatabase (dpy);
845 XrmName name_prefix[3]; 842 XrmName name_prefix[3];
846 XrmClass class_prefix[3]; 843 XrmClass class_prefix[3];
847 844
848 name_prefix[0] = XrmStringToName (rs[Rs_name]); 845 name_prefix[0] = XrmStringToName (rs[Rs_name]);
849 name_prefix[1] = XrmStringToName (n_prefix); 846 name_prefix[1] = XrmStringToName ("keysym");
850 name_prefix[2] = NULLQUARK; 847 name_prefix[2] = NULLQUARK;
851 class_prefix[0] = XrmStringToName (RESCLASS); 848 class_prefix[0] = XrmStringToName (RESCLASS);
852 class_prefix[1] = XrmStringToName (c_prefix); 849 class_prefix[1] = XrmStringToName ("Keysym");
853 class_prefix[2] = NULLQUARK; 850 class_prefix[2] = NULLQUARK;
854 /* XXX: Need to check sizeof (rxvt_t) == sizeof (XPointer) */ 851 /* XXX: Need to check sizeof (rxvt_t) == sizeof (XPointer) */
855 XrmEnumerateDatabase (database, name_prefix, class_prefix, 852 XrmEnumerateDatabase (database, name_prefix, class_prefix,
856 mode, proc, NULL); 853 XrmEnumOneLevel, rxvt_define_key, NULL);
857# ifdef RESFALLBACK 854# ifdef RESFALLBACK
858 name_prefix[0] = class_prefix[0] = XrmStringToName (RESFALLBACK); 855 name_prefix[0] = class_prefix[0] = XrmStringToName (RESFALLBACK);
859 /* XXX: Need to check sizeof (rxvt_t) == sizeof (XPointer) */ 856 /* XXX: Need to check sizeof (rxvt_t) == sizeof (XPointer) */
860 XrmEnumerateDatabase (database, name_prefix, class_prefix, 857 XrmEnumerateDatabase (database, name_prefix, class_prefix,
861 mode, proc, NULL); 858 XrmEnumOneLevel, rxvt_define_key, NULL);
862# endif 859# endif
860# endif
861
862#endif /* NO_RESOURCES */
863} 863}
864#endif
865 864
866/*----------------------- end-of-file (C source) -----------------------*/ 865/*----------------------- end-of-file (C source) -----------------------*/

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines