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.168 by root, Wed Jun 6 11:46:11 2012 UTC vs.
Revision 1.172 by root, Sun Jul 1 21:32:10 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"),
638rxvt_define_key (XrmDatabase *database ecb_unused, 639rxvt_define_key (XrmDatabase *database ecb_unused,
639 XrmBindingList bindings ecb_unused, 640 XrmBindingList bindings ecb_unused,
640 XrmQuarkList quarks, 641 XrmQuarkList quarks,
641 XrmRepresentation *type ecb_unused, 642 XrmRepresentation *type ecb_unused,
642 XrmValue *value, 643 XrmValue *value,
643 XPointer closure ecb_unused) 644 XPointer closure)
644{ 645{
646 rxvt_term *term = (rxvt_term *)closure;
645 int last; 647 int last;
646 648
647 for (last = 0; quarks[last] != NULLQUARK; last++) /* look for last quark in list */ 649 for (last = 0; quarks[last] != NULLQUARK; last++) /* look for last quark in list */
648 ; 650 ;
649 651
650 last--; 652 last--;
651 GET_R->parse_keysym (XrmQuarkToString (quarks[last]), (char *)value->addr);//D//TODO 653 term->parse_keysym (XrmQuarkToString (quarks[last]), (char *)value->addr);
652 return False; 654 return False;
653} 655}
654 656
655/* 657/*
656 * look for something like this (XK_Delete) 658 * look for something like this (XK_Delete)
741 } 743 }
742 744
743 wchar_t *ws = rxvt_mbstowcs (arg); 745 wchar_t *ws = rxvt_mbstowcs (arg);
744 if (!HOOK_INVOKE ((this, HOOK_REGISTER_COMMAND, DT_INT, sym, DT_INT, state, DT_WCS_LEN, ws, wcslen (ws), DT_END))) 746 if (!HOOK_INVOKE ((this, HOOK_REGISTER_COMMAND, DT_INT, sym, DT_INT, state, DT_WCS_LEN, ws, wcslen (ws), DT_END)))
745 keyboard->register_user_translation (sym, state, ws); 747 keyboard->register_user_translation (sym, state, ws);
748
746 free (ws); 749 free (ws);
747 return 1; 750 return 1;
748} 751}
749 752
750# endif /* KEYSYM_RESOURCE */ 753# endif /* KEYSYM_RESOURCE */
796 /* 799 /*
797 * Query resources for options that affect us 800 * Query resources for options that affect us
798 */ 801 */
799 for (int entry = 0; entry < ecb_array_length (optList); entry++) 802 for (int entry = 0; entry < ecb_array_length (optList); entry++)
800 { 803 {
804 int s;
801 const char *kw = optList[entry].kw; 805 const char *kw = optList[entry].kw;
802 806
803 if (kw == NULL || rs[optList[entry].doff] != NULL) 807 if (kw == NULL || rs[optList[entry].doff] != NULL)
804 continue; // previously set 808 continue; // previously set
805 809
811 allocated.push_back ((void *)p); 815 allocated.push_back ((void *)p);
812 rs[optList[entry].doff] = p; 816 rs[optList[entry].doff] = p;
813 817
814 if (optList_isBool (entry)) 818 if (optList_isBool (entry))
815 { 819 {
816 bool s = parse_bool_resource (p); 820 s = strcasecmp (p, "TRUE") == 0
821 || strcasecmp (p, "YES") == 0
822 || strcasecmp (p, "ON") == 0
823 || strcasecmp (p, "1") == 0;
817 824
818 if (optList_isReverse (entry)) 825 if (optList_isReverse (entry))
819 s = !s; 826 s = !s;
820 827
821 set_option (optList[entry].index, s); 828 set_option (optList[entry].index, s);
826} 833}
827 834
828void 835void
829rxvt_term::extract_keysym_resources () 836rxvt_term::extract_keysym_resources ()
830{ 837{
831#if !defined NO_RESOURCES && defined KEYSYM_RESOURCE 838#ifndef NO_RESOURCES
832 find_resources ("keysym", "Keysym", XrmEnumOneLevel, rxvt_define_key);
833#endif
834}
835
836#if !defined NO_RESOURCES && (defined KEYSYM_RESOURCE || defined BG_IMAGE_FROM_FILE)
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 /* 839 /*
842 * [R5 or later]: enumerate the resource database 840 * [R5 or later]: enumerate the resource database
843 */ 841 */
842# ifdef KEYSYM_RESOURCE
844 XrmDatabase database = XrmGetDatabase (dpy); 843 XrmDatabase database = XrmGetDatabase (dpy);
845 XrmName name_prefix[3]; 844 XrmName name_prefix[3];
846 XrmClass class_prefix[3]; 845 XrmClass class_prefix[3];
847 846
848 name_prefix[0] = XrmStringToName (rs[Rs_name]); 847 name_prefix[0] = XrmStringToName (rs[Rs_name]);
849 name_prefix[1] = XrmStringToName (n_prefix); 848 name_prefix[1] = XrmStringToName ("keysym");
850 name_prefix[2] = NULLQUARK; 849 name_prefix[2] = NULLQUARK;
851 class_prefix[0] = XrmStringToName (RESCLASS); 850 class_prefix[0] = XrmStringToName (RESCLASS);
852 class_prefix[1] = XrmStringToName (c_prefix); 851 class_prefix[1] = XrmStringToName ("Keysym");
853 class_prefix[2] = NULLQUARK; 852 class_prefix[2] = NULLQUARK;
854 /* XXX: Need to check sizeof (rxvt_t) == sizeof (XPointer) */ 853 /* XXX: Need to check sizeof (rxvt_t) == sizeof (XPointer) */
855 XrmEnumerateDatabase (database, name_prefix, class_prefix, 854 XrmEnumerateDatabase (database, name_prefix, class_prefix,
856 mode, proc, NULL); 855 XrmEnumOneLevel, rxvt_define_key, (XPointer)this);
857# ifdef RESFALLBACK 856# ifdef RESFALLBACK
858 name_prefix[0] = class_prefix[0] = XrmStringToName (RESFALLBACK); 857 name_prefix[0] = class_prefix[0] = XrmStringToName (RESFALLBACK);
859 /* XXX: Need to check sizeof (rxvt_t) == sizeof (XPointer) */ 858 /* XXX: Need to check sizeof (rxvt_t) == sizeof (XPointer) */
860 XrmEnumerateDatabase (database, name_prefix, class_prefix, 859 XrmEnumerateDatabase (database, name_prefix, class_prefix,
861 mode, proc, NULL); 860 XrmEnumOneLevel, rxvt_define_key, (XPointer)this);
862# endif 861# endif
862# endif
863
864#endif /* NO_RESOURCES */
863} 865}
864#endif
865 866
866/*----------------------- end-of-file (C source) -----------------------*/ 867/*----------------------- end-of-file (C source) -----------------------*/

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines