#include "ev_cpp.h"
-#include "rxvtlib.h"
#include "rxvtutil.h"
#include "callback.h"
XA_NET_WM_NAME,
XA_NET_WM_ICON_NAME,
XA_NET_WM_PING,
+ XA_NET_WM_ICON,
+ XA_NET_WM_USER_TIME,
#endif
#if USE_XIM
XA_WM_LOCALE_NAME,
XA_XEMBED_INFO,
#endif
#if !ENABLE_MINIMAL
- // these are usually allocated by other subsystens, but we do it
+ // these are usually allocated by other subsystems, but we do it
// here to avoid a server roundtrip.
XA_SCREEN_RESOURCES,
XA_XDCCC_LINEAR_RGB_CORRECTION,
int screen;
Window root;
rxvt_term *selection_owner;
+ rxvt_term *clipboard_owner;
Atom xa[NUM_XA];
bool is_local;
#ifdef POINTER_BLANK
}
Atom atom (const char *name);
- void set_selection_owner (rxvt_term *owner);
+ void set_selection_owner (rxvt_term *owner, bool clipboard);
void reg (xevent_watcher *w);
void unreg (xevent_watcher *w);
};
#ifdef USE_XIM
-struct im_watcher : rxvt_watcher, callback<void (void)> {
+struct im_watcher : rxvt_watcher, callback<void (void)>
+{
void start (rxvt_display *display)
{
display->reg (this);
bool operator == (const rxvt_color &b) const { return Pixel (*this) == Pixel (b); }
bool operator != (const rxvt_color &b) const { return Pixel (*this) != Pixel (b); }
+ bool is_opaque () const
+ {
+#if XFT
+ return c.color.alpha == rgba::MAX_CC;
+#else
+ return 1;
+#endif
+ }
+
bool alloc (rxvt_screen *screen, const rgba &color);
void free (rxvt_screen *screen);