void
rxvt_term::x_cb (XEvent &ev)
{
+ dDisp;
+
SET_R (this);
SET_LOCALE (locale);
unsigned char *data;
unsigned long Size, RemainingBytes;
- XGetWindowProperty (display->display, display->root,
- xa[XA_DNDSELECTION],
- 0L, 1000000L,
- False, AnyPropertyType,
- &ActualType, &ActualFormat,
- &Size, &RemainingBytes,
- &data);
+ XGetWindowProperty (disp, display->root,
+ xa[XA_DNDSELECTION],
+ 0L, 1000000L,
+ False, AnyPropertyType,
+ &ActualType, &ActualFormat,
+ &Size, &RemainingBytes,
+ &data);
set_string_property (XA_CUT_BUFFER0, data);
XFree (data);
selection_paste (display->root, XA_CUT_BUFFER0, true);
- XSetInputFocus (display->display, display->root, RevertToNone, CurrentTime);
+ XSetInputFocus (disp, display->root, RevertToNone, CurrentTime);
}
#endif /* OFFIX_DND */
break;
height = ev.xconfigure.height;
D_SIZE ((stderr, "Size: ConfigureNotify: %4d x %4d", width, height));
}
- while (XCheckTypedWindowEvent (display->display, ev.xconfigure.window, ConfigureNotify, &ev));
+ while (XCheckTypedWindowEvent (disp, ev.xconfigure.window, ConfigureNotify, &ev));
if (szHint.width != width || szHint.height != height)
{
do
scr_expose (ev.xexpose.x, ev.xexpose.y,
ev.xexpose.width, ev.xexpose.height, False);
- while (XCheckTypedWindowEvent (display->display, TermWin.vt, ev.xany.type, &ev));
+ while (XCheckTypedWindowEvent (disp, TermWin.vt, ev.xany.type, &ev));
ev.xany.type = ev.xany.type == Expose ? GraphicsExpose : Expose;
- while (XCheckTypedWindowEvent (display->display, TermWin.vt, ev.xany.type, &ev))
+ while (XCheckTypedWindowEvent (disp, TermWin.vt, ev.xany.type, &ev))
scr_expose (ev.xexpose.x, ev.xexpose.y,
ev.xexpose.width, ev.xexpose.height, False);
{
XEvent unused_event;
- while (XCheckTypedWindowEvent (display->display, ev.xany.window, Expose, &unused_event))
+ while (XCheckTypedWindowEvent (disp, ev.xany.window, Expose, &unused_event))
;
- while (XCheckTypedWindowEvent (display->display, ev.xany.window, GraphicsExpose, &unused_event))
+ while (XCheckTypedWindowEvent (disp, ev.xany.window, GraphicsExpose, &unused_event))
;
if (isScrollbarWindow (ev.xany.window))
#ifdef TRANSPARENT
if (am_transparent && ev.xany.window == TermWin.parent[0])
- XClearWindow (display->display, ev.xany.window);
+ XClearWindow (disp, ev.xany.window);
#endif
}
break;
{
if (ev.xbutton.state & (Button1Mask | Button3Mask))
{
- while (XCheckTypedWindowEvent (display->display, TermWin.vt, MotionNotify, &ev))
+ while (XCheckTypedWindowEvent (disp, TermWin.vt, MotionNotify, &ev))
;
- XQueryPointer (display->display, TermWin.vt,
+ XQueryPointer (disp, TermWin.vt,
&unused_root, &unused_child,
&unused_root_x, &unused_root_y,
&ev.xbutton.x, &ev.xbutton.y,
}
else if (isScrollbarWindow (ev.xany.window) && scrollbar_isMotion ())
{
- while (XCheckTypedWindowEvent (display->display, scrollBar.win,
+ while (XCheckTypedWindowEvent (disp, scrollBar.win,
MotionNotify, &ev))
;
- XQueryPointer (display->display, scrollBar.win,
+ XQueryPointer (disp, scrollBar.win,
&unused_root, &unused_child,
&unused_root_x, &unused_root_y,
&ev.xbutton.x, &ev.xbutton.y,
unsigned int upper_lim_r, upper_lim_g, upper_lim_b;
int i;
- Visual* visual = display->visual;
+ Visual *visual = display->visual;
if( visual->c_class != TrueColor || srcImage->format != ZPixmap ) return ;
Window root, oldp, *list;
Pixmap rootpixmap = None;
XWindowAttributes wattr, wrootattr;
+ dDisp;
pchanged = 0;
if (!(options & Opt_transparent))
return pchanged; /* Don't try any more */
- XGetWindowAttributes (display->display, display->root, &wrootattr);
+ XGetWindowAttributes (disp, display->root, &wrootattr);
rootdepth = wrootattr.depth;
- XGetWindowAttributes (display->display, TermWin.parent[0], &wattr);
+ XGetWindowAttributes (disp, TermWin.parent[0], &wattr);
if (rootdepth != wattr.depth)
{
if (am_transparent)
{
pchanged = 1;
- XSetWindowBackground (display->display, TermWin.vt, pix_colors_focused[Color_bg]);
+ XSetWindowBackground (disp, TermWin.vt, pix_colors_focused[Color_bg]);
am_transparent = am_pixmap_trans = 0;
}
}
/* Get all X ops out of the queue so that our information is up-to-date. */
- XSync (display->display, False);
+ XSync (disp, False);
/*
* Make the frame window set by the window manager have
* windows for each client, so we have to take care about that.
*/
i = (xa[XA_XROOTPMAP_ID]
- && XGetWindowProperty (display->display, display->root, xa[XA_XROOTPMAP_ID],
+ && XGetWindowProperty (disp, display->root, xa[XA_XROOTPMAP_ID],
0L, 1L, False, XA_PIXMAP, &atype, &aformat,
&nitems, &bytes_after, &prop) == Success);
if (!i || prop == NULL)
i = (xa[XA_ESETROOT_PMAP_ID]
- && XGetWindowProperty (display->display, display->root, xa[XA_ESETROOT_PMAP_ID],
+ && XGetWindowProperty (disp, display->root, xa[XA_ESETROOT_PMAP_ID],
0L, 1L, False, XA_PIXMAP, &atype, &aformat,
&nitems, &bytes_after, &prop) == Success);
GC gc;
XGCValues gcvalue;
- XTranslateCoordinates (display->display, TermWin.parent[0], display->root,
+ XTranslateCoordinates (disp, TermWin.parent[0], display->root,
0, 0, &sx, &sy, &cr);
nw = (unsigned int)szHint.width;
nh = (unsigned int)szHint.height;
MIN_IT (nw, (unsigned int) (wrootattr.width - sx));
MIN_IT (nh, (unsigned int) (wrootattr.height - sy));
- XSync (display->display, False);
+ XSync (disp, False);
allowedxerror = -1;
- image = XGetImage (display->display, rootpixmap, sx, sy, nw, nh, AllPlanes, ZPixmap);
+ image = XGetImage (disp, rootpixmap, sx, sy, nw, nh, AllPlanes, ZPixmap);
/* XXX: handle BadMatch - usually because we're outside the pixmap */
/* XXX: may need a delay here? */
pchanged = 1;
if (TermWin.pixmap != None)
{
- XFreePixmap (display->display, TermWin.pixmap);
+ XFreePixmap (disp, TermWin.pixmap);
TermWin.pixmap = None;
}
}
else
{
if (TermWin.pixmap != None)
- XFreePixmap (display->display, TermWin.pixmap);
+ XFreePixmap (disp, TermWin.pixmap);
#if TINTING
if (ISSET_PIXCOLOR (Color_tint))
}
#endif
- TermWin.pixmap = XCreatePixmap (display->display, TermWin.vt,
+ TermWin.pixmap = XCreatePixmap (disp, TermWin.vt,
szHint.width, szHint.height, image->depth);
- gc = XCreateGC (display->display, TermWin.vt, 0UL, &gcvalue);
- XPutImage (display->display, TermWin.pixmap, gc, image, 0, 0,
+ gc = XCreateGC (disp, TermWin.vt, 0UL, &gcvalue);
+ XPutImage (disp, TermWin.pixmap, gc, image, 0, 0,
nx, ny, image->width, image->height);
- XFreeGC (display->display, gc);
+ XFreeGC (disp, gc);
XDestroyImage (image);
- XSetWindowBackgroundPixmap (display->display, TermWin.parent[0], TermWin.pixmap);
- XClearWindow (display->display, TermWin.parent[0]);
+ XSetWindowBackgroundPixmap (disp, TermWin.parent[0], TermWin.pixmap);
+ XClearWindow (disp, TermWin.parent[0]);
if (!am_transparent || !am_pixmap_trans)
pchanged = 1;
}
if (am_pixmap_trans)
- XSetWindowBackgroundPixmap (display->display, TermWin.vt, ParentRelative);
+ XSetWindowBackgroundPixmap (disp, TermWin.vt, ParentRelative);
else
{
unsigned int n;
for (i = 1; i < (int) (sizeof (TermWin.parent) / sizeof (Window)); i++)
{
oldp = TermWin.parent[i];
- XQueryTree (display->display, TermWin.parent[i - 1], &root,
+ XQueryTree (disp, TermWin.parent[i - 1], &root,
&TermWin.parent[i], &list, &n);
XFree (list);
{
for (; n < (unsigned int)i; n++)
{
- XGetWindowAttributes (display->display, TermWin.parent[n], &wattr);
+ XGetWindowAttributes (disp, TermWin.parent[n], &wattr);
if (wattr.depth != rootdepth || wattr.c_class == InputOnly)
{
n = (int) (sizeof (TermWin.parent) / sizeof (Window)) + 1;
if (n > (int) (sizeof (TermWin.parent) / sizeof (TermWin.parent[0])))
{
- XSetWindowBackground (display->display, TermWin.parent[0], pix_colors_focused[Color_fg]);
- XSetWindowBackground (display->display, TermWin.vt, pix_colors_focused[Color_bg]);
+ XSetWindowBackground (disp, TermWin.parent[0], pix_colors_focused[Color_fg]);
+ XSetWindowBackground (disp, TermWin.vt, pix_colors_focused[Color_bg]);
am_transparent = 0;
/* XXX: also turn off Opt_transparent? */
}
#endif
for (n = 0; n < (unsigned int)i; n++)
{
- XSetWindowBackgroundPixmap (display->display, TermWin.parent[n], ParentRelative);
- XClearWindow (display->display, TermWin.parent[n]);
+ XSetWindowBackgroundPixmap (disp, TermWin.parent[n], ParentRelative);
+ XClearWindow (disp, TermWin.parent[n]);
}
- XSetWindowBackgroundPixmap (display->display, TermWin.vt, ParentRelative);
+ XSetWindowBackgroundPixmap (disp, TermWin.vt, ParentRelative);
am_transparent = 1;
}
if (scrollBar.win)
{
- XSetWindowBackgroundPixmap (display->display, scrollBar.win, ParentRelative);
+ XSetWindowBackgroundPixmap (disp, scrollBar.win, ParentRelative);
scrollBar.setIdle ();
scrollbar_show (0);
}
int x, y;
XWindowAttributes wattr;
Window wdummy;
+ dDisp;
if (nargs == 0)
return;
* commands
*/
case 1: /* deiconify window */
- XMapWindow (display->display, TermWin.parent[0]);
+ XMapWindow (disp, TermWin.parent[0]);
break;
case 2: /* iconify window */
- XIconifyWindow (display->display, TermWin.parent[0],
- DefaultScreen (display->display));
+ XIconifyWindow (disp, TermWin.parent[0], display->screen);
break;
case 3: /* set position (pixels) */
- XMoveWindow (display->display, TermWin.parent[0], args[1], args[2]);
+ XMoveWindow (disp, TermWin.parent[0], args[1], args[2]);
break;
case 4: /* set size (pixels) */
set_widthheight ((unsigned int)args[2], (unsigned int)args[1]);
break;
case 5: /* raise window */
- XRaiseWindow (display->display, TermWin.parent[0]);
+ XRaiseWindow (disp, TermWin.parent[0]);
break;
case 6: /* lower window */
- XLowerWindow (display->display, TermWin.parent[0]);
+ XLowerWindow (disp, TermWin.parent[0]);
break;
case 7: /* refresh window */
scr_touch (true);
* reports - some output format copied from XTerm
*/
case 11: /* report window state */
- XGetWindowAttributes (display->display, TermWin.parent[0], &wattr);
+ XGetWindowAttributes (disp, TermWin.parent[0], &wattr);
tt_printf ("\033[%dt", wattr.map_state == IsViewable ? 1 : 2);
break;
case 13: /* report window position */
- XGetWindowAttributes (display->display, TermWin.parent[0], &wattr);
- XTranslateCoordinates (display->display, TermWin.parent[0], wattr.root,
+ XGetWindowAttributes (disp, TermWin.parent[0], &wattr);
+ XTranslateCoordinates (disp, TermWin.parent[0], wattr.root,
-wattr.border_width, -wattr.border_width,
&x, &y, &wdummy);
tt_printf ("\033[3;%d;%dt", x, y);
break;
case 14: /* report window size (pixels) */
- XGetWindowAttributes (display->display, TermWin.parent[0], &wattr);
+ XGetWindowAttributes (disp, TermWin.parent[0], &wattr);
tt_printf ("\033[4;%d;%dt", wattr.height, wattr.width);
break;
case 18: /* report text area size (chars) */
case 20: /* report icon label */
{
char *s;
- XGetIconName (display->display, TermWin.parent[0], &s);
+ XGetIconName (disp, TermWin.parent[0], &s);
tt_printf ("\033]L%-.250s\234", (options & Opt_insecure) && s ? s : ""); /* 8bit ST */
XFree (s);
}
case 21: /* report window title */
{
char *s;
- XFetchName (display->display, TermWin.parent[0], &s);
+ XFetchName (disp, TermWin.parent[0], &s);
tt_printf ("\033]l%-.250s\234", (options & Opt_insecure) && s ? s : ""); /* 8bit ST */
XFree (s);
}
char *buf, *name;
bool query = str[0] == '?' && !str[1];
int saveop = op;
+ dDisp;
assert (str != NULL);
switch (op)
const char *str = "";
if (prop
- && XGetWindowProperty (display->display, TermWin.parent[0],
+ && XGetWindowProperty (disp, TermWin.parent[0],
prop, 0, 1<<16, 0, AnyPropertyType,
&actual_type, &actual_format,
&nitems, &bytes_after, &value) == Success
set_utf8_property (display->atom (str), eq + 1);
}
else
- XDeleteProperty (display->display, TermWin.parent[0],
+ XDeleteProperty (disp, TermWin.parent[0],
display->atom (str));
}
break;