mirror of
https://github.com/Llewellynvdm/conky.git
synced 2024-12-27 04:32:55 +00:00
Move xdbe swap stuff into x11.c.
This commit is contained in:
parent
4e88abde40
commit
c29301d02a
30
src/conky.c
30
src/conky.c
@ -7276,15 +7276,9 @@ static void draw_stuff(void)
|
|||||||
draw_mode = FG;
|
draw_mode = FG;
|
||||||
draw_text();
|
draw_text();
|
||||||
#ifdef X11
|
#ifdef X11
|
||||||
|
xdbe_swap_buffers();
|
||||||
if (output_methods & TO_X) {
|
if (output_methods & TO_X) {
|
||||||
#ifdef HAVE_XDBE
|
#ifdef HAVE_XDBE
|
||||||
if (use_xdbe) {
|
|
||||||
XdbeSwapInfo swap;
|
|
||||||
|
|
||||||
swap.swap_window = window.window;
|
|
||||||
swap.swap_action = XdbeBackground;
|
|
||||||
XdbeSwapBuffers(display, &swap, 1);
|
|
||||||
}
|
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
#endif /* X11 */
|
#endif /* X11 */
|
||||||
@ -7443,15 +7437,9 @@ static void main_loop(void)
|
|||||||
XResizeWindow(display, window.window, window.width,
|
XResizeWindow(display, window.window, window.width,
|
||||||
window.height); /* resize window */
|
window.height); /* resize window */
|
||||||
set_transparent_background(window.window);
|
set_transparent_background(window.window);
|
||||||
/* swap buffers */
|
|
||||||
#ifdef HAVE_XDBE
|
#ifdef HAVE_XDBE
|
||||||
if (use_xdbe) {
|
/* swap buffers */
|
||||||
XdbeSwapInfo swap;
|
xdbe_swap_buffers();
|
||||||
|
|
||||||
swap.swap_window = window.window;
|
|
||||||
swap.swap_action = XdbeBackground;
|
|
||||||
XdbeSwapBuffers(display, &swap, 1);
|
|
||||||
}
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
changed++;
|
changed++;
|
||||||
@ -7660,12 +7648,12 @@ static void main_loop(void)
|
|||||||
XFixesSetRegion(display, x11_stuff.region2, 0, 0);
|
XFixesSetRegion(display, x11_stuff.region2, 0, 0);
|
||||||
#endif /* HAVE_XDAMAGE */
|
#endif /* HAVE_XDAMAGE */
|
||||||
|
|
||||||
/* XDBE doesn't seem to provide a way to clear the back buffer without
|
/* XDBE doesn't seem to provide a way to clear the back buffer
|
||||||
* interfering with the front buffer, other than passing XdbeBackground
|
* without interfering with the front buffer, other than passing
|
||||||
* to XdbeSwapBuffers. That means that if we're using XDBE, we need to
|
* XdbeBackground to XdbeSwapBuffers. That means that if we're
|
||||||
* redraw the text even if it wasn't part of the exposed area. OTOH,
|
* using XDBE, we need to redraw the text even if it wasn't part of
|
||||||
* if we're not going to call draw_stuff at all, then no swap happens
|
* the exposed area. OTOH, if we're not going to call draw_stuff at
|
||||||
* and we can safely do nothing. */
|
* all, then no swap happens and we can safely do nothing. */
|
||||||
|
|
||||||
if (!XEmptyRegion(x11_stuff.region)) {
|
if (!XEmptyRegion(x11_stuff.region)) {
|
||||||
#ifdef HAVE_XDBE
|
#ifdef HAVE_XDBE
|
||||||
|
14
src/x11.c
14
src/x11.c
@ -775,3 +775,17 @@ void set_struts(int sidenum)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif /* OWN_WINDOW */
|
#endif /* OWN_WINDOW */
|
||||||
|
|
||||||
|
#ifdef HAVE_XDBE
|
||||||
|
void xdbe_swap_buffers(void)
|
||||||
|
{
|
||||||
|
if (use_xdbe) {
|
||||||
|
XdbeSwapInfo swap;
|
||||||
|
|
||||||
|
swap.swap_window = window.window;
|
||||||
|
swap.swap_action = XdbeBackground;
|
||||||
|
XdbeSwapBuffers(display, &swap, 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif /* HAVE_XDBE */
|
||||||
|
|
||||||
|
@ -94,5 +94,9 @@ long get_x11_color(const char *);
|
|||||||
void get_x11_desktop_info(Display *display, Atom atom);
|
void get_x11_desktop_info(Display *display, Atom atom);
|
||||||
void set_struts(int);
|
void set_struts(int);
|
||||||
|
|
||||||
|
#ifdef HAVE_XDBE
|
||||||
|
void xdbe_swap_buffers(void);
|
||||||
|
#endif /* HAVE_XDBE */
|
||||||
|
|
||||||
#endif /*X11_H_*/
|
#endif /*X11_H_*/
|
||||||
#endif /* X11 */
|
#endif /* X11 */
|
||||||
|
Loading…
Reference in New Issue
Block a user