Lines Matching refs:xw
119 (event.xcrossing.window == XtWindow(XtParent(xw)) || \
125 (event.xcrossing.window == XtWindow(XtParent(xw))))
179 selectwindow(XtermWidget xw, int flag)
181 TScreen *screen = TScreenOf(xw);
186 if (TEK4014_ACTIVE(xw)) {
196 TInput *input = lookupTInput(xw, (Widget) xw);
202 HideCursor(xw);
205 ShowCursor(xw);
211 unselectwindow(XtermWidget xw, int flag)
213 TScreen *screen = TScreenOf(xw);
219 xtermDisplayPointer(xw);
226 if (TEK4014_ACTIVE(xw)) {
235 TInput *input = lookupTInput(xw, (Widget) xw);
241 HideCursor(xw);
243 ShowCursor(xw);
249 DoSpecialEnterNotify(XtermWidget xw, XEnterWindowEvent *ev)
251 TScreen *screen = TScreenOf(xw);
254 TRACE_FOCUS(xw, ev);
258 selectwindow(xw, INWINDOW);
262 DoSpecialLeaveNotify(XtermWidget xw, XEnterWindowEvent *ev)
264 TScreen *screen = TScreenOf(xw);
267 TRACE_FOCUS(xw, ev);
271 unselectwindow(xw, INWINDOW);
279 setXUrgency(XtermWidget xw, Bool enable)
281 TScreen *screen = TScreenOf(xw);
284 XWMHints *h = XGetWMHints(screen->display, VShellWindow(xw));
291 XSetWMHints(screen->display, VShellWindow(xw), h);
297 do_xevents(XtermWidget xw)
299 TScreen *screen = TScreenOf(xw);
303 xevents(xw);
308 xtermDisplayPointer(XtermWidget xw)
310 TScreen *screen = TScreenOf(xw);
328 xtermShowPointer(XtermWidget xw, Bool enable)
331 TScreen *screen = TScreenOf(xw);
334 if (TEK4014_SHOWN(xw))
360 xtermDisplayPointer(xw);
365 MotionOff(screen, xw);
371 screen->hidden_cursor = make_hidden_cursor(xw);
378 xtermDisplayPointer(xw);
379 MotionOn(screen, xw);
574 xevents(XtermWidget xw)
576 TScreen *screen = TScreenOf(xw);
584 FlushScroll(xw);
629 DoSpecialEnterNotify(xw, &event.xcrossing);
631 DoSpecialLeaveNotify(xw, &event.xcrossing);
633 && event.xcrossing.window == XtWindow(xw)) {
639 SendMousePosition(xw, &event);
640 xtermShowPointer(xw, True);
643 SendMousePosition(xw, &event);
644 xtermShowPointer(xw, True);
656 xtermShowPointer(xw, True);
673 xtermShowPointer(xw, True);
688 VTInitModifiers(xw);
696 make_hidden_cursor(XtermWidget xw)
698 TScreen *screen = TScreenOf(xw);
711 if ((fn = xtermLoadQueryFont(xw, "nil2")) == NULL) {
713 fn = xtermLoadQueryFont(xw, DEFFONT);
987 xtermSetupPointer(XtermWidget xw, const char *theShape)
989 TScreen *screen = TScreenOf(xw);
1001 if (xw->work.pointer_cursors[which] == None) {
1003 xw->work.pointer_cursors[which] =
1014 if (screen->pointer_cursor != xw->work.pointer_cursors[which]) {
1015 screen->pointer_cursor = xw->work.pointer_cursors[which];
1017 XDefineCursor(screen->display, VShellWindow(xw), screen->pointer_cursor);
1018 if (XtIsRealized((Widget) xw)) {
1022 xtermShowPointer(xw, True);
1254 XtermWidget xw = term;
1255 TScreen *screen = TScreenOf(xw);
1261 TRACE_FOCUS(xw, event);
1268 setXUrgency(xw, False);
1281 unselectwindow(xw, INWINDOW);
1283 selectwindow(xw,
1287 SendFocusButton(xw, event);
1291 SendFocusButton(xw, event);
1299 unselectwindow(xw,
1305 Bell(xw, XkbBI_Info, 100);
1306 ReverseVideo(xw);
1317 AtomBell(XtermWidget xw, int which)
1335 result = CachedInternAtom(XtDisplay(xw), table[n].name);
1344 xtermBell(XtermWidget xw, int which, int percent)
1346 TScreen *screen = TScreenOf(xw);
1348 Atom tony = AtomBell(xw, which);
1385 XkbBell(screen->display, VShellWindow(xw), percent, tony);
1392 Bell(XtermWidget xw, int which, int percent)
1394 TScreen *screen = TScreenOf(xw);
1398 if (!XtIsRealized((Widget) xw)) {
1402 setXUrgency(xw, True);
1410 do_xevents(xw);
1427 xtermBell(xw, which, percent);
1431 XRaiseWindow(screen->display, VShellWindow(xw));
1464 XtermWidget xw = term;
1465 TScreen *screen = TScreenOf(xw);
1475 visualGC = XtGetGC((Widget) xw, GCFunction + GCForeground, &gcval);
1477 if (TEK4014_ACTIVE(xw)) {
1489 XtReleaseGC((Widget) xw, visualGC);
1558 WMFrameWindow(XtermWidget xw)
1564 win_current = XtWindow(xw);
1570 XQueryTree(TScreenOf(xw)->display,
1618 dabbrev_prev_word(XtermWidget xw, CELL *cell, LineData **ld)
1620 TScreen *screen = TScreenOf(xw);
1623 char *ab_end = (xw->work.dabbrev_data + MAX_DABBREV - 1);
1631 if (abword > xw->work.dabbrev_data) /* store only the last chars */
1652 dabbrev_expand(XtermWidget xw)
1654 TScreen *screen = TScreenOf(xw);
1673 if ((dabbrev_hint = dabbrev_prev_word(xw, &cell, &ld)) != NULL) {
1702 if ((expansion = dabbrev_prev_word(xw, &cell, &ld)) == NULL) {
1752 XtermWidget xw;
1755 if ((xw = getXtermWidget(w)) != NULL) {
1756 if (!dabbrev_expand(xw))
1757 Bell(xw, XkbBI_TerminalBell, 0);
1763 xtermDeiconify(XtermWidget xw)
1765 TScreen *screen = TScreenOf(xw);
1767 Window target = VShellWindow(xw);
1771 if (xtermIsIconified(xw)) {
1773 ResetHiddenHint(xw);
1787 xevents(xw);
1792 xtermIconify(XtermWidget xw)
1794 TScreen *screen = TScreenOf(xw);
1795 Window target = VShellWindow(xw);
1797 if (!xtermIsIconified(xw)) {
1802 xevents(xw);
1807 xtermIsIconified(XtermWidget xw)
1810 TScreen *screen = TScreenOf(xw);
1811 Window target = VShellWindow(xw);
1871 XtermWidget xw;
1873 if ((xw = getXtermWidget(w)) != NULL) {
1874 xtermDeiconify(xw);
1885 XtermWidget xw;
1887 if ((xw = getXtermWidget(w)) != NULL) {
1888 xtermIconify(xw);
1893 QueryMaximize(XtermWidget xw, unsigned *width, unsigned *height)
1895 TScreen *screen = TScreenOf(xw);
1906 RootWindowOfScreen(XtScreen(xw)),
1926 VShellWindow(xw),
1950 RequestMaximize(XtermWidget xw, int maximize)
1952 TScreen *screen = TScreenOf(xw);
1968 && QueryMaximize(xw, &root_width, &root_height)
1970 WMFrameWindow(xw),
1973 VShellWindow(xw),
2003 FullScreen(xw, 3); /* depends on EWMH */
2006 FullScreen(xw, 2); /* depends on EWMH */
2009 FullScreen(xw, 0); /* overrides any EWMH hint */
2015 XMoveResizeWindow(screen->display, VShellWindow(xw),
2023 FullScreen(xw, 0); /* reset any EWMH hint */
2034 VShellWindow(xw),
2052 XtermWidget xw;
2054 if ((xw = getXtermWidget(w)) != NULL) {
2055 RequestMaximize(xw, 1);
2066 XtermWidget xw;
2068 if ((xw = getXtermWidget(w)) != NULL) {
2069 RequestMaximize(xw, 0);
2077 XtermWidget xw = term;
2078 TScreen *screen = TScreenOf(xw);
2091 event.width = xw->core.width;
2092 event.height = xw->core.height;
2093 (*xw->core.widget_class->core_class.expose) ((Widget) xw,
2102 if (TEK4014_SHOWN(xw)) {
2134 create_printfile(XtermWidget xw, const char *suffix)
2136 TScreen *screen = TScreenOf(xw);
2326 XtermWidget xw = term;
2327 TScreen *screen = TScreenOf(xw);
2334 CloseLog(xw);
2466 StartLog(XtermWidget xw)
2468 TScreen *screen = TScreenOf(xw);
2485 Bell(xw, XkbBI_Info, 0);
2486 Bell(xw, XkbBI_Info, 0);
2504 CloseLog(XtermWidget xw)
2506 TScreen *screen = TScreenOf(xw);
2510 FlushLog(xw);
2517 FlushLog(XtermWidget xw)
2519 TScreen *screen = TScreenOf(xw);
2564 getVisualInfo(XtermWidget xw)
2580 TScreen *screen = TScreenOf(xw);
2584 if (xw->visInfo == NULL && xw->numVisuals == 0) {
2587 xw->visInfo = XGetVisualInfo(dpy, (long) VisualIDMask,
2588 &myTemplate, &xw->numVisuals);
2590 if ((xw->visInfo != NULL) && (xw->numVisuals > 0)) {
2591 XVisualInfo *vi = xw->visInfo;
2592 xw->rgb_widths[0] = maskToWidth(vi->red_mask);
2593 xw->rgb_widths[1] = maskToWidth(vi->green_mask);
2594 xw->rgb_widths[2] = maskToWidth(vi->blue_mask);
2595 xw->rgb_shifts[0] = maskToShift(vi->red_mask);
2596 xw->rgb_shifts[1] = maskToShift(vi->green_mask);
2597 xw->rgb_shifts[2] = maskToShift(vi->blue_mask);
2599 xw->has_rgb = ((vi->red_mask != 0) &&
2605 xw->rgb_widths[0] <= (unsigned) vi->bits_per_rgb &&
2606 xw->rgb_widths[1] <= (unsigned) vi->bits_per_rgb &&
2607 xw->rgb_widths[2] <= (unsigned) vi->bits_per_rgb &&
2616 xw->rgb_shifts[0],
2617 xw->rgb_shifts[1],
2618 xw->rgb_shifts[2]));
2620 xw->rgb_widths[0],
2621 xw->rgb_widths[1],
2622 xw->rgb_widths[2]));
2625 return (xw->visInfo != NULL) && (xw->numVisuals > 0) ? xw->visInfo : NULL;
2632 ReportAnsiColorRequest(XtermWidget xw, int opcode, int colornum, int final)
2636 if (AllowColorOps(xw, ecGetAnsiColor)) {
2641 color.pixel = GET_COLOR_RES(xw, TScreenOf(xw)->Acolors[colornum]);
2642 (void) QueryOneColor(xw, &color);
2649 unparseputc1(xw, ANSI_OSC);
2650 unparseputs(xw, buffer);
2651 unparseputc1(xw, final);
2658 getColormapInfo(XtermWidget xw, unsigned *typep, unsigned *sizep)
2660 if (getVisualInfo(xw)) {
2661 *typep = (unsigned) xw->visInfo->class;
2662 *sizep = (unsigned) xw->visInfo->colormap_size;
2675 loadColorTable(XtermWidget xw, unsigned length)
2677 Colormap cmap = xw->core.colormap;
2678 TScreen *screen = TScreenOf(xw);
2690 if (getVisualInfo(xw))
2691 shift = xw->rgb_shifts[2];
2716 AllocOneColor(XtermWidget xw, XColor *def)
2718 TScreen *screen = TScreenOf(xw);
2722 ((unsigned long) ((def->name >> (16 - xw->rgb_widths[nn])) \
2723 << xw->rgb_shifts[nn]) \
2724 & xw->visInfo->name ##_mask)
2726 #define VisualIsRGB(xw) (getVisualInfo(xw) != NULL && xw->has_rgb && xw->visInfo->bits_per_rgb <= 8)
2728 if (VisualIsRGB(xw)) {
2732 if (!XAllocColor(dpy, xw->core.colormap, def)) {
2740 ? xw->dft_background
2741 : xw->dft_foreground);
2758 QueryOneColor(XtermWidget xw, XColor *def)
2763 ((unsigned short)((def->pixel & xw->visInfo->name ##_mask) >> xw->rgb_shifts[nn]))
2766 |UnMaskIt(name,nn))) << (8 - xw->rgb_widths[nn]))
2768 if (VisualIsRGB(xw)) {
2774 Display *dpy = TScreenOf(xw)->display;
2775 if (!XQueryColor(dpy, xw->core.colormap, def)) {
2796 allocateClosestRGB(XtermWidget xw, XColor *def)
2798 TScreen *screen = TScreenOf(xw);
2803 getColormapInfo(xw, &cmap_type, &cmap_size);
2807 if (loadColorTable(xw, cmap_size)) {
2850 if (AllocOneColor(xw, &screen->cmap_data[bestInx])) {
2885 AllocateAnsiColor(XtermWidget xw,
2892 if (xtermAllocColor(xw, &def, spec)) {
2903 (int) (res - TScreenOf(xw)->Acolors), spec,
2920 xtermGetColorRes(XtermWidget xw, ColorRes * res)
2928 (int) (res - TScreenOf(xw)->Acolors)));
2930 if (res >= TScreenOf(xw)->Acolors) {
2931 assert(res - TScreenOf(xw)->Acolors < MAXCOLORS);
2933 if (AllocateAnsiColor(xw, res, res->resource) < 0) {
2934 res->value = TScreenOf(xw)->Tcolors[TEXT_FG].value;
2948 ChangeOneAnsiColor(XtermWidget xw, int color, const char *name)
2955 ColorRes *res = &(TScreenOf(xw)->Acolors[color]);
2958 code = AllocateAnsiColor(xw, res, name);
2976 ChangeAnsiColorRequest(XtermWidget xw,
3006 if (ReportAnsiColorRequest(xw, opcode, color + first, final))
3009 code = ChangeOneAnsiColor(xw, color + first, name);
3022 unparse_end(xw);
3028 ResetOneAnsiColor(XtermWidget xw, int color, int start)
3034 ColorRes *res = &(TScreenOf(xw)->Acolors[color + start]);
3038 if (ChangeOneAnsiColor(xw, color + start, res->resource) > 0) {
3047 ResetAnsiColorRequest(XtermWidget xw, char *buf, int start)
3067 if (ResetOneAnsiColor(xw, color, start)) {
3075 if (ResetOneAnsiColor(xw, color, start)) {
3084 #define allocateClosestRGB(xw, def) 0
3088 allocateBestRGB(XtermWidget xw, XColor *def)
3090 (void) xw;
3092 return AllocOneColor(xw, def) || allocateClosestRGB(xw, def);
3096 xtermAllocColor(XtermWidget xw, XColor *def, const char *spec)
3099 TScreen *screen = TScreenOf(xw);
3100 Colormap cmap = xw->core.colormap;
3114 if (allocateBestRGB(xw, def)) {
3139 xtermClosestColor(XtermWidget xw, int find_red, int find_green, int find_blue)
3152 ColorRes *res = &(TScreenOf(xw)->Acolors[n]);
3156 (void) AllocateAnsiColor(xw, res, res->resource);
3179 (void) xw;
3189 getDirectColor(XtermWidget xw, int red, int green, int blue)
3196 if (xw->rgb_widths[shift] < 8) { \
3197 value >>= (int) (8 - xw->rgb_widths[shift]); \
3199 value <<= xw->rgb_shifts[shift]; \
3200 value &= xw->visInfo->name ##_mask; \
3214 formatDirectColor(char *target, XtermWidget xw, unsigned value)
3220 result[shift] = value & xw->visInfo->name ## _mask; \
3221 result[shift] >>= xw->rgb_shifts[shift]; \
3222 if (xw->rgb_widths[shift] < 8) \
3223 result[shift] <<= (int) (8 - xw->rgb_widths[shift]); \
3246 xtermFormatSGR(XtermWidget xw, char *target, unsigned attr, int fg, int bg)
3248 TScreen *screen = TScreenOf(xw);
3277 formatDirectColor(EndOf(msg), xw, (unsigned) fg);
3287 formatDirectColor(EndOf(msg), xw, (unsigned) bg);
3314 ManipulateSelectionData(XtermWidget xw, TScreen *screen, char *buf, int final)
3372 if (AllowWindowOps(xw, ewGetSelection)) {
3374 unparseputc1(xw, ANSI_OSC);
3375 unparseputs(xw, "52");
3376 unparseputc(xw, ';');
3378 unparseputs(xw, select_code);
3379 unparseputc(xw, ';');
3386 XtLastTimestampProcessed(TScreenOf(xw)->display);
3389 xtermGetSelection((Widget) xw,
3395 if (AllowWindowOps(xw, ewSetSelection)) {
3400 XtLastTimestampProcessed(TScreenOf(xw)->display);
3411 CompleteSelection(xw, select_args, num_targets);
3421 xtermIsPrintable(XtermWidget xw, Char **bufp, Char *last)
3423 TScreen *screen = TScreenOf(xw);
3432 if (xtermEnvUTF8() && IsSetUtf8Title(xw)) {
3519 GetOldColors(XtermWidget xw)
3521 if (xw->work.oldColors == NULL) {
3524 xw->work.oldColors = TypeXtMalloc(ScrnColors);
3525 if (xw->work.oldColors == NULL) {
3529 xw->work.oldColors->which = 0;
3531 xw->work.oldColors->colors[i] = 0;
3532 xw->work.oldColors->names[i] = NULL;
3534 GetColors(xw, xw->work.oldColors);
3540 oppositeColor(XtermWidget xw, int n)
3542 Boolean reversed = (xw->misc.re_verse);
3580 ReportColorRequest(XtermWidget xw, int ndx, int final)
3584 if (AllowColorOps(xw, ecGetColor)) {
3593 int i = (xw->misc.re_verse) ? oppositeColor(xw, ndx) : ndx;
3595 GetOldColors(xw);
3596 color.pixel = xw->work.oldColors->colors[ndx];
3597 (void) QueryOneColor(xw, &color);
3603 ndx, xw->work.oldColors->colors[ndx], buffer));
3604 unparseputc1(xw, ANSI_OSC);
3605 unparseputs(xw, buffer);
3606 unparseputc1(xw, final);
3613 UpdateOldColors(XtermWidget xw, ScrnColors * pNew)
3626 if (xw->work.oldColors->names[i] != NULL) {
3627 XtFree(xw->work.oldColors->names[i]);
3628 xw->work.oldColors->names[i] = NULL;
3631 xw->work.oldColors->names[i] = pNew->names[i];
3633 xw->work.oldColors->colors[i] = pNew->colors[i];
3674 ChangeColorsRequest(XtermWidget xw,
3684 if (GetOldColors(xw)) {
3694 if (xw->misc.re_verse)
3695 ndx = oppositeColor(xw, ndx);
3708 if (ReportColorRequest(xw, ndx, final))
3710 } else if (!xw->work.oldColors->names[ndx]
3711 || strcmp(thisName, xw->work.oldColors->names[ndx])) {
3712 AllocateTermColor(xw, &newColors, ndx, thisName, False);
3719 ChangeColors(xw, &newColors);
3720 UpdateOldColors(xw, &newColors);
3722 unparse_end(xw);
3730 ResetColorsRequest(XtermWidget xw,
3735 (void) xw;
3739 if (GetOldColors(xw)) {
3744 if (xw->misc.re_verse)
3745 ndx = oppositeColor(xw, ndx);
3747 thisName = xw->screen.Tcolors[ndx].resource;
3753 && xw->work.oldColors->names[ndx] != NULL
3754 && strcmp(thisName, xw->work.oldColors->names[ndx])) {
3755 AllocateTermColor(xw, &newColors, ndx, thisName, False);
3758 ChangeColors(xw, &newColors);
3759 UpdateOldColors(xw, &newColors);
3775 ParseShiftedFont(XtermWidget xw, String source, String *target)
3777 TScreen *screen = TScreenOf(xw);
3800 num = lookupRelativeFontSize(xw,
3810 QueryFontRequest(XtermWidget xw, String buf, int final)
3812 if (AllowFontOps(xw, efGetFont)) {
3813 TScreen *screen = TScreenOf(xw);
3819 num = ParseShiftedFont(xw, buf, &buf);
3822 Bell(xw, XkbBI_MinorError, 0);
3826 if (UsingRenderFont(xw)) {
3827 name = getFaceName(xw, False);
3835 unparseputc1(xw, ANSI_OSC);
3836 unparseputs(xw, "50");
3839 unparseputc(xw, ';');
3845 unparseputc(xw, '#');
3847 unparseputs(xw, temp);
3849 unparseputc(xw, ' ');
3852 unparseputs(xw, name);
3855 unparseputc1(xw, final);
3856 unparse_end(xw);
3861 ChangeFontRequest(XtermWidget xw, String buf)
3863 if (AllowFontOps(xw, efSetFont)) {
3864 TScreen *screen = TScreenOf(xw);
3878 num = ParseShiftedFont(xw, buf, &buf);
3882 Bell(xw, XkbBI_MinorError, 0);
3896 if (UsingRenderFont(xw)) {
3924 if (UsingRenderFont(xw)) {
3925 setFaceName(xw, name);
3926 xtermUpdateFontInfo(xw, True);
3932 if (SetVTFont(xw, num, True, &fonts)
3939 Bell(xw, XkbBI_MinorError, 0);
3950 report_allowed_ops(XtermWidget xw, int final)
3952 TScreen *screen = TScreenOf(xw);
3955 unparseputc1(xw, ANSI_OSC);
3956 unparseputn(xw, OSC_AllowedOps);
3960 unparseputc(xw, delimiter); \
3961 unparseputs(xw, #name); \
3974 unparseputc1(xw, final);
3978 report_disallowed_ops(XtermWidget xw, char *value, int final)
3980 unparseputc1(xw, ANSI_OSC);
3981 unparseputn(xw, OSC_DisallowedOps);
3982 unparse_disallowed_ops(xw, value);
3983 unparseputc1(xw, final);
3989 do_osc(XtermWidget xw, Char *oscbuf, size_t len, int final)
3991 TScreen *screen = TScreenOf(xw);
4028 xtermLoadIcon(xw, (char *) ++cp);
4031 ChangeTitle(xw, (char *) ++cp);
4034 ChangeIconName(xw, (char *) ++cp);
4052 if (!xtermIsPrintable(xw, &cp, oscbuf + len)) {
4072 if (xw->work.palette_changed) {
4084 xw->work.palette_changed = False;
4085 xtermRepaint(xw);
4088 xtermNeedSwap(xw, 1);
4154 ChangeIconName(xw, buf);
4155 ChangeTitle(xw, buf);
4159 ChangeIconName(xw, buf);
4163 ChangeTitle(xw, buf);
4168 if (AllowWindowOps(xw, ewSetXprop))
4177 if (ChangeAnsiColorRequest(xw, mode, buf, ansi_colors, final))
4178 xw->work.palette_changed = True;
4237 if (ResetAnsiColorRequest(xw, buf, ansi_colors))
4238 xw->work.palette_changed = True;
4255 if (xw->misc.dynamicColors) {
4256 ChangeColorsRequest(xw, mode, buf, final);
4273 if (xw->misc.dynamicColors) {
4274 ResetColorsRequest(xw, mode);
4279 xtermSetupPointer(xw, buf);
4298 Bell(xw, XkbBI_Info, 0);
4299 Bell(xw, XkbBI_Info, 0);
4306 QueryFontRequest(xw, buf, final);
4307 } else if (xw->misc.shift_fonts) {
4308 ChangeFontRequest(xw, buf);
4315 ManipulateSelectionData(xw, screen, buf, final);
4320 report_allowed_ops(xw, final);
4324 report_disallowed_ops(xw, buf, final);
4334 unparse_end(xw);
4363 reset_decudk(XtermWidget xw)
4367 FreeAndNull(xw->work.user_keys[n].str);
4368 xw->work.user_keys[n].len = 0;
4376 parse_decudk(XtermWidget xw, const char *cp)
4401 free(xw->work.user_keys[key].str);
4402 xw->work.user_keys[key].str = str;
4403 xw->work.user_keys[key].len = len;
4631 restore_DECCIR(XtermWidget xw, const char *cp)
4633 TScreen *screen = TScreenOf(xw);
4663 UIntClr(xw->flags, (INVERSE | BLINK | UNDERLINE | BOLD));
4664 xw->flags |= (value & 16) ? INVISIBLE : 0;
4665 xw->flags |= (value & 8) ? INVERSE : 0;
4666 xw->flags |= (value & 4) ? BLINK : 0;
4667 xw->flags |= (value & 2) ? UNDERLINE : 0;
4668 xw->flags |= (value & 1) ? BOLD : 0;
4681 UIntClr(xw->flags, ORIGIN);
4682 xw->flags |= (value & 1) ? ORIGIN : 0;
4702 xtermDecodeSCS(xw, value, 0, prefix, *cp);
4704 xtermDecodeSCS(xw, value, 0, '\0', *cp);
4713 restore_DECTABSR(XtermWidget xw, const char *cp)
4718 TabZonk(xw->tabs);
4725 TabSet(xw->tabs, stop);
4735 TabSet(xw->tabs, stop);
4786 decode_upss(XtermWidget xw, const char *cp, char psarg, DECNRCM_codes * upss)
4813 TScreen *screen = TScreenOf(xw);
4851 do_dcs(XtermWidget xw, Char *dcsbuf, size_t dcslen)
4853 TScreen *screen = TScreenOf(xw);
4884 && (xw->flags & PROTECTED) ? 1 : 0,
4914 xtermFormatSGR(xw, reply, xw->flags, xw->cur_foreground, xw->cur_background);
4936 ((xw->flags & IN132COLUMNS) ? 132 : 80),
5009 #define GET_MOD_FKEYS(field) xw->keyboard.modify_now.field
5071 unparseputc1(xw, ANSI_DCS);
5072 unparseputc(xw, okay ? '1' : '0');
5073 unparseputc(xw, '$');
5074 unparseputc(xw, 'r');
5076 unparseputs(xw, cp);
5077 unparseputc1(xw, ANSI_ST);
5079 unparseputc(xw, ANSI_CAN);
5087 if (AllowTcapOps(xw, etSetTcap)) {
5088 set_termcap(xw, cp + 1);
5092 if (AllowTcapOps(xw, etGetTcap)) {
5099 code = xtermcapKeycode(xw, &parsed, &state, &fkey);
5101 unparseputc1(xw, ANSI_DCS);
5103 unparseputc(xw, code >= 0 ? '1' : '0');
5105 unparseputc(xw, '+');
5106 unparseputc(xw, 'r');
5113 unparseputc(xw, *tmp);
5116 unparseputc(xw, '=');
5123 unparseputn(xw, (unsigned) NUM_ANSI_COLORS);
5127 if (TScreenOf(xw)->direct_color && xw->has_rgb) {
5128 if (xw->rgb_widths[0] == xw->rgb_widths[1] &&
5129 xw->rgb_widths[1] == xw->rgb_widths[2]) {
5130 unparseputn(xw, xw->rgb_widths[0]);
5134 xw->rgb_widths[0],
5135 xw->rgb_widths[1],
5136 xw->rgb_widths[2]);
5137 unparseputs(xw, temp);
5140 unparseputs(xw, "-1");
5146 unparseputs(xw, resource.term_name);
5151 Input(xw, &event, False);
5160 unparseputc(xw, *parsed++);
5162 code = xtermcapKeycode(xw, &parsed, &state, &fkey);
5165 unparseputc1(xw, ANSI_ST);
5172 if (AllowXResOps(xw)) {
5190 if ((value = vt100ResourceToString(xw, name)) != NULL) {
5196 unparseputc1(xw, ANSI_DCS);
5197 unparseputc(xw, okay ? '1' : '0');
5198 unparseputc(xw, '+');
5199 unparseputc(xw, 'R');
5204 unparseputc(xw, *tmp);
5207 unparseputc1(xw, '=');
5209 unparseputs(xw, result);
5220 unparseputc(xw, *parsed++);
5225 unparseputc1(xw, ANSI_ST);
5243 if (decode_upss(xw, cp, psarg, &upss)) {
5260 restore_DECCIR(xw, cp);
5264 restore_DECTABSR(xw, cp);
5280 parse_regis(xw, ¶ms, cp);
5291 reset_decudk(xw);
5292 parse_decudk(xw, cp);
5304 unparse_end(xw);
5329 do_ansi_rqm(XtermWidget xw, int nparams, int *params)
5346 result = MdFlag(xw->keyboard.flags, MODE_KAM);
5352 result = MdFlag(xw->flags, INSERT);
5361 result = MdFlag(xw->keyboard.flags, MODE_SRM);
5373 result = MdFlag(xw->flags, LINEFEED);
5383 unparseseq(xw, &reply);
5387 do_dec_rqm(XtermWidget xw, int nparams, int *params)
5396 TScreen *screen = TScreenOf(xw);
5402 result = MdFlag(xw->keyboard.flags, MODE_DECCKM);
5412 result = MdFlag(xw->flags, IN132COLUMNS);
5415 result = MdFlag(xw->flags, SMOOTHSCROLL);
5418 result = MdFlag(xw->flags, REVERSE_VIDEO);
5421 result = MdFlag(xw->flags, ORIGIN);
5424 result = MdFlag(xw->flags, WRAPAROUND);
5479 result = MdBool(xw->misc.shift_fonts);
5484 result = MdBool(TEK4014_ACTIVE(xw));
5495 result = MdFlag(xw->flags, NATIONAL);
5510 result = MdFlag(xw->flags, REVERSEWRAP);
5513 result = MdFlag(xw->flags, REVERSEWRAP2);
5541 result = MdFlag(xw->keyboard.flags, MODE_DECKPAM);
5544 result = MdFlag(xw->keyboard.flags, MODE_DECBKM);
5548 result = MdFlag(xw->flags, LEFT_RIGHT);
5555 result = MdFlag(xw->keyboard.flags, MODE_DECSDM);
5560 result = MdFlag(xw->flags, NOCLEAR_COLM);
5605 result = MdBool(xw->misc.real_NumLock);
5612 result = MdBool(xtermDeleteIsDEL(xw));
5635 result = MdBool(xw->misc.titeInhibit);
5645 result = MdBool(xw->keyboard.type == keyboardIsTermcap);
5650 result = MdBool(xw->keyboard.type == keyboardIsSun);
5655 result = MdBool(xw->keyboard.type == keyboardIsHP);
5660 result = MdBool(xw->keyboard.type == keyboardIsSCO);
5664 result = MdBool(xw->keyboard.type == keyboardIsLegacy);
5668 result = MdBool(xw->keyboard.type == keyboardIsVT220);
5774 unparseseq(xw, &reply);
5779 udk_lookup(XtermWidget xw, int keycode, int *len)
5783 *len = xw->work.user_keys[keycode].len;
5784 result = xw->work.user_keys[keycode].str;
5903 getVisualDepth(XtermWidget xw)
5907 if (getVisualInfo(xw)) {
5908 result = xw->visInfo->depth;
5917 xtermLoadIcon(XtermWidget xw, const char *icon_hint)
5920 Display *dpy = XtDisplay(xw);
5944 attributes.depth = (unsigned) getVisualDepth(xw);
6004 XWMHints *hints = XGetWMHints(dpy, VShellWindow(xw));
6016 XSetWMHints(dpy, VShellWindow(xw), hints);
6025 (void) xw;
6031 ChangeGroup(XtermWidget xw, const char *attribute, char *value)
6044 if (!AllowTitleOps(xw))
6053 if (IsTitleMode(xw, tmSetBase16)) {
6088 if (IsSetUtf8Title(xw) && titleIsUTF8) {
6202 Display *dpy = XtDisplay(xw);
6211 if (IsSetUtf8Title(xw)) {
6223 VShellWindow(xw),
6247 XChangeProperty(dpy, VShellWindow(xw), my_atom,
6255 XDeleteProperty(dpy, VShellWindow(xw), my_atom);
6269 ChangeIconName(XtermWidget xw, char *name)
6271 if (!showZIconBeep(xw, name))
6272 ChangeGroup(xw, XtNiconName, name);
6276 ChangeTitle(XtermWidget xw, char *name)
6278 ChangeGroup(xw, XtNtitle, name);
6314 ReverseOldColors(XtermWidget xw)
6316 ScrnColors *pOld = xw->work.oldColors;
6325 XtFree(xw->work.oldColors->names[TEXT_CURSOR]);
6345 FreeMarkGCs(xw);
6351 AllocateTermColor(XtermWidget xw,
6359 if (always || AllowColorOps(xw, ecSetColor)) {
6365 def.pixel = xw->old_foreground;
6367 def.pixel = xw->old_background;
6368 } else if (!xtermAllocColor(xw, &def, name)) {
6516 xtermFlushDbe(XtermWidget xw)
6518 TScreen *screen = TScreenOf(xw);
6523 XdbeSwapBuffers(XtDisplay(xw), &swap, 1);
6524 XFlush(XtDisplay(xw));
6526 ScrollBarDrawThumb(xw, 2);
6532 xtermTimedDbe(XtermWidget xw)
6535 TScreen *screen = TScreenOf(xw);
6538 long limit = DbeMsecs(xw);
6548 xtermNeedSwap(xw, 1);
6549 xtermFlushDbe(xw);
6879 XtermWidget xw = term;
6880 TScreen *screen = TScreenOf(xw);
6885 if (!screen->Vshow && xw) {
6887 VTInit(xw);
6888 XtMapWidget(XtParent(xw));
6891 XtMapWidget(SHELL_OF(xw));
6899 if (screen->Vshow && xw) {
6900 withdraw_window(XtDisplay(xw),
6901 VShellWindow(xw),
6902 XScreenNumberOfScreen(XtScreen(xw)));
6919 XtermWidget xw = term;
6924 if (!TEK4014_SHOWN(xw)) {
6944 TEK4014_SHOWN(xw) = True;
6948 if (TEK4014_SHOWN(xw) && tekWidget) {
6952 TEK4014_SHOWN(xw) = False;
6966 XtermWidget xw = term;
6968 if (TEK4014_ACTIVE(xw)) {
6969 FlushLog(xw);
6970 TEK4014_ACTIVE(xw) = False;
6971 xtermSetWinSize(xw);
6980 XtermWidget xw = term;
6982 if (!TEK4014_ACTIVE(xw)) {
6983 FlushLog(xw);
6985 TEK4014_ACTIVE(xw) = True;
7240 XtermWidget xw;
7243 xw = (XtermWidget) CURRENT_EMU();
7244 if (!IsXtermWidget(xw)) {
7245 xw = NULL;
7248 xw = (XtermWidget) w;
7250 xw = getXtermWidget(XtParent(w));
7252 TRACE2(("getXtermWidget %p -> %p\n", w, xw));
7253 return xw;
7425 #define TypedPtr(type) *(type *)(void *)((char *) xw + parameter->offset)
7431 formatFontParam(char *result, XtermWidget xw, const FontParams * parameter)
7434 if (xw != NULL) {
7438 sprintf(next, "%s", *(Boolean *) ((char *) xw + parameter->offset)
7453 && xw->work.render_font) {
7457 if (xw->work.render_font == erDefault
7458 && IsEmpty(xw->misc.default_xft.f_n)) {
7471 dumpFontParams(XtermWidget xw)
7478 TRACE(("%3d:%s\n", n, formatFontParam(buffer, xw, fontParams + n)));
7482 #define dumpFontParams(xw) /* nothing */
7534 insertFontParams(XtermWidget xw, int *targetp, Bool first)
7543 formatFontParam(buffer, xw, fontParams + n);
7564 xtermUpdateRestartCommand(XtermWidget xw)
7582 dumpFontParams(xw);
7617 changes += insertFontParams(xw, &target, first);
7631 changes += insertFontParams(xw, &target, first);
7781 XtermWidget xw = term;
7782 TScreen *screen = TScreenOf(xw);
7848 xtermSetWinSize(XtermWidget xw)
7851 if (!TEK4014_ACTIVE(xw))
7853 if (XtIsRealized((Widget) xw)) {
7854 TScreen *screen = TScreenOf(xw);
7951 xtermReportTitleStack(XtermWidget xw)
7953 TScreen *screen = TScreenOf(xw);
7957 unparseputc1(xw, ANSI_CSI);
7958 unparseputs(xw, reply);
7959 unparseputc(xw, '#');
7960 unparseputc(xw, 'S');
7961 unparse_end(xw);
8020 xtermPushSGR(XtermWidget xw, int value)
8022 SavedSGR *s = &(xw->saved_sgr);
8030 s->stack[s->used].name = xw->name;\
8031 TRACE(("...may pop %s 0x%04X %s\n", #name, xw->name, traceIFlags(xw->name)))
8033 s->stack[s->used].name = xw->name;\
8034 TRACE(("...may pop %s %d\n", #name, xw->name))
8048 xtermReportSGR(XtermWidget xw, XTermRect *value)
8050 TScreen *screen = TScreenOf(xw);
8085 xtermFormatSGR(xw, reply,
8089 unparseputc1(xw, ANSI_CSI);
8090 unparseputs(xw, reply);
8091 unparseputc(xw, 'm');
8092 unparse_end(xw);
8096 xtermPopSGR(XtermWidget xw)
8098 SavedSGR *s = &(xw->saved_sgr);
8108 TRACE(("...old: %s\n", traceIFlags(xw->flags)));
8112 if ((xw->flags & name) ^ (s->stack[s->used].flags & name)) { \
8114 UIntClr(xw->flags, name); \
8115 UIntSet(xw->flags, (s->stack[s->used].flags & name)); \
8116 TRACE(("...pop " #name " = %s\n", BtoS(xw->flags & name))); \
8121 if ((xw->flags & part) ^ (s->stack[s->used].flags & part)) { \
8123 UIntClr(xw->flags, part); \
8124 UIntSet(xw->flags, (s->stack[s->used].flags & part)); \
8125 TRACE(("...pop " #part " = %s\n", BtoS(xw->flags & part))); \
8131 if ((xw->flags & name) ^ (s->stack[s->used].flags & name)) { \
8133 UIntClr(xw->flags, name); \
8134 UIntSet(xw->flags, (s->stack[s->used].flags & name)); \
8135 TRACE(("...pop " #name " = %s\n", BtoS(xw->flags & name))); \
8137 if (always || (xw->value != s->stack[s->used].value)) { \
8138 TRACE(("...pop " #name " %d => %d\n", xw->value, s->stack[s->used].value)); \
8139 xw->value = s->stack[s->used].value; \
8150 xtermUpdateItalics(xw, s->stack[s->used].flags, xw->flags);
8166 setExtendedColors(xw);
8174 traceIFlags(xw->flags),
8175 xw->sgr_foreground,
8176 xw->sgr_background,
8177 xw->sgr_38_xcolors ? " (SGR 38)" : ""));
8180 traceIFlags(xw->flags)));
8187 allocColorSlot(XtermWidget xw, int slot)
8189 SavedColors *s = &(xw->saved_colors);
8205 popOldColors(XtermWidget xw, ScrnColors * source)
8208 ScrnColors *target = xw->work.oldColors;
8232 ChangeColors(xw, source);
8233 UpdateOldColors(xw, source);
8246 xtermPushColors(XtermWidget xw, int value)
8249 SavedColors *s = &(xw->saved_colors);
8255 TScreen *screen = TScreenOf(xw);
8258 if ((palette = allocColorSlot(xw, actual)) != NULL) {
8259 GetColors(xw, &(palette->base));
8271 (void) xw;
8277 xtermPopColors(XtermWidget xw, int value)
8280 SavedColors *s = &(xw->saved_colors);
8286 TScreen *screen = TScreenOf(xw);
8294 GetOldColors(xw);
8295 popOldColors(xw, &(palette->base));
8299 xtermRepaint(xw);
8303 (void) xw;
8309 xtermReportColors(XtermWidget xw)
8312 SavedColors *s = &(xw->saved_colors);
8321 unparseseq(xw, &reply);