… | |
… | |
402 | #endif |
402 | #endif |
403 | |
403 | |
404 | refresh_limit = 1; |
404 | refresh_limit = 1; |
405 | refresh_type = SLOW_REFRESH; |
405 | refresh_type = SLOW_REFRESH; |
406 | prev_nrow = prev_ncol = 0; |
406 | prev_nrow = prev_ncol = 0; |
407 | #ifdef MULTICHAR_SET |
|
|
408 | # ifdef MULTICHAR_ENCODING |
|
|
409 | encoding_method = MULTICHAR_ENCODING; |
|
|
410 | # endif |
|
|
411 | multichar_decode = rxvt_euc2jis; |
|
|
412 | #endif |
|
|
413 | |
407 | |
414 | oldcursor.row = oldcursor.col = -1; |
408 | oldcursor.row = oldcursor.col = -1; |
415 | #ifdef XPM_BACKGROUND |
409 | #ifdef XPM_BACKGROUND |
416 | /* bgPixmap.w = bgPixmap.h = 0; */ |
410 | /* bgPixmap.w = bgPixmap.h = 0; */ |
417 | bgPixmap.x = bgPixmap.y = 50; |
411 | bgPixmap.x = bgPixmap.y = 50; |
… | |
… | |
663 | |
657 | |
664 | #ifdef HAVE_SCROLLBARS |
658 | #ifdef HAVE_SCROLLBARS |
665 | setup_scrollbar (rs[Rs_scrollBar_align], rs[Rs_scrollstyle], |
659 | setup_scrollbar (rs[Rs_scrollBar_align], rs[Rs_scrollstyle], |
666 | rs[Rs_scrollBar_thickness]); |
660 | rs[Rs_scrollBar_thickness]); |
667 | #endif |
661 | #endif |
668 | |
|
|
669 | TermWin.fontset = new rxvt_fontset (this); |
|
|
670 | TermWin.fontset->populate (rs[Rs_font]); |
|
|
671 | TermWin.fwidth = TermWin.fontset->base_font ()->width; |
|
|
672 | TermWin.fheight = TermWin.fontset->base_font ()->height; |
|
|
673 | TermWin.fbase = TermWin.fontset->base_font ()->ascent; |
|
|
674 | |
662 | |
675 | #ifdef XTERM_REVERSE_VIDEO |
663 | #ifdef XTERM_REVERSE_VIDEO |
676 | /* this is how xterm implements reverseVideo */ |
664 | /* this is how xterm implements reverseVideo */ |
677 | if (Options & Opt_reverseVideo) |
665 | if (Options & Opt_reverseVideo) |
678 | { |
666 | { |
… | |
… | |
802 | void |
790 | void |
803 | rxvt_term::set_locale (const char *locale) |
791 | rxvt_term::set_locale (const char *locale) |
804 | { |
792 | { |
805 | #if HAVE_XSETLOCALE || HAVE_SETLOCALE |
793 | #if HAVE_XSETLOCALE || HAVE_SETLOCALE |
806 | free (this->locale); |
794 | free (this->locale); |
807 | this->locale = rxvt_strdup (setlocale (LC_CTYPE, "")); |
795 | this->locale = rxvt_strdup (setlocale (LC_CTYPE, locale)); |
808 | SET_LOCALE (this->locale); |
796 | SET_LOCALE (this->locale); |
809 | mbstate.reset (); |
797 | mbstate.reset (); |
810 | #endif |
798 | #endif |
811 | #if HAVE_NL_LANGINFO |
799 | #if HAVE_NL_LANGINFO |
812 | free (codeset); |
800 | free (codeset); |
… | |
… | |
1137 | } |
1125 | } |
1138 | |
1126 | |
1139 | /* grab colors before netscape does */ |
1127 | /* grab colors before netscape does */ |
1140 | Get_Colours (); |
1128 | Get_Colours (); |
1141 | |
1129 | |
1142 | change_font (1, NULL); |
1130 | if (!change_font (rs[Rs_font])) |
|
|
1131 | { |
|
|
1132 | fprintf (stderr, "unable to load a base font, please provide one using -fn fontname\n"); |
|
|
1133 | destroy (); |
|
|
1134 | return; |
|
|
1135 | } |
|
|
1136 | |
1143 | window_calc (0, 0); |
1137 | window_calc (0, 0); |
1144 | old_width = szHint.width; |
1138 | old_width = szHint.width; |
1145 | old_height = szHint.height; |
1139 | old_height = szHint.height; |
1146 | |
1140 | |
1147 | /* parent window - reverse video so we can see placement errors |
1141 | /* parent window - reverse video so we can see placement errors |
… | |
… | |
1252 | TermWin_TotalWidth (), |
1246 | TermWin_TotalWidth (), |
1253 | menuBar_TotalHeight (), |
1247 | menuBar_TotalHeight (), |
1254 | 0, |
1248 | 0, |
1255 | PixColors[Color_fg], |
1249 | PixColors[Color_fg], |
1256 | PixColors[Color_scroll]); |
1250 | PixColors[Color_scroll]); |
|
|
1251 | |
1257 | #ifdef DEBUG_X |
1252 | #ifdef DEBUG_X |
1258 | XStoreName (display->display, menuBar.win, "menubar"); |
1253 | XStoreName (display->display, menuBar.win, "menubar"); |
1259 | #endif |
1254 | #endif |
1260 | |
1255 | |
|
|
1256 | menuBar.drawable = new rxvt_drawable (display, menuBar.win); |
|
|
1257 | |
1261 | XDefineCursor (display->display, menuBar.win, pointer_leftptr); |
1258 | XDefineCursor (display->display, menuBar.win, |
|
|
1259 | XCreateFontCursor (display->display, XC_left_ptr)); |
1262 | |
1260 | |
1263 | XSelectInput (display->display, menuBar.win, |
1261 | XSelectInput (display->display, menuBar.win, |
1264 | (ExposureMask | ButtonPressMask | ButtonReleaseMask |
1262 | (ExposureMask | ButtonPressMask | ButtonReleaseMask |
1265 | | Button1MotionMask)); |
1263 | | Button1MotionMask)); |
1266 | menubar_ev.start (display, menuBar.win); |
1264 | menubar_ev.start (display, menuBar.win); |
… | |
… | |
1289 | gcvalue.graphics_exposures = 1; |
1287 | gcvalue.graphics_exposures = 1; |
1290 | TermWin.gc = XCreateGC (display->display, TermWin.vt, |
1288 | TermWin.gc = XCreateGC (display->display, TermWin.vt, |
1291 | GCForeground | GCBackground |
1289 | GCForeground | GCBackground |
1292 | | GCGraphicsExposures, &gcvalue); |
1290 | | GCGraphicsExposures, &gcvalue); |
1293 | |
1291 | |
|
|
1292 | TermWin.drawable = new rxvt_drawable (display, TermWin.vt); |
|
|
1293 | |
1294 | #if defined(MENUBAR) || defined(RXVT_SCROLLBAR) |
1294 | #if defined(MENUBAR) || defined(RXVT_SCROLLBAR) |
1295 | gcvalue.foreground = PixColors[Color_topShadow]; |
1295 | gcvalue.foreground = PixColors[Color_topShadow]; |
1296 | topShadowGC = XCreateGC (display->display, TermWin.vt, |
1296 | topShadowGC = XCreateGC (display->display, TermWin.vt, GCForeground, &gcvalue); |
1297 | GCForeground, &gcvalue); |
|
|
1298 | gcvalue.foreground = PixColors[Color_bottomShadow]; |
1297 | gcvalue.foreground = PixColors[Color_bottomShadow]; |
1299 | botShadowGC = XCreateGC (display->display, TermWin.vt, |
1298 | botShadowGC = XCreateGC (display->display, TermWin.vt, GCForeground, &gcvalue); |
1300 | GCForeground, &gcvalue); |
|
|
1301 | gcvalue.foreground = PixColors[ (XDEPTH <= 2 ? Color_fg |
1299 | gcvalue.foreground = PixColors[ (XDEPTH <= 2 ? Color_fg : Color_scroll)]; |
1302 | : Color_scroll)]; |
|
|
1303 | scrollbarGC = XCreateGC (display->display, TermWin.vt, |
1300 | scrollbarGC = XCreateGC (display->display, TermWin.vt, GCForeground, &gcvalue); |
1304 | GCForeground, &gcvalue); |
|
|
1305 | #endif |
1301 | #endif |
1306 | } |
1302 | } |
1307 | |
1303 | |
1308 | /*----------------------------------------------------------------------*/ |
1304 | /*----------------------------------------------------------------------*/ |
1309 | /* |
1305 | /* |