ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/src/main.C
(Generate patch)

Comparing rxvt-unicode/src/main.C (file contents):
Revision 1.207 by root, Wed Jan 25 21:09:21 2006 UTC vs.
Revision 1.214 by root, Tue Jan 31 19:53:30 2006 UTC

368{ 368{
369 for (rxvt_term **t = rxvt_term::termlist.begin (); t < rxvt_term::termlist.end (); t++) 369 for (rxvt_term **t = rxvt_term::termlist.begin (); t < rxvt_term::termlist.end (); t++)
370 (*t)->emergency_cleanup (); 370 (*t)->emergency_cleanup ();
371} 371}
372 372
373#if ENABLE_FRILLS 373#if !ENABLE_MINIMAL
374static void 374static void
375print_x_error (Display *dpy, XErrorEvent *event) 375print_x_error (Display *dpy, XErrorEvent *event)
376{ 376{
377 char buffer[BUFSIZ]; 377 char buffer[BUFSIZ];
378 char mesg[BUFSIZ]; 378 char mesg[BUFSIZ];
426 GET_R->allowedxerror = event->error_code; 426 GET_R->allowedxerror = event->error_code;
427 else 427 else
428 { 428 {
429 // GET_R is most likely not the terminal which caused the error, 429 // GET_R is most likely not the terminal which caused the error,
430 // so just output the error and continue 430 // so just output the error and continue
431#if ENABLE_FRILLS 431#if ENABLE_MINIMAL
432 old_xerror_handler (display, event);
433#else
432 print_x_error (display, event); 434 print_x_error (display, event);
433#else
434 old_xerror_handler (display, event);
435#endif 435#endif
436 } 436 }
437 437
438 return 0; 438 return 0;
439} 439}
691 691
692 if (scrollBar.state) 692 if (scrollBar.state)
693 { 693 {
694 sb_w = scrollbar_TotalWidth (); 694 sb_w = scrollbar_TotalWidth ();
695 szHint.base_width += sb_w; 695 szHint.base_width += sb_w;
696
696 if (!OPTION (Opt_scrollBar_right)) 697 if (!OPTION (Opt_scrollBar_right))
697 window_vt_x += sb_w; 698 window_vt_x += sb_w;
698 } 699 }
699 700
700 szHint.width_inc = fwidth; 701 szHint.width_inc = fwidth;
887void 888void
888rxvt_term::set_window_color (int idx, const char *color) 889rxvt_term::set_window_color (int idx, const char *color)
889{ 890{
890 rxvt_color xcol; 891 rxvt_color xcol;
891 int i; 892 int i;
892 893
893 if (color == NULL || *color == '\0') 894 if (color == NULL || *color == '\0')
894 return; 895 return;
896
897 color = strdup (color);
898 allocated.push_back ((void *)color);
899 rs[Rs_color + idx] = color;
895 900
896 /* handle color aliases */ 901 /* handle color aliases */
897 if (isdigit (*color)) 902 if (isdigit (*color))
898 { 903 {
899 i = atoi (color); 904 i = atoi (color);
900 905
901 if (i >= 8 && i <= 15) 906 if (i >= 8 && i <= 15)
902 { /* bright colors */ 907 { /* bright colors */
903 i -= 8; 908 i -= 8;
904 pix_colors_focused[idx] = pix_colors_focused[minBrightCOLOR + i]; 909 pix_colors_focused[idx] = pix_colors_focused[minBrightCOLOR + i];
905 SET_PIXCOLOR (idx);
906 goto done; 910 goto done;
907 } 911 }
908 912
909 if (i >= 0 && i <= 7) 913 if (i >= 0 && i <= 7)
910 { /* normal colors */ 914 { /* normal colors */
911 pix_colors_focused[idx] = pix_colors_focused[minCOLOR + i]; 915 pix_colors_focused[idx] = pix_colors_focused[minCOLOR + i];
912 SET_PIXCOLOR (idx);
913 goto done; 916 goto done;
914 } 917 }
915 } 918 }
916 919
917 if (!rXParseAllocColor (&xcol, color)) 920 set_color (xcol, color);
918 return;
919
920 /* XStoreColor (xdisp, display->cmap, XColor*); */
921 921
922 /* 922 /*
923 * FIXME: should free colors here, but no idea how to do it so instead, 923 * FIXME: should free colors here, but no idea how to do it so instead,
924 * so just keep gobbling up the colormap 924 * so just keep gobbling up the colormap
925 */ 925 */
926# if 0
927 for (i = Color_Black; i <= Color_White; i++)
928 if (pix_colors[idx] == pix_colors[i])
929 break;
930 if (i > Color_White)
931 {
932 /* fprintf (stderr, "XFreeColors: pix_colors [%d] = %lu\n", idx, pix_colors [idx]); */
933 XFreeColors (xdisp, display->cmap, (pix_colors + idx), 1,
934 DisplayPlanes (xdisp, display->screen));
935 }
936# endif
937 926
938 pix_colors_focused[idx] = xcol; 927 pix_colors_focused[idx] = xcol;
939 SET_PIXCOLOR (idx);
940 928
941 /* XSetWindowAttributes attr; */ 929 /* XSetWindowAttributes attr; */
942 /* Cursor cursor; */ 930 /* Cursor cursor; */
943done: 931done:
944 932
945#if OFF_FOCUS_FADING 933#if OFF_FOCUS_FADING
946 if (rs[Rs_fade]) 934 if (rs[Rs_fade])
947 pix_colors_unfocused[idx] = pix_colors_focused[idx].fade (this, atoi (rs[Rs_fade]), pix_colors[Color_fade]); 935 {
936 rgba c;
937 pix_colors [Color_fade].get (c);
938 pix_colors_focused [idx].fade (this, atoi (rs[Rs_fade]), pix_colors_unfocused [idx], c);
939 }
948#endif 940#endif
949 941
950 /*TODO: handle Color_BD, scrollbar background, etc. */ 942 /*TODO: handle Color_BD, scrollbar background, etc. */
951 943
952 recolour_cursor (); 944 recolour_cursor ();
1006 sprintf (env_colorfgbg, "COLORFGBG=%s;%s%s", fstr, xpmb, bstr); 998 sprintf (env_colorfgbg, "COLORFGBG=%s;%s%s", fstr, xpmb, bstr);
1007} 999}
1008 1000
1009/*----------------------------------------------------------------------*/ 1001/*----------------------------------------------------------------------*/
1010 1002
1011int 1003bool
1012rxvt_term::rXParseAllocColor (rxvt_color *screen_in_out, const char *colour) 1004rxvt_term::set_color (rxvt_color &color, const char *name)
1013{ 1005{
1014 if (!screen_in_out->set (this, colour)) 1006 if (color.set (this, name))
1015 {
1016 rxvt_warn ("can't get colour '%s', continuing without.\n", colour);
1017 return false;
1018 }
1019
1020 return true; 1007 return true;
1008
1009 rxvt_warn ("can't get colour '%s', continuing without.\n", name);
1010 return false;
1021} 1011}
1022 1012
1023/* -------------------------------------------------------------------- * 1013/* -------------------------------------------------------------------- *
1024 * - WINDOW RESIZING - * 1014 * - WINDOW RESIZING - *
1025 * -------------------------------------------------------------------- */ 1015 * -------------------------------------------------------------------- */

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines