… | |
… | |
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 | |
828 | void |
833 | void |
829 | rxvt_term::extract_keysym_resources () |
834 | rxvt_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 |
|
|
837 | void |
|
|
838 | rxvt_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) -----------------------*/ |