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.5 by pcg, Thu Dec 18 00:29:29 2003 UTC vs.
Revision 1.8 by pcg, Sat Jan 31 00:20:21 2004 UTC

1/*--------------------------------*-C-*---------------------------------* 1/*--------------------------------*-C-*---------------------------------*
2 * File: xdefaults.c 2 * File: xdefaults.c
3 *----------------------------------------------------------------------* 3 *----------------------------------------------------------------------*
4 * $Id: xdefaults.C,v 1.5 2003/12/18 00:29:29 pcg Exp $ 4 * $Id: xdefaults.C,v 1.8 2004/01/31 00:20:21 pcg Exp $
5 * 5 *
6 * All portions of code are copyright by their respective author/s. 6 * All portions of code are copyright by their respective author/s.
7 * Copyright (c) 1994 Robert Nation <nation@rocket.sanders.lockheed.com> 7 * Copyright (c) 1994 Robert Nation <nation@rocket.sanders.lockheed.com>
8 * - original version 8 * - original version
9 * Copyright (c) 1997,1998 mj olesen <olesen@me.queensu.ca> 9 * Copyright (c) 1997,1998 mj olesen <olesen@me.queensu.ca>
141#endif 141#endif
142#ifdef CURSOR_BLINK 142#ifdef CURSOR_BLINK
143 BOOL(Rs_cursorBlink, "cursorBlink", "bc", Opt_cursorBlink, "blinking cursor"), 143 BOOL(Rs_cursorBlink, "cursorBlink", "bc", Opt_cursorBlink, "blinking cursor"),
144#endif 144#endif
145#ifdef POINTER_BLANK 145#ifdef POINTER_BLANK
146 BOOL(Rs_pointerBlank, "pointerBlank", NULL, Opt_pointerBlank, NULL), 146 BOOL(Rs_pointerBlank, "pointerBlank", "pb", Opt_pointerBlank, "switch off pointer after delay"),
147#endif 147#endif
148 STRG(Rs_color + Color_bg, "background", "bg", "color", "background color"), 148 STRG(Rs_color + Color_bg, "background", "bg", "color", "background color"),
149 STRG(Rs_color + Color_fg, "foreground", "fg", "color", "foreground color"), 149 STRG(Rs_color + Color_fg, "foreground", "fg", "color", "foreground color"),
150 RSTRG(Rs_color + minCOLOR + 0, "color0", "color"), 150 RSTRG(Rs_color + minCOLOR + 0, "color0", "color"),
151 RSTRG(Rs_color + minCOLOR + 1, "color1", "color"), 151 RSTRG(Rs_color + minCOLOR + 1, "color1", "color"),
185 "background pixmap"), 185 "background pixmap"),
186#endif /* XPM_BACKGROUND */ 186#endif /* XPM_BACKGROUND */
187#if (MENUBAR_MAX) 187#if (MENUBAR_MAX)
188 RSTRG(Rs_menu, "menu", "name[;tag]"), 188 RSTRG(Rs_menu, "menu", "name[;tag]"),
189#endif 189#endif
190#ifndef NO_BOLDFONT
191 STRG(Rs_boldFont, "boldFont", "fb", "fontname", "bold text font"),
192#endif
193 STRG(Rs_font + 0, "font", "fn", "fontname", "normal text font"), 190 STRG(Rs_font, "font", "fn", "fontname", "normal text font"),
194/* fonts: command-line option = resource name */ 191/* fonts: command-line option = resource name */
195#ifdef MULTICHAR_SET
196 STRG(Rs_multichar_encoding, "multichar_encoding", "km", "mode",
197 "multichar encoding; mode = eucj|sjis|big5|gb|kr|noenc"),
198#endif /* MULTICHAR_SET */
199#ifdef USE_XIM 192#ifdef USE_XIM
200 STRG(Rs_inputMethod, "inputMethod", "im", "name", "name of input method"), 193 STRG(Rs_inputMethod, "inputMethod", "im", "name", "name of input method"),
201 STRG(Rs_preeditType, "preeditType", "pt", "style", 194 STRG(Rs_preeditType, "preeditType", "pt", "style",
202 "input style: style = OverTheSpot|OffTheSpot|Root"), 195 "input style: style = OverTheSpot|OffTheSpot|Root"),
203#if defined(HAVE_XSETLOCALE) || defined(HAVE_SETLOCALE) 196#if defined(HAVE_XSETLOCALE) || defined(HAVE_SETLOCALE)
361 354
362#define INDENT 18 355#define INDENT 18
363 356
364/*{{{ usage: */ 357/*{{{ usage: */
365/*----------------------------------------------------------------------*/ 358/*----------------------------------------------------------------------*/
366/* EXTPROTO */ 359static void
367void
368rxvt_usage(int type) 360rxvt_usage(int type)
369{ 361{
370 unsigned int i, col; 362 unsigned int i, col;
371 363
372 write(STDERR_FILENO, releasestring, sizeof(releasestring) - 1); 364 write(STDERR_FILENO, releasestring, sizeof(releasestring) - 1);
447} 439}
448 440
449/*}}} */ 441/*}}} */
450 442
451/*{{{ get command-line options before getting resources */ 443/*{{{ get command-line options before getting resources */
452/* EXTPROTO */
453void 444void
454rxvt_get_options(pR_ int argc, const char *const *argv) 445rxvt_term::get_options (int argc, const char *const *argv)
455{ 446{
456 int i, bad_option = 0; 447 int i, bad_option = 0;
457 static const char On[3] = "ON", Off[4] = "OFF"; 448 static const char On[3] = "ON", Off[4] = "OFF";
458 449
459 for (i = 1; i < argc; i++) { 450 for (i = 1; i < argc; i++) {
503#endif 494#endif
504 if (flag == On && str && (optList[entry].doff != -1)) { 495 if (flag == On && str && (optList[entry].doff != -1)) {
505#ifdef DEBUG_RESOURCES 496#ifdef DEBUG_RESOURCES
506 fprintf(stderr, "\"%s\"\n", str); 497 fprintf(stderr, "\"%s\"\n", str);
507#endif 498#endif
508 R->rs[optList[entry].doff] = str; 499 rs[optList[entry].doff] = str;
509 /* 500 /*
510 * special cases are handled in main.c:main() to allow 501 * special cases are handled in main.c:main() to allow
511 * X resources to set these values before we settle for 502 * X resources to set these values before we settle for
512 * default values 503 * default values
513 */ 504 */
520#ifdef DEBUG_RESOURCES 511#ifdef DEBUG_RESOURCES
521 fprintf(stderr, "boolean (%s,%s) = %s\n", 512 fprintf(stderr, "boolean (%s,%s) = %s\n",
522 optList[entry].opt, optList[entry].kw, flag); 513 optList[entry].opt, optList[entry].kw, flag);
523#endif 514#endif
524 if (flag == On) 515 if (flag == On)
525 R->Options |= (optList[entry].flag); 516 Options |= (optList[entry].flag);
526 else 517 else
527 R->Options &= ~(optList[entry].flag); 518 Options &= ~(optList[entry].flag);
528 519
529 if (optList[entry].doff != -1) 520 if (optList[entry].doff != -1)
530 R->rs[optList[entry].doff] = flag; 521 rs[optList[entry].doff] = flag;
531 } 522 }
532 } else 523 } else
533#ifdef KEYSYM_RESOURCE 524#ifdef KEYSYM_RESOURCE
534 /* if (!STRNCMP(opt, "keysym.", sizeof("keysym.") - 1)) */ 525 /* if (!STRNCMP(opt, "keysym.", sizeof("keysym.") - 1)) */
535 if (rxvt_Str_match(opt, "keysym.")) { 526 if (rxvt_Str_match(opt, "keysym.")) {
536 const char *str = argv[++i]; 527 const char *str = argv[++i];
537 528
538 if (str != NULL) 529 if (str != NULL)
539 rxvt_parse_keysym(aR_ opt + sizeof("keysym.") - 1, str); 530 parse_keysym (opt + sizeof("keysym.") - 1, str);
540 } else 531 } else
541#endif 532#endif
542 ; 533 bad_option = 1;
543 } 534 }
544 535
545 if (bad_option) 536 if (bad_option)
546 rxvt_usage(0); 537 rxvt_usage(0);
547} 538}
557 * quarks will be something like 548 * quarks will be something like
558 * "rxvt" "keysym" "0xFF01" 549 * "rxvt" "keysym" "0xFF01"
559 * value will be a string 550 * value will be a string
560 */ 551 */
561/* ARGSUSED */ 552/* ARGSUSED */
562/* INTPROTO */
563Bool 553bool
564rxvt_define_key(XrmDatabase *database __attribute__((unused)), XrmBindingList bindings __attribute__((unused)), XrmQuarkList quarks, XrmRepresentation *type __attribute__((unused)), XrmValue *value, XPointer closure __attribute__((unused))) 554rxvt_define_key(XrmDatabase *database __attribute__((unused)), XrmBindingList bindings __attribute__((unused)), XrmQuarkList quarks, XrmRepresentation *type __attribute__((unused)), XrmValue *value, XPointer closure __attribute__((unused)))
565{ 555{
566 dR;
567 int last; 556 int last;
568 557
569 for (last = 0; quarks[last] != NULLQUARK; last++) /* look for last quark in list */ 558 for (last = 0; quarks[last] != NULLQUARK; last++) /* look for last quark in list */
570 ; 559 ;
571 last--; 560 last--;
572 rxvt_parse_keysym(aR_ XrmQuarkToString(quarks[last]), (char *)value->addr); 561 GET_R->parse_keysym (XrmQuarkToString(quarks[last]), (char *)value->addr);//D//TODO
573 return False; 562 return False;
574} 563}
575 564
576/* 565/*
577 * look for something like this (XK_Delete) 566 * look for something like this (XK_Delete)
580 * arg will be 569 * arg will be
581 * NULL for ~/.Xdefaults and 570 * NULL for ~/.Xdefaults and
582 * non-NULL for command-line options (need to allocate) 571 * non-NULL for command-line options (need to allocate)
583 */ 572 */
584#define NEWARGLIM 500 /* `reasonable' size */ 573#define NEWARGLIM 500 /* `reasonable' size */
585/* INTPROTO */
586int 574int
587rxvt_parse_keysym(pR_ const char *str, const char *arg) 575rxvt_term::parse_keysym (const char *str, const char *arg)
588{ 576{
589 int n, sym; 577 int n, sym;
590 char *key_string, *newarg = NULL; 578 char *key_string, *newarg = NULL;
591 char newargstr[NEWARGLIM]; 579 char newargstr[NEWARGLIM];
592 580
627 } 615 }
628 616
629 if (sym < 0xFF00 || sym > 0xFFFF) /* we only do extended keys */ 617 if (sym < 0xFF00 || sym > 0xFFFF) /* we only do extended keys */
630 return -1; 618 return -1;
631 sym &= 0xFF; 619 sym &= 0xFF;
632 if (R->Keysym_map[sym] != NULL) /* already set ? */ 620 if (Keysym_map[sym] != NULL) /* already set ? */
633 return -1; 621 return -1;
634 622
635 if (newarg == NULL) { 623 if (newarg == NULL) {
636 STRNCPY(newargstr, arg, NEWARGLIM - 1); 624 STRNCPY(newargstr, arg, NEWARGLIM - 1);
637 newargstr[NEWARGLIM - 1] = '\0'; 625 newargstr[NEWARGLIM - 1] = '\0';
643 MIN_IT(n, 255); 631 MIN_IT(n, 255);
644 key_string = (char *)rxvt_malloc((n + 1) * sizeof(char)); 632 key_string = (char *)rxvt_malloc((n + 1) * sizeof(char));
645 633
646 key_string[0] = n; 634 key_string[0] = n;
647 STRNCPY(key_string + 1, newarg, n); 635 STRNCPY(key_string + 1, newarg, n);
648 R->Keysym_map[sym] = (unsigned char *)key_string; 636 Keysym_map[sym] = (unsigned char *)key_string;
649 637
650 return 1; 638 return 1;
651} 639}
652 640
653# endif /* KEYSYM_RESOURCE */ 641# endif /* KEYSYM_RESOURCE */
655# ifndef USE_XGETDEFAULT 643# ifndef USE_XGETDEFAULT
656/*{{{ rxvt_get_xdefaults() */ 644/*{{{ rxvt_get_xdefaults() */
657/* 645/*
658 * the matching algorithm used for memory-save fake resources 646 * the matching algorithm used for memory-save fake resources
659 */ 647 */
660/* INTPROTO */
661void 648void
662rxvt_get_xdefaults(pR_ FILE *stream, const char *name) 649rxvt_term::get_xdefaults (FILE *stream, const char *name)
663{ 650{
664 unsigned int len; 651 unsigned int len;
665 char *str, buffer[256]; 652 char *str, buffer[256];
666 653
667 if (stream == NULL) 654 if (stream == NULL)
677 || (len && STRNCMP(str, name, len))) 664 || (len && STRNCMP(str, name, len)))
678 continue; 665 continue;
679 str += (len + 1); /* skip `name*' or `name.' */ 666 str += (len + 1); /* skip `name*' or `name.' */
680 667
681# ifdef KEYSYM_RESOURCE 668# ifdef KEYSYM_RESOURCE
682 if (!rxvt_parse_keysym(aR_ str, NULL)) 669 if (!parse_keysym (str, NULL))
683# endif /* KEYSYM_RESOURCE */ 670# endif /* KEYSYM_RESOURCE */
684 for (entry = 0; entry < optList_size(); entry++) { 671 for (entry = 0; entry < optList_size(); entry++) {
685 const char *kw = optList[entry].kw; 672 const char *kw = optList[entry].kw;
686 673
687 if (kw == NULL) 674 if (kw == NULL)
690 if (str[n] == ':' && rxvt_Str_match(str, kw)) { 677 if (str[n] == ':' && rxvt_Str_match(str, kw)) {
691 /* skip `keyword:' */ 678 /* skip `keyword:' */
692 str += (n + 1); 679 str += (n + 1);
693 rxvt_Str_trim(str); 680 rxvt_Str_trim(str);
694 n = STRLEN(str); 681 n = STRLEN(str);
695 if (n && R->rs[optList[entry].doff] == NULL) { 682 if (n && rs[optList[entry].doff] == NULL) {
696 /* not already set */ 683 /* not already set */
697 int s; 684 int s;
698 char *p = (char *)rxvt_malloc((n + 1) * sizeof(char)); 685 char *p = (char *)rxvt_malloc((n + 1) * sizeof(char));
699 686
700 STRCPY(p, str); 687 STRCPY(p, str);
701 R->rs[optList[entry].doff] = p; 688 rs[optList[entry].doff] = p;
702 if (optList_isBool(entry)) { 689 if (optList_isBool(entry)) {
703 s = STRCASECMP(str, "TRUE") == 0 690 s = STRCASECMP(str, "TRUE") == 0
704 || STRCASECMP(str, "YES") == 0 691 || STRCASECMP(str, "YES") == 0
705 || STRCASECMP(str, "ON") == 0 692 || STRCASECMP(str, "ON") == 0
706 || STRCASECMP(str, "1") == 0; 693 || STRCASECMP(str, "1") == 0;
707 if (optList_isReverse(entry)) 694 if (optList_isReverse(entry))
708 s = !s; 695 s = !s;
709 if (s) 696 if (s)
710 R->Options |= (optList[entry].flag); 697 Options |= (optList[entry].flag);
711 else 698 else
712 R->Options &= ~(optList[entry].flag); 699 Options &= ~(optList[entry].flag);
713 } 700 }
714 } 701 }
715 break; 702 break;
716 } 703 }
717 } 704 }
726/*{{{ read the resources files */ 713/*{{{ read the resources files */
727/* 714/*
728 * using XGetDefault() or the hand-rolled replacement 715 * using XGetDefault() or the hand-rolled replacement
729 */ 716 */
730/* ARGSUSED */ 717/* ARGSUSED */
731/* EXTPROTO */
732void 718void
733rxvt_extract_resources(pR_ Display *display __attribute__((unused)), const char *name) 719rxvt_term::extract_resources (Display *display __attribute__((unused)), const char *name)
734{ 720{
735#ifndef NO_RESOURCES 721#ifndef NO_RESOURCES
736 722
737# if defined XAPPLOADDIR 723# if defined XAPPLOADDIR
738# if defined(HAVE_XSETLOCALE) || defined(HAVE_SETLOCALE) 724# if defined(HAVE_XSETLOCALE) || defined(HAVE_SETLOCALE)
739 /* Compute the path of the possibly available localized Rxvt file */ 725 /* Compute the path of the possibly available localized Rxvt file */
740 char *localepath = NULL; 726 char *localepath = NULL;
741 727
742 if (R->locale != NULL) { /* XXX: must limit length of string */ 728 if (locale != NULL) { /* XXX: must limit length of string */
743 localepath = (char *)rxvt_malloc(256); 729 localepath = (char *)rxvt_malloc(256);
744 sprintf(localepath, XAPPLOADDIRLOCALE "/" APL_SUBCLASS, 730 sprintf(localepath, XAPPLOADDIRLOCALE "/" APL_SUBCLASS,
745 (int)(258 - sizeof(XAPPLOADDIRLOCALE) - sizeof(APL_SUBCLASS)), 731 (int)(258 - sizeof(XAPPLOADDIRLOCALE) - sizeof(APL_SUBCLASS)),
746 R->locale); /* 258 = 255 + 4 (-.*s) - 1 (/) */ 732 locale); /* 258 = 255 + 4 (-.*s) - 1 (/) */
747 } 733 }
748 734
749 { 735 {
750# endif 736# endif
751# endif 737# endif
825 for (entry = 0; entry < optList_size(); entry++) { 811 for (entry = 0; entry < optList_size(); entry++) {
826 int s; 812 int s;
827 char *p, *p0; 813 char *p, *p0;
828 const char *kw = optList[entry].kw; 814 const char *kw = optList[entry].kw;
829 815
830 if (kw == NULL || R->rs[optList[entry].doff] != NULL) 816 if (kw == NULL || rs[optList[entry].doff] != NULL)
831 continue; /* previously set */ 817 continue; /* previously set */
832 818
833 p = XGetDefault(display, name, kw); 819 p = XGetDefault(display, name, kw);
834 p0 = XGetDefault(display, "!INVALIDPROGRAMMENAMEDONTMATCH!", kw); 820 p0 = XGetDefault(display, "!INVALIDPROGRAMMENAMEDONTMATCH!", kw);
835 if (p == NULL || (p0 && STRCMP(p, p0) == 0)) { 821 if (p == NULL || (p0 && STRCMP(p, p0) == 0)) {
838 p = XGetDefault(display, APL_CLASS, kw); 824 p = XGetDefault(display, APL_CLASS, kw);
839 } 825 }
840 if (p == NULL && p0) 826 if (p == NULL && p0)
841 p = p0; 827 p = p0;
842 if (p) { 828 if (p) {
843 R->rs[optList[entry].doff] = p; 829 rs[optList[entry].doff] = p;
844 830
845 if (optList_isBool(entry)) { 831 if (optList_isBool(entry)) {
846 s = STRCASECMP(p, "TRUE") == 0 832 s = STRCASECMP(p, "TRUE") == 0
847 || STRCASECMP(p, "YES") == 0 833 || STRCASECMP(p, "YES") == 0
848 || STRCASECMP(p, "ON") == 0 834 || STRCASECMP(p, "ON") == 0
849 || STRCASECMP(p, "1") == 0; 835 || STRCASECMP(p, "1") == 0;
850 if (optList_isReverse(entry)) 836 if (optList_isReverse(entry))
851 s = !s; 837 s = !s;
852 if (s) 838 if (s)
853 R->Options |= (optList[entry].flag); 839 Options |= (optList[entry].flag);
854 else 840 else
855 R->Options &= ~(optList[entry].flag); 841 Options &= ~(optList[entry].flag);
856 } 842 }
857 } 843 }
858 } 844 }
859 845
860/* 846/*
920 * 906 *
921 * Also, use a special sub-class so that we can use either or both of 907 * Also, use a special sub-class so that we can use either or both of
922 * "XTerm" and "Rxvt" as class names. 908 * "XTerm" and "Rxvt" as class names.
923 */ 909 */
924 910
925 rxvt_get_xdefaults(aR_ fd, name); 911 get_xdefaults (fd, name);
926 rxvt_get_xdefaults(aR_ fd, APL_SUBCLASS); 912 get_xdefaults (fd, APL_SUBCLASS);
927 913
928# if defined(XAPPLOADDIR) && defined(USE_XAPPLOADDIR) 914# if defined(XAPPLOADDIR) && defined(USE_XAPPLOADDIR)
929 { 915 {
930 FILE *ad = NULL; 916 FILE *ad = NULL;
931 917
932# if defined(HAVE_XSETLOCALE) || defined(HAVE_SETLOCALE) 918# if defined(HAVE_XSETLOCALE) || defined(HAVE_SETLOCALE)
933 if (localepath == NULL || (ad = fopen(localepath, "r")) == NULL) 919 if (localepath == NULL || (ad = fopen(localepath, "r")) == NULL)
934# endif 920# endif
935 ad = fopen(XAPPLOADDIR "/" APL_SUBCLASS, "r"); 921 ad = fopen(XAPPLOADDIR "/" APL_SUBCLASS, "r");
936 if (ad != NULL) { 922 if (ad != NULL) {
937 rxvt_get_xdefaults(aR_ ad, APL_SUBCLASS); 923 get_xdefaults (ad, APL_SUBCLASS);
938 rxvt_get_xdefaults(aR_ ad, ""); 924 get_xdefaults (ad, "");
939 fclose(ad); 925 fclose(ad);
940 } 926 }
941 } 927 }
942# endif /* XAPPLOADDIR */ 928# endif /* XAPPLOADDIR */
943 929
944 rxvt_get_xdefaults(aR_ fd, APL_CLASS); 930 get_xdefaults (fd, APL_CLASS);
945 rxvt_get_xdefaults(aR_ fd, ""); /* partial match */ 931 get_xdefaults (fd, ""); /* partial match */
946 if (fd != NULL) 932 if (fd != NULL)
947 fclose(fd); 933 fclose(fd);
948# endif /* USE_XGETDEFAULT */ 934# endif /* USE_XGETDEFAULT */
949 935
950# if defined XAPPLOADDIR 936# if defined XAPPLOADDIR
961/* 947/*
962 * even without resources, at least do this setup for command-line 948 * even without resources, at least do this setup for command-line
963 * options and command-line long options 949 * options and command-line long options
964 */ 950 */
965#ifdef MULTICHAR_SET 951#ifdef MULTICHAR_SET
966 rxvt_set_multichar_encoding(aR_ R->rs[Rs_multichar_encoding]); 952 set_multichar_encoding (rs[Rs_multichar_encoding]);
967#endif 953#endif
968#ifdef GREEK_SUPPORT 954#ifdef GREEK_SUPPORT
969/* this could be a function in grkelot.c */ 955/* this could be a function in grkelot.c */
970/* void set_greek_keyboard (const char * str); */ 956/* void set_greek_keyboard (const char * str); */
971 if (R->rs[Rs_greek_keyboard]) { 957 if (rs[Rs_greek_keyboard]) {
972 if (!STRCMP(R->rs[Rs_greek_keyboard], "iso")) 958 if (!STRCMP(rs[Rs_greek_keyboard], "iso"))
973 greek_setmode(GREEK_ELOT928); /* former -grk9 */ 959 greek_setmode(GREEK_ELOT928); /* former -grk9 */
974 else if (!STRCMP(R->rs[Rs_greek_keyboard], "ibm")) 960 else if (!STRCMP(rs[Rs_greek_keyboard], "ibm"))
975 greek_setmode(GREEK_IBM437); /* former -grk4 */ 961 greek_setmode(GREEK_IBM437); /* former -grk4 */
976 } 962 }
977 { 963 {
978 KeySym sym; 964 KeySym sym;
979 965
980 if (R->rs[Rs_greektoggle_key] 966 if (rs[Rs_greektoggle_key]
981 && ((sym = XStringToKeysym(R->rs[Rs_greektoggle_key])) != 0)) 967 && ((sym = XStringToKeysym(rs[Rs_greektoggle_key])) != 0))
982 R->ks_greekmodeswith = sym; 968 ks_greekmodeswith = sym;
983 } 969 }
984#endif /* GREEK_SUPPORT */ 970#endif /* GREEK_SUPPORT */
985 971
986#if defined (HOTKEY_CTRL) || defined (HOTKEY_META) 972#if defined (HOTKEY_CTRL) || defined (HOTKEY_META)
987 { 973 {
988 KeySym sym; 974 KeySym sym;
989 975
990 if (R->rs[Rs_bigfont_key] 976 if (rs[Rs_bigfont_key]
991 && ((sym = XStringToKeysym(R->rs[Rs_bigfont_key])) != 0)) 977 && ((sym = XStringToKeysym(rs[Rs_bigfont_key])) != 0))
992 R->ks_bigfont = sym; 978 ks_bigfont = sym;
993 if (R->rs[Rs_smallfont_key] 979 if (rs[Rs_smallfont_key]
994 && ((sym = XStringToKeysym(R->rs[Rs_smallfont_key])) != 0)) 980 && ((sym = XStringToKeysym(rs[Rs_smallfont_key])) != 0))
995 R->ks_smallfont = sym; 981 ks_smallfont = sym;
996 } 982 }
997#endif 983#endif
998} 984}
999 985
1000/*}}} */ 986/*}}} */

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines