--- rxvt-unicode/src/init.C 2007/05/01 21:10:04 1.181 +++ rxvt-unicode/src/init.C 2007/08/09 22:08:21 1.204 @@ -48,7 +48,7 @@ "rgb:00/00/00", // 0: black (Black) "rgb:cd/00/00", // 1: red (Red3) "rgb:00/cd/00", // 2: green (Green3) - "rgb:cd/cd/00", // 3: ywlloe (Yellow3) + "rgb:cd/cd/00", // 3: yellow (Yellow3) "rgb:00/00/cd", // 4: blue (Blue3) "rgb:cd/00/cd", // 5: magenta (Magenta3) "rgb:00/cd/cd", // 6: cyan (Cyan3) @@ -168,7 +168,7 @@ COLOR_SCROLLBAR, COLOR_SCROLLTROUGH, #endif /* KEEP_SCROLLCOLOR */ -#if TINTING +#if ENABLE_TRANSPARENCY NULL, #endif #if OFF_FOCUS_FADING @@ -185,9 +185,6 @@ pix_colors_unfocused = new rxvt_color [TOTAL_COLORS]; #endif -#if defined(XPM_BACKGROUND) || defined(TRANSPARENT) - pixmap = None; -#endif MEvent.time = CurrentTime; MEvent.button = AnyButton; @@ -201,25 +198,32 @@ saveLines = SAVELINES; numpix_colors = TOTAL_COLORS; - refresh_limit = 1; refresh_type = SLOW_REFRESH; oldcursor.row = oldcursor.col = -1; -#ifdef XPM_BACKGROUND +#ifdef HAVE_BG_PIXMAP +#ifdef HAVE_AFTERIMAGE + bgPixmap.original_asim = NULL; +#endif /* bgPixmap.w = bgPixmap.h = 0; */ - bgPixmap.x = bgPixmap.y = 0; +#ifdef XPM_BACKGROUND + bgPixmap.h_scale = bgPixmap.v_scale = 0; + bgPixmap.h_align = bgPixmap.v_align = 0; +#endif + bgPixmap.flags = 0; bgPixmap.pixmap = None; #endif - last_bot = last_state = -1; - set_option (Opt_scrollBar, 1); - set_option (Opt_scrollTtyOutput, 1); - set_option (Opt_jumpScroll, 1); - set_option (Opt_secondaryScreen, 1); - set_option (Opt_secondaryScroll, 1); - set_option (Opt_pastableTabs, 1); - set_option (Opt_intensityStyles, 1); + set_option (Opt_scrollBar); + set_option (Opt_scrollTtyOutput); + set_option (Opt_jumpScroll); + set_option (Opt_skipScroll); + set_option (Opt_secondaryScreen); + set_option (Opt_secondaryScroll); + set_option (Opt_pastableTabs); + set_option (Opt_intensityStyles); + set_option (Opt_iso14755_52); return true; } @@ -317,8 +321,13 @@ select_visual (strtol (rs[Rs_depth], 0, 0)); #endif +#ifdef HAVE_AFTERIMAGE + asv = create_asvisual_for_id (dpy, display->screen, depth, XVisualIDFromVisual (visual), cmap, NULL); +#endif free (r_argv); + bgPixmap.set_target (this); + for (int i = NUM_RESOURCES; i--; ) if (rs [i] == resval_undef) rs [i] = 0; @@ -430,7 +439,7 @@ #ifdef XTERM_REVERSE_VIDEO /* this is how xterm implements reverseVideo */ - if (OPTION (Opt_reverseVideo)) + if (option (Opt_reverseVideo)) { if (!rs[Rs_color + Color_fg]) rs[Rs_color + Color_fg] = def_colorName[Color_bg]; @@ -446,7 +455,7 @@ #ifndef XTERM_REVERSE_VIDEO /* this is how we implement reverseVideo */ - if (OPTION (Opt_reverseVideo)) + if (option (Opt_reverseVideo)) ::swap (rs[Rs_color + Color_fg], rs[Rs_color + Color_bg]); #endif @@ -630,16 +639,16 @@ */ #ifdef META8_OPTION - meta_char = OPTION (Opt_meta8) ? 0x80 : C0_ESC; + meta_char = option (Opt_meta8) ? 0x80 : C0_ESC; #endif get_ourmods (); - if (!OPTION (Opt_scrollTtyOutput)) + if (!option (Opt_scrollTtyOutput)) priv_modes |= PrivMode_TtyOutputInh; - if (OPTION (Opt_scrollTtyKeypress)) + if (option (Opt_scrollTtyKeypress)) priv_modes |= PrivMode_Keypress; - if (!OPTION (Opt_jumpScroll)) + if (!option (Opt_jumpScroll)) priv_modes |= PrivMode_smoothScroll; #ifndef NO_BACKSPACE_KEY @@ -679,7 +688,7 @@ if (!set_color (xcol, name)) { #ifndef XTERM_REVERSE_VIDEO - if (i < 2 && OPTION (Opt_reverseVideo)) + if (i < 2 && option (Opt_reverseVideo)) name = def_colorName [1 - i]; else #endif @@ -880,7 +889,7 @@ XClassHint classHint; XWMHints wmHint; #if ENABLE_FRILLS - MWMHints mwmhints; + MWMHints mwmhints = { }; #endif XGCValues gcvalue; XSetWindowAttributes attributes; @@ -896,10 +905,10 @@ parent = display->root; - attributes.override_redirect = !!OPTION (Opt_override_redirect); + attributes.override_redirect = !!option (Opt_override_redirect); #if ENABLE_FRILLS - if (OPTION (Opt_borderLess)) + if (option (Opt_borderLess)) { if (XInternAtom (dpy, "_MOTIF_WM_INFO", True) == None) { @@ -959,7 +968,7 @@ wmHint.flags = InputHint | StateHint | WindowGroupHint; wmHint.input = True; - wmHint.initial_state = OPTION (Opt_iconic) ? IconicState : NormalState; + wmHint.initial_state = option (Opt_iconic) ? IconicState : NormalState; wmHint.window_group = top; XmbSetWMProperties (dpy, top, NULL, NULL, (char **)argv, argc, @@ -1026,7 +1035,7 @@ vt_emask = ExposureMask | ButtonPressMask | ButtonReleaseMask | PropertyChangeMask; - if (OPTION (Opt_pointerBlank)) + if (option (Opt_pointerBlank)) vt_emask |= PointerMotionMask; else vt_emask |= Button1MotionMask | Button3MotionMask; @@ -1036,16 +1045,17 @@ vt_ev.start (display, vt); #ifdef XPM_BACKGROUND - if (rs[Rs_backgroundPixmap] != NULL - && !OPTION (Opt_transparent)) + if (rs[Rs_backgroundPixmap] != NULL) { const char *p = rs[Rs_backgroundPixmap]; if ((p = strchr (p, ';')) != NULL) { p++; - scale_pixmap (p); + bgPixmap.handle_geometry (p); } + else + bgPixmap.set_defaultGeometry (); set_bgPixmap (rs[Rs_backgroundPixmap]); scr_touch (true); @@ -1331,8 +1341,8 @@ _exit (EXIT_FAILURE); default: - if (!OPTION (Opt_utmpInhibit)) - pty->login (cmd_pid, OPTION (Opt_loginShell), rs[Rs_display_name]); + if (!option (Opt_utmpInhibit)) + pty->login (cmd_pid, option (Opt_loginShell), rs[Rs_display_name]); pty->close_tty (); @@ -1355,7 +1365,7 @@ { char *login; - if (OPTION (Opt_console)) + if (option (Opt_console)) { /* be virtual console, fail silently */ #ifdef TIOCCONS unsigned int on = 1; @@ -1414,7 +1424,7 @@ argv0 = (const char *)rxvt_r_basename (shell); - if (OPTION (Opt_loginShell)) + if (option (Opt_loginShell)) { login = (char *)rxvt_malloc ((strlen (argv0) + 2) * sizeof (char));