Lines Matching refs:xw

145 static IChar doinput(XtermWidget /* xw */ );
147 static void FromAlternate(XtermWidget /* xw */ ,
149 static void ReallyReset(XtermWidget /* xw */ ,
152 static void RequestResize(XtermWidget /* xw */ ,
156 static void SwitchBufs(XtermWidget /* xw */ ,
159 static void ToAlternate(XtermWidget /* xw */ ,
161 static void ansi_modes(XtermWidget /* xw */ ,
166 static void dpmodes(XtermWidget /* xw */ ,
168 static void restoremodes(XtermWidget /* xw */ );
169 static void savemodes(XtermWidget /* xw */ );
170 static void window_ops(XtermWidget /* xw */ );
176 #define UpdateCursorBlink(xw) \
177 SetCursorBlink(xw, TScreenOf(xw)->cursor_blink)
178 static void SetCursorBlink(XtermWidget /* xw */ ,
182 static void StartBlinking(XtermWidget /* xw */ );
183 static void StopBlinking(XtermWidget /* xw */ );
185 #define StartBlinking(xw) /* nothing */
186 #define StopBlinking(xw) /* nothing */
190 static Boolean discount_frame_extents(XtermWidget /* xw */ ,
194 #define discount_frame_extents(xw, height, width) False
198 static void PreeditPosition(XtermWidget /* xw */ );
1032 SGR_Foreground(XtermWidget xw, int color)
1034 TScreen *screen = TScreenOf(xw);
1038 UIntSet(xw->flags, FG_COLOR);
1040 UIntClr(xw->flags, FG_COLOR);
1042 fg = getXtermFG(xw, xw->flags, color);
1043 xw->cur_foreground = color;
1045 setCgsFore(xw, WhichVWin(screen), gcNorm, fg);
1046 setCgsBack(xw, WhichVWin(screen), gcNormReverse, fg);
1048 setCgsFore(xw, WhichVWin(screen), gcBold, fg);
1049 setCgsBack(xw, WhichVWin(screen), gcBoldReverse, fg);
1068 SGR_Background(XtermWidget xw, int color)
1070 TScreen *screen = TScreenOf(xw);
1079 if (screen->scroll_amt && (color != xw->cur_background))
1080 FlushScroll(xw);
1083 UIntSet(xw->flags, BG_COLOR);
1085 UIntClr(xw->flags, BG_COLOR);
1087 bg = getXtermBG(xw, xw->flags, color);
1088 xw->cur_background = color;
1090 setCgsBack(xw, WhichVWin(screen), gcNorm, bg);
1091 setCgsFore(xw, WhichVWin(screen), gcNormReverse, bg);
1093 setCgsBack(xw, WhichVWin(screen), gcBold, bg);
1094 setCgsFore(xw, WhichVWin(screen), gcBoldReverse, bg);
1101 setExtendedFG(XtermWidget xw)
1103 int fg = xw->sgr_foreground;
1105 if (TScreenOf(xw)->colorAttrMode
1107 fg = MapToColorMode(fg, TScreenOf(xw), xw->flags);
1116 if (TScreenOf(xw)->boldColors
1117 && (!xw->sgr_38_xcolors)
1120 && (xw->flags & BOLD))
1124 SGR_Foreground(xw, fg);
1131 setExtendedBG(XtermWidget xw)
1133 int bg = xw->sgr_background;
1135 if (TScreenOf(xw)->colorAttrMode
1137 if (TScreenOf(xw)->colorRVMode && (xw->flags & INVERSE))
1141 SGR_Background(xw, bg);
1145 setExtendedColors(XtermWidget xw)
1147 setExtendedFG(xw);
1148 setExtendedBG(xw);
1152 reset_SGR_Foreground(XtermWidget xw)
1154 xw->sgr_foreground = -1;
1155 xw->sgr_38_xcolors = False;
1156 clrDirectFG(xw->flags);
1157 setExtendedFG(xw);
1161 reset_SGR_Background(XtermWidget xw)
1163 xw->sgr_background = -1;
1164 clrDirectBG(xw->flags);
1165 setExtendedBG(xw);
1169 reset_SGR_Colors(XtermWidget xw)
1171 reset_SGR_Foreground(xw);
1172 reset_SGR_Background(xw);
1181 setItalicFont(XtermWidget xw, Bool enable)
1184 if ((xw->flags & ATR_ITALIC) == 0) {
1185 xtermLoadItalics(xw);
1187 xtermUpdateFontGCs(xw, getItalicFont);
1189 } else if ((xw->flags & ATR_ITALIC) != 0) {
1191 xtermUpdateFontGCs(xw, getNormalFont);
1196 ResetItalics(XtermWidget xw)
1198 setItalicFont(xw, False);
1199 UIntClr(xw->flags, ATR_ITALIC);
1203 #define ResetItalics(xw) /* nothing */
1278 modified_DECNRCM(XtermWidget xw)
1281 TScreen *screen = TScreenOf(xw);
1283 int enabled = ((xw->flags & NATIONAL) != 0);
1290 (void) xw;
1362 resetMargins(XtermWidget xw)
1364 TScreen *screen = TScreenOf(xw);
1371 resetMarginMode(XtermWidget xw)
1373 UIntClr(xw->flags, LEFT_RIGHT);
1374 resetMargins(xw);
1378 resetRendition(XtermWidget xw)
1380 TScreen *screen = TScreenOf(xw);
1382 ResetItalics(xw);
1383 UIntClr(xw->flags,
1696 dotext(xw, \
1706 dotext(xw, \
1885 xtermDecodeSCS(XtermWidget xw, int which, int sgroup, int prefix, int suffix)
1887 TScreen *screen = TScreenOf(xw);
1899 && (scs_table[n].need_nrc == 0 || (xw->flags & NATIONAL) != 0)) {
2092 parse_extended_colors(XtermWidget xw, int *colorp, int *itemp, Boolean *extended)
2150 if (TScreenOf(xw)->direct_color && xw->has_rgb) {
2151 *colorp = getDirectColor(xw, values[0], values[1], values[2]);
2157 *colorp = xtermClosestColor(xw, values[0], values[1], values[2]);
2223 begin_sixel(XtermWidget xw, struct ParseState *sp)
2225 TScreen *screen = TScreenOf(xw);
2236 parse_sixel_init(xw, &params);
2252 repaintWhenPaletteChanged(XtermWidget xw, struct ParseState *sp)
2261 if (resource.buffered && TScreenOf(xw)->needSwap) {
2287 xw->work.palette_changed = False;
2288 xtermRepaint(xw);
2289 xtermFlushDbe(xw);
2302 illegal_parse(XtermWidget xw, unsigned c, struct ParseState *sp)
2306 Bell(xw, XkbBI_MinorError, 0);
2310 init_parser(XtermWidget xw, struct ParseState *sp)
2312 TScreen *screen = TScreenOf(xw);
2348 set_mod_fkeys(XtermWidget xw, int which, int what, Bool enabled)
2351 xw->keyboard.modify_now.field = ((what == DEFAULT) && enabled) \
2352 ? xw->keyboard.modify_1st.field \
2355 xw->keyboard.modify_now.field));
2380 report_mod_fkeys(XtermWidget xw, int which) /* XTQMODKEYS */
2383 reply.a_param[1] = (ParmType) xw->keyboard.modify_now.field
2411 unparseseq(xw, &reply);
2445 trace_status_line(XtermWidget xw, int lineno, const char *tag)
2447 TScreen *screen = TScreenOf(xw);
2465 #define TRACE_SL(tag) trace_status_line(xw, __LINE__, tag)
2471 find_SL_MODE(XtermWidget xw)
2473 TScreen *screen = TScreenOf(xw);
2511 find_SL_Timeout(XtermWidget xw)
2514 switch (find_SL_MODE(xw)) {
2542 CursorSave2(xw, &screen->status_data[n]); \
2546 CursorRestore2(xw, &screen->status_data[n]); \
2569 StatusPutChars(XtermWidget xw, const char *value, int length)
2571 TScreen *screen = TScreenOf(xw);
2586 dotext(xw,
2595 XtermWidget xw = (XtermWidget) closure;
2596 TScreen *screen = TScreenOf(xw);
2620 xw->flags |= INVERSE;
2621 xw->flags &= (IFlags) (~WRAPAROUND);
2639 StatusPutChars(xw, xtermVersion(), -1);
2643 StatusPutChars(xw, t, -1);
2650 StatusPutChars(xw, buffer, -1);
2652 StatusPutChars(xw, found, (int) length);
2665 StatusPutChars(xw, buffer, -1);
2667 StatusPutChars(xw, "?", 1);
2668 StatusPutChars(xw, parse - 1, 2);
2673 StatusPutChars(xw, parse, 1);
2676 right_margin = ScrnRightMargin(xw);
2680 StatusPutChars(xw, buffer, chunk);
2683 ScrnRefresh(xw, FirstRowNumber(screen), 0, 1, right_margin, True);
2689 interval = find_SL_Timeout(xw);
2693 show_indicator_status, xw);
2699 clear_status_line(XtermWidget xw)
2701 TScreen *screen = TScreenOf(xw);
2708 CursorSave2(xw, &save_me);
2709 CursorRestore2(xw, &clearit);
2714 ClearLine(xw);
2720 int right_margin = ScrnRightMargin(xw);
2729 StatusPutChars(xw, buffer, right_margin - n);
2733 CursorRestore2(xw, &save_me);
2739 show_writable_status(XtermWidget xw)
2741 TScreen *screen = TScreenOf(xw);
2756 resize_status_line(XtermWidget xw)
2758 TScreen *screen = TScreenOf(xw);
2759 XtGravity savedGravity = xw->misc.resizeGravity;
2765 xw->misc.resizeGravity = NorthWestGravity;
2767 RequestResize(xw, MaxRows(screen), MaxCols(screen), True);
2769 xw->misc.resizeGravity = savedGravity;
2776 update_status_line(XtermWidget xw, int new_active, int new_type)
2779 TScreen *screen = TScreenOf(xw);
2807 resize_status_line(xw);
2809 clear_status_line(xw);
2812 show_indicator_status(xw, NULL);
2829 clear_status_line(xw);
2837 clear_status_line(xw);
2840 resize_status_line(xw);
2845 show_writable_status(xw);
2850 clear_status_line(xw);
2857 clear_status_line(xw);
2859 resize_status_line(xw); /* shrink... */
2879 handle_DECSASD(XtermWidget xw, int value)
2883 BtoS(TScreenOf(xw)->status_active)));
2885 update_status_line(xw, value, -1);
2899 handle_DECSSDT(XtermWidget xw, int value)
2903 TScreenOf(xw)->status_type));
2905 update_status_line(xw, -1, value);
2909 #define clear_status_line(xw) /* nothing */
2928 doparsing(XtermWidget xw, unsigned c, struct ParseState *sp)
2930 TScreen *screen = TScreenOf(xw);
3015 ScrnUpdate(xw, use_row, use_col, 1, 1, 1);
3023 if ((c = (unsigned) xtermPrinterControl(xw, (int) c)) == 0)
3057 CursorSet(screen, row, col, xw->flags);
3115 illegal_parse(xw, c, sp);
3145 illegal_parse(xw, c, sp);
3289 && IsSetUtf8Title(xw)
3325 begin_sixel(xw, sp);
3393 if (xw->work.palette_changed) {
3394 repaintWhenPaletteChanged(xw, sp);
3484 dotext(xw,
3493 if (((xw->keyboard.flags & MODE_SRM) == 0)
3497 unparseputc(xw, screen->answer_back[count]);
3498 unparse_end(xw);
3509 do_osc(xw, sp->string_area, sp->string_used, (int) c);
3514 Bell(xw, XkbBI_TerminalBell, 0);
3520 CursorBack(xw, 1);
3525 CarriageReturn(xw);
3554 xtermAutoPrint(xw, c);
3555 xtermIndex(xw, 1);
3556 if (xw->flags & LINEFEED)
3557 CarriageReturn(xw);
3559 do_xevents(xw);
3567 && (TabToPrevStop(xw))) ;
3576 && (TabToNextStop(xw))) ;
3582 TabToNextStop(xw);
3602 xterm_DECDHL(xw, AsciiOf(c) == '3');
3608 xterm_DECSWL(xw);
3614 xterm_DECDWL(xw);
3726 InsertChar(xw, (unsigned) one_if_default(0));
3744 CursorForward(xw, one_if_default(0));
3750 CursorBack(xw, one_if_default(0));
3757 Jump_XMC(xw);
3759 CursorSet(screen, one_if_default(0) - 1, one_if_default(1) - 1, xw->flags);
3765 CursorSet(screen, one_if_default(0) - 1, CursorCol(xw), xw->flags);
3771 CursorSet(screen, CursorRow(xw), one_if_default(0) - 1, xw->flags);
3778 CursorRow(xw) + one_if_default(0),
3779 CursorCol(xw),
3780 xw->flags);
3787 CursorRow(xw),
3788 CursorCol(xw) + one_if_default(0),
3789 xw->flags);
3799 CursorSet(screen, screen->max_row, 0, xw->flags);
3805 do_cd_xtra_scroll(xw, zero_if_default(0));
3806 do_erase_display(xw, zero_if_default(0), OFF_PROTECT);
3812 do_erase_line(xw, zero_if_default(0), OFF_PROTECT);
3819 do_erase_char(xw, one_if_default(0), OFF_PROTECT);
3825 InsertLine(xw, one_if_default(0));
3831 DeleteLine(xw, one_if_default(0), True);
3837 DeleteChar(xw, (unsigned) one_if_default(0));
3856 TrackMouse(xw,
3863 RevScroll(xw, one_if_default(0));
3864 do_xevents(xw);
3874 RevScroll(xw, one_if_default(0));
3875 do_xevents(xw);
3900 unparseputc(xw, ANSI_ESC);
3901 unparseputc(xw, '/');
3902 unparseputc(xw, value);
3903 unparse_end(xw);
3976 if (xw->keyboard.type == keyboardIsVT220)
3997 unparseseq(xw, &reply);
4054 unparseseq(xw, &reply);
4063 unparseputc1(xw, ANSI_DCS);
4064 unparseputc(xw, '!');
4065 unparseputc(xw, '|');
4071 unparseputc(xw, '0');
4073 unparseputc1(xw, ANSI_ST);
4074 unparse_end(xw);
4082 TabClear(xw->tabs, screen->cur_col);
4084 TabZonk(xw->tabs);
4090 ansi_modes(xw, bitset);
4096 ansi_modes(xw, bitclr);
4106 Mark_XMC(xw, op);
4135 resetRendition(xw);
4137 reset_SGR_Colors(xw);
4141 UIntSet(xw->flags, BOLD);
4143 setExtendedFG(xw);
4148 UIntSet(xw->flags, ATR_FAINT);
4150 setExtendedFG(xw);
4154 setItalicFont(xw, UseItalicFont(screen));
4155 UIntSet(xw->flags, ATR_ITALIC);
4157 setExtendedFG(xw);
4162 UIntSet(xw->flags, UNDERLINE);
4164 setExtendedFG(xw);
4170 UIntSet(xw->flags, BLINK);
4171 StartBlinking(xw);
4173 setExtendedFG(xw);
4177 UIntSet(xw->flags, INVERSE);
4179 setExtendedBG(xw);
4183 UIntSet(xw->flags, INVISIBLE);
4187 UIntSet(xw->flags, ATR_STRIKEOUT);
4192 UIntSet(xw->flags, ATR_DBL_UNDER);
4196 UIntClr(xw->flags, BOLD);
4198 UIntClr(xw->flags, ATR_FAINT);
4201 setExtendedFG(xw);
4206 ResetItalics(xw);
4208 setExtendedFG(xw);
4213 UIntClr(xw->flags, UNDERLINE);
4215 UIntClr(xw->flags, ATR_DBL_UNDER);
4218 setExtendedFG(xw);
4222 UIntClr(xw->flags, BLINK);
4224 setExtendedFG(xw);
4228 UIntClr(xw->flags, INVERSE);
4230 setExtendedBG(xw);
4234 UIntClr(xw->flags, INVISIBLE);
4238 UIntClr(xw->flags, ATR_STRIKEOUT);
4257 xw->sgr_foreground = (op - 30);
4258 xw->sgr_38_xcolors = False;
4259 clrDirectFG(xw->flags);
4260 setExtendedFG(xw);
4269 if (parse_extended_colors(xw, &value, &item,
4271 xw->sgr_foreground = value;
4272 xw->sgr_38_xcolors = True;
4273 setDirectFG(xw->flags, extended);
4274 setExtendedFG(xw);
4280 reset_SGR_Foreground(xw);
4299 xw->sgr_background = (op - 40);
4300 clrDirectBG(xw->flags);
4301 setExtendedBG(xw);
4307 if (parse_extended_colors(xw, &value, &item,
4309 xw->sgr_background = value;
4310 setDirectBG(xw->flags, extended);
4311 setExtendedBG(xw);
4317 reset_SGR_Background(xw);
4336 xw->sgr_foreground = (op - 90 + 8);
4337 clrDirectFG(xw->flags);
4338 setExtendedFG(xw);
4344 reset_SGR_Foreground(xw);
4345 reset_SGR_Background(xw);
4363 xw->sgr_background = (op - 100 + 8);
4364 clrDirectBG(xw->flags);
4365 setExtendedBG(xw);
4402 if ((xw->flags & ORIGIN) != 0) {
4412 if ((xw->flags & ORIGIN) != 0) {
4519 unparseseq(xw, &reply);
4527 xtermMediaControl(xw, GetParam(0), False);
4533 xtermMediaControl(xw, GetParam(0), True);
4544 FlushScroll(xw);
4564 FlushScroll(xw);
4566 CursorSet(screen, 0, 0, xw->flags);
4587 unparseseq(xw, &reply);
4598 dpmodes(xw, bitset);
4601 if (TEK4014_ACTIVE(xw)) {
4612 dpmodes(xw, bitclr);
4620 HideCursor(xw);
4626 UIntClr(xw->flags, ORIGIN);
4628 resetRendition(xw);
4629 resetMargins(xw);
4630 xterm_ResetDouble(xw);
4631 CursorSet(screen, 0, 0, xw->flags);
4632 xtermParseRect(xw, 0, NULL, &myRect);
4633 ScrnFillRectangle(xw, &myRect, 'E', 0, False);
4640 xtermDecodeSCS(xw, sp->scstype, 5, 0, (int) c);
4648 xtermDecodeSCS(xw, sp->scstype, 3, 0, (int) c);
4656 xtermDecodeSCS(xw, sp->scstype, 1, 0, (int) c);
4659 xtermDecodeSCS(xw, sp->scstype, 2, 0, (int) c);
4665 if (IsLeftRightMode(xw)) {
4677 CursorSet(screen, 0, 0, xw->flags);
4681 CursorSave(xw);
4688 CursorSave(xw);
4699 CursorRestore(xw);
4701 setExtendedFG(xw);
4708 xw->keyboard.flags |= MODE_DECKPAM;
4715 UIntClr(xw->keyboard.flags, MODE_DECKPAM);
4736 HideCursor(xw);
4777 UpdateCursorBlink(xw);
4837 xw->flags = screen->vt52_save_flags;
4893 ReallyReset(xw, False, False);
4894 init_parser(xw, sp);
4916 UIntClr(xw->flags, PROTECTED);
4919 xw->flags |= PROTECTED;
4927 do_erase_display(xw, zero_if_default(0), DEC_PROTECT);
4933 do_erase_line(xw, zero_if_default(0), DEC_PROTECT);
5058 unparseseq(xw, &reply);
5093 do_dcs(xw, sp->string_area, sp->string_used);
5096 do_osc(xw, sp->string_area, sp->string_used, ANSI_ST);
5117 illegal_parse(xw, c, sp);
5126 illegal_parse(xw, c, sp);
5140 illegal_parse(xw, c, sp);
5147 xw->flags |= PROTECTED;
5153 UIntClr(xw->flags, PROTECTED);
5159 xtermScroll(xw, one_if_default(0));
5165 xtermScrollLR(xw, one_if_default(0), True);
5171 xtermScrollLR(xw, one_if_default(0), False);
5178 xtermColScroll(xw, one_if_default(0), True, screen->cur_col);
5186 xtermColScroll(xw, one_if_default(0), False, screen->cur_col);
5194 xtermColIndex(xw, True);
5202 xtermColIndex(xw, False);
5209 xtermIndex(xw, 1);
5210 do_xevents(xw);
5216 CursorPrevLine(xw, one_if_default(0));
5222 CursorNextLine(xw, one_if_default(0));
5228 xtermIndex(xw, 1);
5229 CarriageReturn(xw);
5235 TabSet(xw->tabs, screen->cur_col);
5242 unparseputc1(xw, ANSI_DCS);
5243 unparseputc(xw, '>');
5244 unparseputc(xw, '|');
5245 unparseputs(xw, xtermVersion());
5246 unparseputc1(xw, ANSI_ST);
5247 unparse_end(xw);
5254 RevIndex(xw, 1);
5297 if (okSendMousePos(xw) == DEC_LOCATOR) {
5298 MotionOff(screen, xw);
5310 InitLocatorFilter(xw);
5316 MotionOff(screen, xw);
5323 xtermShowPointer(xw, True);
5344 MotionOff(screen, xw);
5369 GetLocatorPosition(xw);
5404 if (screen->vtXX_level >= 4 && AllowWindowOps(xw, ewGetChecksum)) {
5409 xtermCheckRect(xw, ParamPair(0), &checksum);
5420 unparseseq(xw, &reply);
5428 xtermParseRect(xw, ParamPair(0), &myRect);
5429 ScrnCopyRectangle(xw, &myRect, ParamPair(5));
5437 xtermParseRect(xw, ParamPair(0), &myRect);
5438 ScrnFillRectangle(xw, &myRect, ' ', xw->flags, True);
5454 xtermParseRect(xw, ParamPair(1), &myRect);
5455 ScrnFillRectangle(xw, &myRect, value, xw->flags, True);
5464 xtermParseRect(xw, ParamPair(0), &myRect);
5465 ScrnWipeRectangle(xw, &myRect);
5479 xtermParseRect(xw, ParamPair(0), &myRect);
5480 ScrnMarkRectangle(xw, &myRect, False, ParamPair(4));
5488 xtermParseRect(xw, ParamPair(0), &myRect);
5489 ScrnMarkRectangle(xw, &myRect, True, ParamPair(4));
5512 CursorSet(screen, screen->cur_row, value - 1, xw->flags);
5513 UIntClr(xw->flags, IN132COLUMNS);
5515 UIntSet(xw->flags, IN132COLUMNS);
5516 RequestResize(xw, -1, value, True);
5523 if (screen->vtXX_level >= 4 && AllowWindowOps(xw, ewSetWinLines)) {
5527 RequestResize(xw, value, -1, True);
5545 unparseseq(xw, &reply);
5568 | reply_bit(xw->flags & INVERSE, 8)
5569 | reply_bit(xw->flags & BLINK, 4)
5570 | reply_bit(xw->flags & UNDERLINE, 2)
5571 | reply_bit(xw->flags & BOLD, 1)
5583 | reply_bit(xw->flags & ORIGIN, 1)
5603 unparseseq(xw, &reply);
5618 if (TabIsSet(xw->tabs, item))
5622 unparseseq(xw, &reply);
5643 unparseseq(xw, &reply);
5649 do_ansi_rqm(xw, ParamPair(0));
5655 do_dec_rqm(xw, ParamPair(0));
5669 TabZonk(xw->tabs);
5674 TabSet(xw->tabs, item);
5724 if (AssignFgColor(xw,
5725 GET_COLOR_RES(xw, screen->Acolors[fg])))
5727 if (AssignBgColor(xw,
5728 GET_COLOR_RES(xw, screen->Acolors[bg])))
5731 xtermRepaint(xw);
5799 handle_DECSASD(xw, zero_if_default(0));
5808 handle_DECSSDT(xw, zero_if_default(0));
5823 if (screen->vtXX_level >= 4 && AllowWindowOps(xw, ewSetChecksum)) {
5852 xtermPushSGR(xw, value);
5858 xtermParseRect(xw, ParamPair(0), &myRect);
5859 xtermReportSGR(xw, &myRect);
5865 xtermPopSGR(xw);
5872 xtermPushColors(xw, DEFAULT);
5875 xtermPushColors(xw, GetParam(count));
5884 xtermPopColors(xw, DEFAULT);
5887 xtermPopColors(xw, GetParam(count));
5895 xtermReportColors(xw);
5900 xtermReportTitleStack(xw);
5928 VTReset(xw, True, True);
5933 VTReset(xw, False, False);
5943 dotext(xw,
5987 savemodes(xw);
5992 restoremodes(xw);
5998 window_ops(xw);
6018 ChangeToWide(xw);
6043 xtermDecodeSCS(xw, sp->scstype, 5, '"', (int) c);
6056 xtermDecodeSCS(xw, sp->scstype, 5, '&', (int) c);
6081 xtermDecodeSCS(xw, sp->scstype, value, '%', (int) c);
6092 xw->keyboard.shift_escape = value;
6100 set_mod_fkeys(xw,
6108 set_mod_fkeys(xw, value, DEFAULT, True);
6116 set_mod_fkeys(xw, GetParam(0), -1, False);
6118 xw->keyboard.modify_now.function_keys = -1;
6126 report_mod_fkeys(xw, GetParam(value));
6246 VTparse(XtermWidget xw)
6252 init_parser(xw, &myState);
6255 keep_running = doparsing(xw, doinput(xw), &myState);
6265 (void) doparsing(xw, deferred[i], &myState);
6434 updateCursor(XtermWidget xw)
6436 TScreen *screen = TScreenOf(xw);
6440 ShowCursor(xw);
6442 HideCursor(xw);
6448 reallyStopBlinking(XtermWidget xw)
6450 TScreen *screen = TScreenOf(xw);
6455 updateCursor(xw);
6456 xevents(xw);
6462 update_the_screen(XtermWidget xw)
6464 TScreen *screen = TScreenOf(xw);
6468 FlushScroll(xw);
6472 HideCursor(xw);
6473 ShowCursor(xw);
6475 PreeditPosition(xw);
6480 PreeditPosition(xw);
6482 updateCursor(xw);
6526 in_put(XtermWidget xw)
6531 TScreen *screen = TScreenOf(xw);
6544 && (size = readPtyData(xw, &select_mask, VTbuffer)) != 0) {
6548 WindowScroll(xw, 0, False); /* Scroll to bottom */
6560 usleep((unsigned) DbeMsecs(xw));
6587 update_the_screen(xw);
6624 ImproveTimeout(find_SL_Timeout(xw) * 1000L);
6655 xtermFlushDbe(xw);
6673 xevents(xw);
6682 doinput(XtermWidget xw)
6684 TScreen *screen = TScreenOf(xw);
6687 in_put(xw);
6696 PreeditPosition(XtermWidget xw)
6698 TInput *input = lookupTInput(xw, (Widget) xw);
6699 TScreen *screen = TScreenOf(xw);
6707 spot.y = (short) (CursorY(screen, screen->cur_row) + xw->work.xim_fs_ascent);
6720 WrapLine(XtermWidget xw)
6722 TScreen *screen = TScreenOf(xw);
6728 ShowWrapMarks(xw, screen->cur_row, ld);
6729 xtermAutoPrint(xw, '\n');
6730 xtermIndex(xw, 1);
6731 set_cur_col(screen, ScrnLeftMargin(xw));
6744 dotext(XtermWidget xw,
6749 TScreen *screen = TScreenOf(xw);
6757 int rmargin = ScrnRightMargin(xw);
6759 xw->work.write_text = buf;
6761 xw->work.write_sums = NULL;
6769 len = xtermCharSetOut(xw, len, charset);
6815 if ((xw->flags & WRAPAROUND)) {
6816 WrapLine(xw);
6899 if (!(xw->flags & WRAPAROUND)) {
6912 WriteText(xw, offset, chars_chomped);
6915 && (xw->flags & WRAPAROUND)
6916 && screen->cur_col > ScrnLeftMargin(xw)) {
6948 if ((xw->flags & WRAPAROUND)) {
6949 WrapLine(xw);
6958 WriteText(xw, offset, (unsigned) this_col);
6999 XtermWidget xw = term;
7000 TScreen *screen = TScreenOf(xw);
7006 resetZIconBeep(xw);
7014 VTInitModifiers(xw);
7055 REQ_RESIZE((Widget) xw,
7066 if (!xw->work.doing_resize
7068 && !(resource.buffered && UsingRenderFont(xw)) /* buggyXft */
7070 && (height != xw->hints.height
7071 || width != xw->hints.width)) {
7080 int saved_limit = xw->misc.limit_resize;
7081 xw->misc.limit_resize = 0;
7082 RequestResize(xw, height, width, False);
7083 xw->misc.limit_resize = saved_limit;
7111 SetCursorBlink(XtermWidget xw, BlinkOps enable)
7113 TScreen *screen = TScreenOf(xw);
7119 StartBlinking(xw);
7123 reallyStopBlinking(xw);
7125 StopBlinking(xw);
7132 ToggleCursorBlink(XtermWidget xw)
7134 TScreen *screen = TScreenOf(xw);
7137 SetCursorBlink(xw, cbFalse);
7139 SetCursorBlink(xw, cbTrue);
7148 ansi_modes(XtermWidget xw, BitFunc func)
7155 (*func) (&xw->keyboard.flags, MODE_KAM);
7159 (*func) (&xw->flags, INSERT);
7163 (*func) (&xw->keyboard.flags, MODE_SRM);
7167 (*func) (&xw->flags, LINEFEED);
7180 really_set_mousemode(XtermWidget xw,
7184 TScreenOf(xw)->send_mouse_pos = enabled ? mode : MOUSE_OFF;
7185 if (okSendMousePos(xw) != MOUSE_OFF)
7186 xtermShowPointer(xw, True);
7189 #define set_mousemode(mode) really_set_mousemode(xw, IsSM(), mode)
7211 set_column_mode(XtermWidget xw)
7213 TScreen *screen = TScreenOf(xw);
7216 xterm_ResetDouble(xw);
7217 resetMargins(xw);
7218 CursorSet(screen, 0, 0, xw->flags);
7225 set_left_right_margin_mode(XtermWidget xw)
7227 TScreen *screen = TScreenOf(xw);
7230 if (IsLeftRightMode(xw)) {
7231 xterm_ResetDouble(xw);
7242 dpmodes(XtermWidget xw, BitFunc func)
7244 TScreen *screen = TScreenOf(xw);
7258 (*func) (&xw->keyboard.flags, MODE_DECCKM);
7292 screen->vt52_save_flags = xw->flags;
7293 xw->flags = 0;
7301 RequestResize(xw, -1, 80, True);
7310 != ((xw->flags & IN132COLUMNS)
7314 if (!(xw->flags & NOCLEAR_COLM)) {
7317 clear_status_line(xw);
7319 ClearScreen(xw);
7322 RequestResize(xw, -1, j, True);
7323 (*func) (&xw->flags, IN132COLUMNS);
7324 set_column_mode(xw);
7331 FlushScroll(xw);
7334 (*func) (&xw->flags, SMOOTHSCROLL);
7338 myflags = xw->flags;
7339 (*func) (&xw->flags, REVERSE_VIDEO);
7340 if ((xw->flags ^ myflags) & REVERSE_VIDEO)
7341 ReverseVideo(xw);
7346 (*func) (&xw->flags, ORIGIN);
7347 CursorSet(screen, 0, 0, xw->flags);
7351 (*func) (&xw->flags, WRAPAROUND);
7361 MotionOff(screen, xw);
7376 UpdateCursorBlink(xw);
7402 ToggleScrollBar(xw);
7406 set_bool_mode(xw->misc.shift_fonts);
7412 FlushLog(xw);
7413 TEK4014_ACTIVE(xw) = True;
7429 if ((*func) (&xw->flags, NATIONAL)) {
7430 modified_DECNRCM(xw);
7449 (*func) (&xw->flags, REVERSEWRAP);
7454 (*func) (&xw->flags, REVERSEWRAP2);
7465 StartLog(xw);
7467 CloseLog(xw);
7469 Bell(xw, XkbBI_Info, 0);
7470 Bell(xw, XkbBI_Info, 0);
7480 if (!xw->misc.titeInhibit) {
7482 CursorSave(xw);
7483 ToAlternate(xw, True);
7484 ClearScreen(xw);
7486 FromAlternate(xw, False);
7487 CursorRestore(xw);
7490 do_ti_xtra_scroll(xw);
7494 if (!xw->misc.titeInhibit) {
7496 ToAlternate(xw, False);
7499 ClearScreen(xw);
7500 FromAlternate(xw, False);
7503 do_ti_xtra_scroll(xw);
7508 if (!xw->misc.titeInhibit) {
7510 ToAlternate(xw, False);
7512 FromAlternate(xw, False);
7515 do_ti_xtra_scroll(xw);
7520 (*func) (&xw->keyboard.flags, MODE_DECKPAM);
7525 (*func) (&xw->keyboard.flags, MODE_DECBKM);
7527 BtoS(xw->keyboard.flags & MODE_DECBKM)));
7532 (*func) (&xw->flags, LEFT_RIGHT);
7533 set_left_right_margin_mode(xw);
7539 (*func) (&xw->keyboard.flags, MODE_DECSDM);
7541 BtoS(xw->keyboard.flags & MODE_DECSDM),
7549 (*func) (&xw->flags, NOCLEAR_COLM);
7553 MotionOff(screen, xw);
7557 MotionOff(screen, xw);
7561 MotionOff(screen, xw);
7567 MotionOff(screen, xw);
7569 MotionOn(screen, xw);
7613 set_bool_mode(xw->misc.real_NumLock);
7653 xw->misc.titeInhibit = False;
7654 } else if (!xw->misc.titeInhibit) {
7655 xw->misc.titeInhibit = True;
7656 FromAlternate(xw, False);
7661 if (!xw->misc.titeInhibit) {
7663 CursorSave(xw);
7665 CursorRestore(xw);
7673 set_keyboard_type(xw, keyboardIsTermcap, IsSM());
7678 set_keyboard_type(xw, keyboardIsSun, IsSM());
7683 set_keyboard_type(xw, keyboardIsHP, IsSM());
7688 set_keyboard_type(xw, keyboardIsSCO, IsSM());
7692 set_keyboard_type(xw, keyboardIsLegacy, IsSM());
7696 set_keyboard_type(xw, keyboardIsVT220, IsSM());
7736 BtoS(TScreenOf(xw)->sixel_scrolls_right)));
7785 savemodes(XtermWidget xw)
7787 TScreen *screen = TScreenOf(xw);
7799 DoSM(DP_DECCKM, xw->keyboard.flags & MODE_DECCKM);
7806 DoSM(DP_DECCOLM, xw->flags & IN132COLUMNS);
7809 DoSM(DP_DECSCLM, xw->flags & SMOOTHSCROLL);
7812 DoSM(DP_DECSCNM, xw->flags & REVERSE_VIDEO);
7815 DoSM(DP_DECOM, xw->flags & ORIGIN);
7818 DoSM(DP_DECAWM, xw->flags & WRAPAROUND);
7866 DoSM(DP_RXVT_FONTSIZE, xw->misc.shift_fonts);
7871 DoSM(DP_DECTEK, TEK4014_ACTIVE(xw));
7882 DoSM(DP_DECNRCM, xw->flags & NATIONAL);
7897 DoSM(DP_X_REVWRAP, xw->flags & REVERSEWRAP);
7901 DoSM(DP_X_REVWRAP2, xw->flags & REVERSEWRAP2);
7927 DoSM(DP_DECKPAM, xw->keyboard.flags & MODE_DECKPAM);
7930 DoSM(DP_DECBKM, xw->keyboard.flags & MODE_DECBKM);
7937 DoSM(DP_DECSDM, xw->keyboard.flags & MODE_DECSDM);
7981 DoSM(DP_REAL_NUMLOCK, xw->misc.real_NumLock);
8031 DoSM(DP_KEYBOARD_TYPE, xw->keyboard.type);
8034 DoSM(DP_ALLOW_ALTBUF, xw->misc.titeInhibit);
8037 if (!xw->misc.titeInhibit) {
8038 CursorSave(xw);
8125 restoremodes(XtermWidget xw)
8127 TScreen *screen = TScreenOf(xw);
8139 bitcpy(&xw->keyboard.flags,
8148 if (!(xw->flags & NOCLEAR_COLM))
8149 ClearScreen(xw);
8150 CursorSet(screen, 0, 0, xw->flags);
8152 ? 132 : 80) != ((xw->flags & IN132COLUMNS)
8154 RequestResize(xw, -1, j, True);
8155 bitcpy(&xw->flags,
8164 FlushScroll(xw);
8167 bitcpy(&xw->flags, screen->save_modes[DP_DECSCLM], SMOOTHSCROLL);
8171 if ((screen->save_modes[DP_DECSCNM] ^ xw->flags) & REVERSE_VIDEO) {
8172 bitcpy(&xw->flags, screen->save_modes[DP_DECSCNM], REVERSE_VIDEO);
8173 ReverseVideo(xw);
8178 bitcpy(&xw->flags, screen->save_modes[DP_DECOM], ORIGIN);
8179 CursorSet(screen, 0, 0, xw->flags);
8183 bitcpy(&xw->flags, screen->save_modes[DP_DECAWM], WRAPAROUND);
8191 really_set_mousemode(xw,
8208 UpdateCursorBlink(xw);
8231 updateCursor(xw);
8236 ToggleScrollBar(xw);
8241 DoRM(DP_RXVT_FONTSIZE, xw->misc.shift_fonts);
8247 (TEK4014_ACTIVE(xw) != (Boolean) screen->save_modes[DP_DECTEK])) {
8248 FlushLog(xw);
8249 TEK4014_ACTIVE(xw) = (Boolean) screen->save_modes[DP_DECTEK];
8264 if (bitcpy(&xw->flags, screen->save_modes[DP_DECNRCM], NATIONAL))
8265 modified_DECNRCM(xw);
8282 bitcpy(&xw->flags, screen->save_modes[DP_X_REVWRAP], REVERSEWRAP);
8287 bitcpy(&xw->flags, screen->save_modes[DP_X_REVWRAP2], REVERSEWRAP2);
8294 StartLog(xw);
8296 CloseLog(xw);
8309 if (!xw->misc.titeInhibit) {
8311 ToAlternate(xw, False);
8313 FromAlternate(xw, False);
8316 do_ti_xtra_scroll(xw);
8321 if (!xw->misc.titeInhibit) {
8323 ToAlternate(xw, False);
8325 FromAlternate(xw, False);
8328 do_ti_xtra_scroll(xw);
8333 bitcpy(&xw->flags, screen->save_modes[DP_DECKPAM], MODE_DECKPAM);
8337 bitcpy(&xw->flags, screen->save_modes[DP_DECBKM], MODE_DECBKM);
8341 bitcpy(&xw->flags, screen->save_modes[DP_X_LRMM], LEFT_RIGHT);
8342 if (IsLeftRightMode(xw)) {
8343 xterm_ResetDouble(xw);
8350 bitcpy(&xw->keyboard.flags, screen->save_modes[DP_DECSDM], MODE_DECSDM);
8355 bitcpy(&xw->flags, screen->save_modes[DP_X_NCSM], NOCLEAR_COLM);
8365 really_set_mousemode(xw,
8384 DoRM(DP_ALLOW_ALTBUF, xw->misc.titeInhibit);
8385 if (xw->misc.titeInhibit)
8386 FromAlternate(xw, False);
8390 if (!xw->misc.titeInhibit) {
8391 CursorRestore(xw);
8413 DoRM(DP_REAL_NUMLOCK, xw->misc.real_NumLock);
8472 xw->keyboard.type = (xtermKeyboardType) screen->save_modes[DP_KEYBOARD_TYPE];
8562 property_to_string(XtermWidget xw, XTextProperty * text)
8564 TScreen *screen = TScreenOf(xw);
8585 || IsTitleMode(xw, tmGetUtf8)
8588 (rc = xtermUtf8ToTextList(xw, text, &list, &length)) < 0)
8623 get_icon_label(XtermWidget xw)
8628 if (XGetWMIconName(TScreenOf(xw)->display, VShellWindow(xw), &text)) {
8629 result = property_to_string(xw, &text);
8635 get_window_label(XtermWidget xw)
8640 if (XGetWMName(TScreenOf(xw)->display, VShellWindow(xw), &text)) {
8641 result = property_to_string(xw, &text);
8651 report_win_label(XtermWidget xw,
8655 unparseputc(xw, ANSI_ESC);
8656 unparseputc(xw, ']');
8657 unparseputc(xw, code);
8660 int copy = IsTitleMode(xw, tmGetBase16);
8665 unparseputs(xw, text);
8670 unparseputc(xw, ANSI_ESC);
8671 unparseputc(xw, '\\'); /* should be ST */
8672 unparse_end(xw);
8680 window_ops(XtermWidget xw)
8682 TScreen *screen = TScreenOf(xw);
8695 if (AllowWindowOps(xw, ewRestoreWin)) {
8696 xtermDeiconify(xw);
8701 if (AllowWindowOps(xw, ewMinimizeWin)) {
8702 xtermIconify(xw);
8707 if (AllowWindowOps(xw, ewSetWinPosition)) {
8715 VShellWindow(xw),
8723 if (AllowWindowOps(xw, ewSetWinSizePixels)) {
8724 RequestResize(xw, optional_param(1), optional_param(2), False);
8729 if (AllowWindowOps(xw, ewRaiseWin)) {
8731 XRaiseWindow(screen->display, VShellWindow(xw));
8736 if (AllowWindowOps(xw, ewLowerWin)) {
8738 XLowerWindow(screen->display, VShellWindow(xw));
8743 if (AllowWindowOps(xw, ewRefreshWin)) {
8750 if (AllowWindowOps(xw, ewSetWinSizeChars)) {
8751 RequestResize(xw, optional_param(1), optional_param(2), True);
8757 if (AllowWindowOps(xw, ewMaximizeWin)) {
8758 RequestMaximize(xw, zero_if_default(1));
8762 if (AllowWindowOps(xw, ewFullscreenWin)) {
8765 RequestMaximize(xw, 0);
8768 RequestMaximize(xw, 1);
8771 RequestMaximize(xw, !(screen->restore_data));
8779 if (AllowWindowOps(xw, ewGetWinState)) {
8783 reply.a_param[0] = (ParmType) (xtermIsIconified(xw) ? 2 : 1);
8785 unparseseq(xw, &reply);
8790 if (AllowWindowOps(xw, ewGetWinPosition)) {
8805 for (mw = (Widget) xw; mw != NULL; mw = XtParent(mw)) {
8808 if (mw == SHELL_OF(xw))
8816 win = WMFrameWindow(xw);
8821 VShellWindow(xw),
8829 if (!discount_frame_extents(xw, &result_y, &result_x)) {
8839 unparseseq(xw, &reply);
8844 if (AllowWindowOps(xw, ewGetWinSizePixels)) {
8855 WMFrameWindow(xw),
8866 unparseseq(xw, &reply);
8872 if (AllowWindowOps(xw, ewGetScreenSizePixels)) {
8874 (void) QueryMaximize(xw, &root_width, &root_height);
8881 unparseseq(xw, &reply);
8885 if (AllowWindowOps(xw, ewGetScreenSizeChars)) {
8896 unparseseq(xw, &reply);
8902 if (AllowWindowOps(xw, ewGetWinSizeChars)) {
8910 unparseseq(xw, &reply);
8916 if (AllowWindowOps(xw, ewGetScreenSizeChars)) {
8921 (void) QueryMaximize(xw, &root_width, &root_height);
8930 unparseseq(xw, &reply);
8936 if (AllowWindowOps(xw, ewGetIconTitle)) {
8938 report_win_label(xw, 'L', label = get_icon_label(xw));
8944 if (AllowWindowOps(xw, ewGetWinTitle)) {
8946 report_win_label(xw, 'l', label = get_window_label(xw));
8961 if (AllowWindowOps(xw, ewPushTitle)) {
8968 item.iconName = get_icon_label(xw);
8969 item.windowName = get_window_label(xw);
8972 item.iconName = get_icon_label(xw);
8975 item.windowName = get_window_label(xw);
8983 if (AllowWindowOps(xw, ewPopTitle)) {
8995 ChangeIconName(xw, item.iconName);
8996 ChangeTitle(xw, item.windowName);
8999 ChangeIconName(xw, item.iconName);
9002 ChangeTitle(xw, item.windowName);
9012 if (AllowWindowOps(xw, ewSetWinLines)) {
9014 RequestResize(xw, code, -1, True);
9055 unparseputc1(XtermWidget xw, int c)
9058 if (!TScreenOf(xw)->control_eight_bits) {
9059 unparseputc(xw, ANSI_ESC);
9063 unparseputc(xw, c);
9067 unparseseq(XtermWidget xw, ANSI *ap)
9072 unparseputc1(xw, c = ap->a_type);
9085 unparseputc(xw, ap->a_pintro);
9091 unparseputs(xw, ap->a_delim);
9093 unparseputc(xw, ';');
9099 unparseputs(xw, temp);
9102 unparseputc(xw, ap->a_param[i]);
9105 unparseputn(xw, UParmOf(ap->a_param[i]));
9113 unparseputc(xw, c);
9124 unparseputc1(xw, ANSI_ST);
9127 unparseputc(xw, (char) ap->a_final);
9131 unparse_end(xw);
9135 unparseputn(XtermWidget xw, unsigned n)
9141 unparseputn(xw, q);
9142 unparseputc(xw, (char) ('0' + (n % 10)));
9146 unparseputs(XtermWidget xw, const char *s)
9150 unparseputc(xw, *s++);
9155 unparseputc(XtermWidget xw, int c)
9157 TScreen *screen = TScreenOf(xw);
9162 unparse_end(xw);
9180 if ((buf[len++] = (IChar) c) == '\r' && (xw->flags & LINEFEED)) {
9187 if ((xw->keyboard.flags & MODE_SRM) == 0) {
9188 doparsing(xw, (unsigned) c, &myState);
9193 unparse_end(XtermWidget xw)
9195 TScreen *screen = TScreenOf(xw);
9219 ToggleAlternate(XtermWidget xw)
9221 if (TScreenOf(xw)->whichBuf)
9222 FromAlternate(xw, False);
9224 ToAlternate(xw, False);
9228 ToAlternate(XtermWidget xw, Bool clearFirst)
9230 TScreen *screen = TScreenOf(xw);
9235 screen->editBuf_index[1] = allocScrnBuf(xw,
9240 SwitchBufs(xw, 1, clearFirst);
9247 FromAlternate(XtermWidget xw, Bool clearFirst)
9249 TScreen *screen = TScreenOf(xw);
9254 FlushScroll(xw);
9257 ClearScreen(xw);
9258 SwitchBufs(xw, 0, False);
9265 SwitchBufs(XtermWidget xw, int toBuf, Bool clearFirst)
9267 TScreen *screen = TScreenOf(xw);
9272 HideCursor(xw);
9281 SwitchBufPtrs(xw, toBuf);
9285 FlushScroll(xw);
9287 xtermClear2(xw,
9293 ClearBufRows(xw, top, rows);
9296 ScrnUpdate(xw, 0, 0, rows, MaxCols(screen), False);
9311 SwitchBufPtrs(XtermWidget xw, int toBuf)
9313 TScreen *screen = TScreenOf(xw);
9335 VTRun(XtermWidget xw)
9337 TScreen *screen = TScreenOf(xw);
9349 ScrnAllocBuf(xw);
9355 StartBlinking(xw);
9360 fillPtyData(xw, VTbuffer, (char *) Tpushback, (size_t) (Tpushb - Tpushback));
9366 ScreenResize(xw, screen->embed_wide, screen->embed_high, &(xw->flags));
9370 FullScreen(xw, True);
9373 VTparse(xw);
9374 StopBlinking(xw);
9375 HideCursor(xw);
9394 XtermWidget xw = term;
9395 TScreen *screen = TScreenOf(xw);
9402 if (HandleExposure(xw, event))
9435 XtermWidget xw = (XtermWidget) w;
9436 ScreenResize(xw, xw->core.width, xw->core.height, &xw->flags);
9444 RequestResize(XtermWidget xw, int rows, int cols, Bool text)
9446 TScreen *screen = TScreenOf(xw);
9488 xw->work.doing_resize = True;
9501 #define ToggleXft() HandleRenderFont((Widget)xw, (XEvent *)0, (String *)0, &ignore)
9503 && UsingRenderFont(xw)) {
9515 || xw->misc.limit_resize > 0) {
9516 xtermGetWinAttrs(XtDisplay(xw),
9517 RootWindowOfScreen(XtScreen(xw)), &attrs);
9560 if (xw->misc.limit_resize > 0) {
9561 Dimension high = (Dimension) (xw->misc.limit_resize * attrs.height);
9562 Dimension wide = (Dimension) (xw->misc.limit_resize * attrs.width);
9573 getXtermSizeHints(xw);
9580 status = REQ_RESIZE((Widget) xw,
9586 ScreenResize(xw, replyWidth, replyHeight, &xw->flags);
9594 if (xw->hints.flags
9597 xw->hints.height = replyHeight;
9598 xw->hints.width = replyWidth;
9601 TRACE_HINTS(&xw->hints);
9602 XSetWMNormalHints(screen->display, VShellWindow(xw), &xw->hints);
9604 TRACE_WM_HINTS(xw);
9610 xevents(xw);
9618 xevents(xw);
9623 xw->work.doing_resize = False;
9634 VTInit(XtermWidget xw)
9636 Widget vtparent = SHELL_OF(xw);
9645 if (IsEmpty(xw->keyboard.print_translations)) {
9647 TRACE_TRANS("vt100", (Widget) (xw));
9648 xtermButtonInit(xw);
9651 ScrnAllocBuf(xw);
9754 VTInitialize_locale(XtermWidget xw)
9756 TScreen *screen = TScreenOf(xw);
9774 xw->misc.callfilter = 0;
9775 xw->misc.use_encoding = 0;
9778 TRACE(("... request misc.locale_str = \"%s\"\n", xw->misc.locale_str));
9784 if (x_strcasecmp(xw->misc.locale_str, "CHECKFONT") == 0) {
9785 int fl = (int) strlen(DefaultFontN(xw));
9787 && x_strcasecmp(DefaultFontN(xw) + fl - 11, "-ISO10646-1") == 0) {
9800 xw->misc.callfilter = (Boolean) (is_utf8 ? 0 : 1);
9804 xw->misc.callfilter = is_utf8 ? 0 : 1;
9815 if (x_strcasecmp(xw->misc.locale_str, "TRUE") == 0 ||
9816 x_strcasecmp(xw->misc.locale_str, "ON") == 0 ||
9817 x_strcasecmp(xw->misc.locale_str, "YES") == 0 ||
9818 x_strcasecmp(xw->misc.locale_str, "AUTO") == 0 ||
9819 strcmp(xw->misc.locale_str, "1") == 0) {
9821 xw->misc.callfilter = (Boolean) (is_utf8 ? 0 : 1);
9823 } else if (x_strcasecmp(xw->misc.locale_str, "FALSE") == 0 ||
9824 x_strcasecmp(xw->misc.locale_str, "OFF") == 0 ||
9825 x_strcasecmp(xw->misc.locale_str, "NO") == 0 ||
9826 strcmp(xw->misc.locale_str, "0") == 0) {
9831 } else if (x_strcasecmp(xw->misc.locale_str, "MEDIUM") == 0 ||
9832 x_strcasecmp(xw->misc.locale_str, "SEMIAUTO") == 0) {
9846 xw->misc.callfilter = 1;
9851 } else if (x_strcasecmp(xw->misc.locale_str, "UTF-8") == 0 ||
9852 x_strcasecmp(xw->misc.locale_str, "UTF8") == 0) {
9857 xw->misc.callfilter = 1;
9859 xw->misc.use_encoding = 1;
9861 TRACE(("... updated misc.callfilter = %s\n", BtoS(xw->misc.callfilter)));
9862 TRACE(("... updated misc.use_encoding = %s\n", BtoS(xw->misc.use_encoding)));
9882 lookupSelectUnit(XtermWidget xw, Cardinal item, String value)
9901 TScreen *screen = TScreenOf(xw);
10049 reportResources(XtermWidget xw)
10070 char *value = vt100ResourceToString(xw, list[n]);
10078 vt100ResourceToString(XtermWidget xw, const char *name)
10100 res_addr = (void *) ((char *) xw + real_offset);
10302 unparse_disallowed_ops(XtermWidget xw, char *value)
10304 TScreen *screen = TScreenOf(xw);
10334 unparseputc(xw, delim);
10337 unparseputs(xw, codes[jk].name);
10343 unparseputn(xw, k);
11635 releaseCursorGCs(XtermWidget xw)
11637 TScreen *screen = TScreenOf(xw);
11642 freeCgs(xw, win, (CgsEnum) n);
11647 releaseWindowGCs(XtermWidget xw, VTwin *win)
11657 freeCgs(xw, win, (CgsEnum) n);
11678 cleanupInputMethod(XtermWidget xw)
11680 TInput *input = lookupTInput(xw, (Widget) xw);
11689 #define cleanupInputMethod(xw) /* nothing */
11709 XtermWidget xw = (XtermWidget) w;
11710 TScreen *screen = TScreenOf(xw);
11714 StopBlinking(xw);
11732 TRACE_FREE_LEAK(xw->misc.active_icon_s);
11740 TRACE_FREE_LEAK(xw->saved_colors.palettes[n]);
11758 FreeMarkGCs(xw);
11776 TRACE_FREE_LEAK(xw->misc.locale_str);
11777 TRACE_FREE_LEAK(xw->misc.localefilter);
11780 TRACE_FREE_LEAK(xw->misc.T_geometry);
11781 TRACE_FREE_LEAK(xw->misc.geo_metry);
11783 cleanupInputMethod(xw);
11784 TRACE_FREE_LEAK(xw->misc.f_x);
11785 TRACE_FREE_LEAK(xw->misc.input_method);
11786 TRACE_FREE_LEAK(xw->misc.preedit_type);
11788 releaseCursorGCs(xw);
11789 releaseWindowGCs(xw, &(screen->fullVwin));
11792 releaseWindowGCs(xw, &(screen->iconVwin));
11794 XtUninstallTranslations((Widget) xw);
11796 XtUninstallTranslations((Widget) XtParent(xw));
11798 XtUninstallTranslations((Widget) SHELL_OF(xw));
11803 xtermCloseFonts(xw, screen->fnts);
11805 xtermCloseFonts(xw, screen->ifnts);
11807 noleaks_cachedCgs(xw);
11808 free_termcap(xw);
11828 xtermCloseXft(screen, getMyXftFont(xw, e, (int) n));
11874 TRACE_FREE_LEAK(xw->misc.locale_str);
11875 TRACE_FREE_LEAK(xw->misc.localefilter);
11878 TRACE_FREE_LEAK(xw->misc.cdXtraScroll_s);
11879 TRACE_FREE_LEAK(xw->misc.tiXtraScroll_s);
11882 TRACE_FREE_LEAK(xw->misc.default_xft.f_n);
11884 TRACE_FREE_LEAK(xw->misc.default_xft.f_w);
11886 TRACE_FREE_LEAK(xw->misc.render_font_s);
11889 TRACE_FREE_LEAK(xw->misc.default_font.f_n);
11890 TRACE_FREE_LEAK(xw->misc.default_font.f_b);
11893 TRACE_FREE_LEAK(xw->misc.default_font.f_w);
11894 TRACE_FREE_LEAK(xw->misc.default_font.f_wb);
11897 TRACE_FREE_LEAK(xw->work.wm_name);
11898 freeFontLists(&(xw->work.fonts.x11));
11900 freeFontLists(&(xw->work.fonts.xft));
11959 TRACE_FREE_LEAK(xw->keyboard.shift_escape_s);
11960 TRACE_FREE_LEAK(xw->keyboard.extra_translations);
11961 TRACE_FREE_LEAK(xw->keyboard.shell_translations);
11962 TRACE_FREE_LEAK(xw->keyboard.xterm_translations);
11963 TRACE_FREE_LEAK(xw->keyboard.print_translations);
11964 UnmapSelections(xw);
11966 XtFree((void *) (xw->visInfo));
12065 getWindowManagerName(XtermWidget xw)
12067 TScreen *screen = TScreenOf(xw);
12105 discount_frame_extents(XtermWidget xw, int *high, int *wide)
12107 TScreen *screen = TScreenOf(xw);
12121 VShellWindow(xw),
12142 if (!x_strncasecmp(xw->work.wm_name, "gnome shell", 11)) {
12146 } else if (!x_strncasecmp(xw->work.wm_name, "compiz", 6)) {
12151 } else if (!x_strncasecmp(xw->work.wm_name, "fvwm", 4)) {
12166 initBorderGC(XtermWidget xw, VTwin *win)
12168 TScreen *screen = TScreenOf(xw);
12173 xw->core.background_pixel,
12174 xw->core.border_pixel,
12177 xw->misc.re_verse ? "reverse" : "normal"));
12178 if (xw->misc.color_inner_border
12179 && (xw->core.background_pixel != xw->core.border_pixel)) {
12183 if ((xw->core.background_pixel == T_COLOR(screen, TEXT_BG)) &&
12184 (xw->core.border_pixel == T_COLOR(screen, TEXT_FG))) {
12187 filler = xw->core.border_pixel;
12190 setCgsFore(xw, win, gcBorder, filler);
12191 setCgsBack(xw, win, gcBorder, filler);
12192 win->border_gc = getCgsGC(xw, win, gcBorder);
12198 setCgsFore(xw, win, gcBorder, filler);
12199 setCgsBack(xw, win, gcBorder, filler);
12200 win->border_gc = getCgsGC(xw, win, gcBorder);
12215 filler = (((xw->flags & BG_COLOR) && (xw->cur_background >= 0))
12216 ? getXtermBG(xw, xw->flags, xw->cur_background)
12221 xw->misc.re_verse ? "reverse" : "normal"));
12223 setCgsFore(xw, win, gcFiller, filler);
12224 setCgsBack(xw, win, gcFiller, filler);
12226 win->filler_gc = getCgsGC(xw, win, gcFiller);
12232 allocateDbe(XtermWidget xw, VTwin *target)
12234 TScreen *screen = TScreenOf(xw);
12243 if (XdbeQueryExtension(XtDisplay(xw), &major, &minor)) {
12244 d = XdbeAllocateBackBufferName(XtDisplay(xw), win,
12268 XtermWidget xw = (XtermWidget) w;
12269 TScreen *screen = TScreenOf(xw);
12279 TabReset(xw->tabs);
12282 myfont = defaultVTFontNames(xw);
12288 if (!xtermLoadFont(xw,
12296 (void) xtermLoadFont(xw,
12312 if (xtermLoadWideFonts(xw, False)) {
12313 SetVTFont(xw, screen->menu_font_number, True, NULL);
12323 xtermSetupPointer(xw, screen->pointer_shape);
12331 TRACE(("parsing geo_metry %s\n", NonNull(xw->misc.geo_metry)));
12332 pr = XParseXineramaGeometry(screen->display, xw->misc.geo_metry, &pos);
12337 xtermUpdateFontInfo(xw, False);
12343 BorderWidth(xw),
12344 BorderWidth(XtParent(xw)),
12345 BorderWidth(SHELL_OF(xw))));
12350 - (BorderWidth(XtParent(xw)) * 2)));
12355 - (BorderWidth(XtParent(xw)) * 2)));
12361 getXtermSizeHints(xw);
12362 xtermSizeHints(xw, (xw->misc.scrollbar
12367 xw->hints.x = pos.x;
12368 xw->hints.y = pos.y;
12371 if (xw->work.ewmh[0].mode) {
12372 xw->hints.width_inc = 1;
12373 xw->hints.height_inc = 1;
12377 xw->hints.flags |= USSize | USPosition;
12378 xw->hints.flags |= PWinGravity;
12381 xw->hints.win_gravity = NorthWestGravity;
12384 xw->hints.win_gravity = NorthEastGravity;
12387 xw->hints.win_gravity = SouthWestGravity;
12390 xw->hints.win_gravity = SouthEastGravity;
12395 xw->hints.flags |= PSize;
12397 xw->hints.height = xw->hints.base_height
12398 + xw->hints.height_inc * MaxRows(screen);
12399 xw->hints.width = xw->hints.base_width
12400 + xw->hints.width_inc * MaxCols(screen);
12403 xw->hints.flags |= USSize;
12405 xw->hints.flags |= PSize;
12411 (void) REQ_RESIZE((Widget) xw,
12413 &xw->core.width, &xw->core.height);
12419 if (xw->hints.flags & USPosition)
12420 XMoveWindow(XtDisplay(xw), VShellWindow(xw),
12421 xw->hints.x, xw->hints.y);
12424 TRACE_HINTS(&xw->hints);
12425 XSetWMNormalHints(XtDisplay(xw), VShellWindow(xw), &xw->hints);
12427 TRACE_WM_HINTS(xw);
12429 if ((pid_atom = CachedInternAtom(XtDisplay(xw), "_NET_WM_PID")) != None) {
12433 XChangeProperty(XtDisplay(xw), VShellWindow(xw),
12438 XFlush(XtDisplay(xw)); /* get it out to window manager */
12442 values->bit_gravity = (GravityIsNorthWest(xw)
12445 screen->fullVwin.window = XtWindow(xw) =
12446 XCreateWindow(XtDisplay(xw), XtWindow(XtParent(xw)),
12447 xw->core.x, xw->core.y,
12448 xw->core.width, xw->core.height, BorderWidth(xw),
12449 (int) xw->core.depth,
12453 if (allocateDbe(xw, &(screen->fullVwin))) {
12472 xtermLoadQueryFont(xw, screen->MenuFontName(fontMenu_font1));
12486 if (UsingRenderFont(xw)
12493 xw->work.wm_name = getWindowManagerName(xw);
12494 if ((xw->work.active_icon == eiDefault) && getIconicFont(screen)->fs) {
12495 ReportIcons(("window manager name is %s\n", xw->work.wm_name));
12496 if (x_strncasecmp(xw->work.wm_name, "fvwm", 4) &&
12497 x_strncasecmp(xw->work.wm_name, "window maker", 12)) {
12498 xw->work.active_icon = eiFalse;
12502 TRACE((".. if active_icon (%d), get its font\n", xw->work.active_icon));
12503 if (xw->work.active_icon && getIconicFont(screen)->fs) {
12505 Widget shell = SHELL_OF(xw);
12515 xtermComputeFontInfo(xw, &(screen->iconVwin),
12523 values->border_pixel = xw->misc.icon_border_pixel;
12526 XCreateWindow(XtDisplay(xw),
12531 xw->misc.icon_border_width,
12532 (int) xw->core.depth,
12537 if (allocateDbe(xw, &(screen->iconVwin))) {
12548 XtRegisterDrawable(XtDisplay(xw), screen->iconVwin.window, w);
12550 setCgsFont(xw, win, gcNorm, getIconicFont(screen));
12551 setCgsFore(xw, win, gcNorm, T_COLOR(screen, TEXT_FG));
12552 setCgsBack(xw, win, gcNorm, T_COLOR(screen, TEXT_BG));
12554 copyCgs(xw, win, gcBold, gcNorm);
12556 setCgsFont(xw, win, gcNormReverse, getIconicFont(screen));
12557 setCgsFore(xw, win, gcNormReverse, T_COLOR(screen, TEXT_BG));
12558 setCgsBack(xw, win, gcNormReverse, T_COLOR(screen, TEXT_FG));
12560 copyCgs(xw, win, gcBoldReverse, gcNormReverse);
12562 initBorderGC(xw, win);
12565 xw->work.active_icon = eiFalse;
12573 VTInitI18N(xw);
12576 VTInitModifiers(xw);
12578 if (xw->keyboard.extra_translations) {
12579 XtOverrideTranslations((Widget) xw,
12580 XtParseTranslationTable(xw->keyboard.extra_translations));
12585 set_cursor_gcs(xw);
12586 initBorderGC(xw, &(screen->fullVwin));
12592 XDefineCursor(screen->display, VShellWindow(xw), screen->pointer_cursor);
12598 resetMarginMode(xw);
12622 CursorSave(xw);
12626 if (!xw->work.active_icon)
12628 xtermLoadIcon(xw, resource.icon_hint);
12633 if (xw->misc.scrollbar) {
12635 ScrollBarOn(xw, False);
12638 xtermSetWinSize(xw);
12653 XtermWidget xw = term;
12657 if (display == XtDisplay(xw)) {
12658 VTInitI18N(xw);
12667 XtermWidget xw = term;
12668 TInput *input = lookupTInput(xw, (Widget) xw);
12674 XRegisterIMInstantiateCallback(XtDisplay(xw), NULL, NULL, NULL,
12680 xim_create_fs(XtermWidget xw)
12689 if (xw->work.xim_fs == NULL) {
12690 xw->work.xim_fs = XCreateFontSet(XtDisplay(xw),
12691 xw->misc.f_x,
12695 if (xw->work.xim_fs == NULL) {
12697 "\"%s\" for XIM failed.\n", xw->misc.f_x);
12698 xw->work.xim_fs = XCreateFontSet(XtDisplay(xw),
12705 if (xw->work.xim_fs == NULL) {
12708 cleanupInputMethod(xw);
12709 xw->work.cannot_im = True;
12711 (void) XExtentsOfFontSet(xw->work.xim_fs);
12712 j = (unsigned) XFontsOfFontSet(xw->work.xim_fs, &fonts, &font_name_list);
12713 for (i = 0, xw->work.xim_fs_ascent = 0; i < j; i++) {
12714 if (xw->work.xim_fs_ascent < (*fonts)->ascent)
12715 xw->work.xim_fs_ascent = (*fonts)->ascent;
12718 return (Boolean) !(xw->work.cannot_im);
12722 xim_create_xic(XtermWidget xw, Widget theInput)
12745 TInput *input = lookupTInput(xw, theInput);
12747 if (xw->work.cannot_im) {
12753 if (xw->work.inputs[i].w == NULL) {
12754 input = xw->work.inputs + i;
12768 if (IsEmpty(xw->misc.input_method)) {
12773 s = xw->misc.input_method;
12826 cleanupInputMethod(xw);
12827 xw->work.cannot_im = True;
12832 for (s = xw->misc.preedit_type; s && !found;) {
12868 xw->misc.preedit_type);
12869 cleanupInputMethod(xw);
12870 xw->work.cannot_im = True;
12880 cleanupInputMethod(xw);
12881 xw->work.cannot_im = True;
12897 if (xim_create_fs(xw)) {
12900 XNFontSet, xw->work.xim_fs,
12918 cleanupInputMethod(xw);
12939 xim_real_init(XtermWidget xw)
12941 xim_create_xic(xw, (Widget) xw);
12945 VTInitI18N(XtermWidget xw)
12947 if (xw->misc.open_im) {
12948 xim_real_init(xw);
12951 if (lookupTInput(xw, (Widget) xw) == NULL
12952 && !xw->work.cannot_im
12953 && xw->misc.retry_im-- > 0) {
12955 XRegisterIMInstantiateCallback(XtDisplay(xw), NULL, NULL, NULL,
12963 lookupTInput(XtermWidget xw, Widget w)
12969 if (xw->work.inputs[n].w == w) {
12970 result = xw->work.inputs + n;
12980 set_cursor_outline_gc(XtermWidget xw,
12986 TScreen *screen = TScreenOf(xw);
12994 setCgsFore(xw, win, cgsId, bg);
12995 setCgsBack(xw, win, cgsId, cc);
12997 setCgsFore(xw, win, cgsId, cc);
12998 setCgsBack(xw, win, cgsId, bg);
13070 reverseCgs(XtermWidget xw, unsigned attr_flags, Bool hilite, int font)
13072 TScreen *screen = TScreenOf(xw);
13145 ShowCursor(XtermWidget xw)
13147 TScreen *screen = TScreenOf(xw);
13230 if (!(xw->flags & FG_COLOR)) {
13242 if ((flags & TERM_COLOR_FLAGS(xw)) == FG_COLOR
13244 flags &= ~TERM_COLOR_FLAGS(xw);
13258 fg_pix = getXtermFG(xw, flags, (int) extract_fg(xw, fg_bg, flags));
13259 bg_pix = getXtermBG(xw, flags, (int) extract_bg(xw, fg_bg, flags));
13266 long bg_diff = (long) (bg_pix - T_COLOR(TScreenOf(xw), TEXT_BG));
13267 long fg_diff = (long) (bg_pix - T_COLOR(TScreenOf(xw), TEXT_FG));
13273 fg_pix = T_COLOR(TScreenOf(xw), TEXT_FG);
13275 fg_pix = T_COLOR(TScreenOf(xw), TEXT_BG);
13292 use_selbg = isNotForeground(xw, fg_pix, bg_pix, selbg_pix);
13293 use_selfg = isNotBackground(xw, fg_pix, bg_pix, selfg_pix);
13297 if (getCgsGC(xw, currentWin, gcVTcursNormal)) {
13320 if (getCgsGC(xw, currentWin, gcVTcursReverse)) {
13332 #define CGS_FG getCgsFore(xw, currentWin, getCgsGC(xw, currentWin, currentCgs))
13333 #define CGS_BG getCgsBack(xw, currentWin, getCgsGC(xw, currentWin, currentCgs))
13335 #define FIX_311 (CUR_XX == (reversed ? xw->dft_background : xw->dft_foreground))
13340 setCgsBack(xw, currentWin, currentCgs, fg_pix);
13342 setCgsFore(xw, currentWin, currentCgs, bg_pix);
13380 setCgsFore(xw, currentWin, currentCgs, fg_pix);
13381 setCgsBack(xw, currentWin, currentCgs, bg_pix);
13396 currentGC = getCgsGC(xw, currentWin, currentCgs);
13407 HideCursor(xw);
13415 setCgsBack(xw, currentWin, currentCgs, fg_pix);
13417 setCgsFore(xw, currentWin, currentCgs, bg_pix);
13419 setCgsFore(xw, currentWin, currentCgs, fg_pix);
13420 setCgsBack(xw, currentWin, currentCgs, bg_pix);
13428 set_cursor_outline_gc(xw,
13434 outlineGC = getCgsGC(xw, currentWin, gcVTcursOutline);
13467 int italics_off = ((xw->flags & ATR_ITALIC) != 0);
13469 int which_font = ((xw->flags & BOLD) ? fBold : fNorm);
13474 which_font = ((xw->flags & BOLD) ? fWBold : fWide);
13479 xtermLoadItalics(xw);
13480 setCgsFont(xw, currentWin, currentCgs,
13482 getter = (((xw->flags & ATR_ITALIC) && UseItalicFont(screen))
13486 currentGC = getCgsGC(xw, currentWin, currentCgs);
13490 params.xw = xw;
13527 setCgsFont(xw, currentWin, currentCgs,
13542 HideCursor(XtermWidget xw)
13544 TScreen *screen = TScreenOf(xw);
13613 if (!(xw->flags & FG_COLOR))
13636 if ((attr_flags & ATR_ITALIC) ^ (xw->flags & ATR_ITALIC)) {
13647 which_Cgs = reverseCgs(xw, attr_flags, in_selection, which_font);
13649 setCgsFont(xw, WhichVWin(screen),
13652 getter = (((xw->flags & ATR_ITALIC) && UseItalicFont(screen))
13659 currentGC = updatedXtermGC(xw, flags, fg_bg, in_selection);
13668 params.xw = xw;
13700 setCgsFont(xw, WhichVWin(screen),
13705 resetXtermGC(xw, flags, in_selection);
13707 refresh_displayed_graphics(xw,
13717 StartBlinking(XtermWidget xw)
13719 TScreen *screen = TScreenOf(xw);
13730 xw);
13735 StopBlinking(XtermWidget xw)
13737 TScreen *screen = TScreenOf(xw);
13742 reallyStopBlinking(xw);
13775 XtermWidget xw = (XtermWidget) closure;
13776 TScreen *screen = TScreenOf(xw);
13786 HideCursor(xw);
13792 ShowCursor(xw);
13832 ScrnRefresh(xw,
13846 StartBlinking(xw);
13851 RestartBlinking(XtermWidget xw)
13854 TScreen *screen = TScreenOf(xw);
13881 StartBlinking(xw);
13884 (void) xw;
13899 ReallyReset(XtermWidget xw, Bool full, Bool saved)
13901 TScreen *screen = TScreenOf(xw);
13902 IFlags saveflags = xw->flags;
13908 if (!XtIsRealized((Widget) xw) || (CURRENT_EMU() != (Widget) xw)) {
13909 Bell(xw, XkbBI_MinorError, 0);
13915 ScrollBarDrawThumb(xw, 0);
13924 SetCursorBlink(xw, screen->cursor_blink_i);
13932 handle_DECSSDT(xw, 0); /* DEC STD 070, page 14-10, RIS */
13934 handle_DECSASD(xw, 0); /* DEC STD 070, page 14-9, DECSTR */
13939 resetMarginMode(xw);
13941 bitclr(&xw->flags, ORIGIN);
13945 reset_SGR_Colors(xw);
13946 if (ResetAnsiColorRequest(xw, empty, 0))
13947 xtermRepaint(xw);
13953 UIntClr(xw->keyboard.flags, (MODE_DECCKM | MODE_KAM | MODE_DECKPAM));
13954 if (xw->misc.appcursorDefault)
13955 xw->keyboard.flags |= MODE_DECCKM;
13956 if (xw->misc.appkeypadDefault)
13957 xw->keyboard.flags |= MODE_DECKPAM;
13961 xw->keyboard.modify_now = xw->keyboard.modify_1st;
13968 bitclr(&xw->flags, PROTECTED);
13973 Bell(xw, XkbBI_TerminalBell, 0);
13984 xtermShowPointer(xw, True);
13986 TabReset(xw->tabs);
13987 xw->keyboard.flags |= MODE_SRM;
13991 decode_keyboard_type(xw, &resource);
13994 UIntClr(xw->keyboard.flags, MODE_DECBKM);
13996 if (xw->keyboard.reset_DECBKM == 1)
13997 xw->keyboard.flags |= MODE_DECBKM;
13998 else if (xw->keyboard.reset_DECBKM == 2)
14001 xw->keyboard.flags |= MODE_DECBKM;
14003 BtoS(xw->keyboard.flags & MODE_DECBKM)));
14012 UIntClr(xw->keyboard.flags, MODE_DECSDM);
14014 UIntSet(xw->keyboard.flags, MODE_DECSDM);
14016 BtoS(xw->keyboard.flags & MODE_DECSDM),
14038 reset_decudk(xw);
14040 FromAlternate(xw, True);
14041 ClearScreen(xw);
14044 if (xw->flags & REVERSE_VIDEO)
14045 ReverseVideo(xw);
14046 ResetItalics(xw);
14047 xw->flags = xw->initflags;
14054 screen->jumpscroll = (Boolean) (!(xw->flags & SMOOTHSCROLL));
14074 RequestResize(xw, MaxRows(screen), 80, True);
14078 xevents(xw);
14081 CursorSet(screen, 0, 0, xw->flags);
14082 CursorSave(xw);
14084 bitcpy(&xw->flags, xw->initflags, WRAPAROUND | REVERSEWRAP | REVERSEWRAP2);
14085 bitclr(&xw->flags, INSERT | INVERSE | BOLD | BLINK | UNDERLINE | INVISIBLE);
14086 ResetItalics(xw);
14088 reset_SGR_Colors(xw);
14094 CursorSave(xw);
14101 VTReset(XtermWidget xw, Bool full, Bool saved)
14103 ReallyReset(xw, full, saved);
14348 XtermWidget xw;
14352 if ((xw = getXtermWidget(w)) != NULL) {
14358 (void) SendMousePosition(xw, event);
14374 XtermWidget xw = getXtermWidget(w);
14376 if (xw == NULL) {
14379 Bell(xw, XkbBI_MinorError, 0);
14382 char *save = TScreenOf(xw)->SelectFontName();
14413 TScreenOf(xw)->SelectFontName() = test;
14414 if (!xtermLoadFont(xw,
14420 TScreenOf(xw)->SelectFontName() = save;
14426 Bell(xw, XkbBI_MinorError, 0);
14435 FindFontSelection(XtermWidget xw, const char *atom_name, Bool justprobe)
14437 TScreen *screen = TScreenOf(xw);
14463 target = XmuInternAtom(XtDisplay(xw), *pAtom);
14466 XGetSelectionOwner(XtDisplay(xw), target) ? _Font_Selected_ : NULL;
14470 XtGetSelectionValue((Widget) xw, target, XA_STRING,
14472 XtLastTimestampProcessed(XtDisplay(xw)));
14478 set_cursor_gcs(XtermWidget xw)
14480 TScreen *screen = TScreenOf(xw);
14515 setCgsFont(xw, win, gcVTcursNormal, NULL);
14516 setCgsFont(xw, win, gcVTcursFilled, NULL);
14517 setCgsFont(xw, win, gcVTcursReverse, NULL);
14518 setCgsFont(xw, win, gcVTcursOutline, NULL);
14521 setCgsFore(xw, win, gcVTcursNormal, fg);
14522 setCgsBack(xw, win, gcVTcursNormal, xx);
14524 setCgsFore(xw, win, gcVTcursFilled, xx);
14525 setCgsBack(xw, win, gcVTcursFilled, fg);
14529 setCgsFore(xw, win, gcVTcursReverse, bg);
14530 setCgsBack(xw, win, gcVTcursReverse, cc);
14532 setCgsFore(xw, win, gcVTcursReverse, bg);
14533 setCgsBack(xw, win, gcVTcursReverse, cc);
14535 set_cursor_outline_gc(xw, screen->always_highlight, fg, bg, cc);
14537 FreeMarkGCs(xw);