#include "ocm.h" bool ocm_window_owns_xwindow (ocm_window_t *window, Window xwindow) { if (window->xwindow == xwindow) return TRUE; return FALSE; } ocm_window_t * ocm_window_new (ocm_app_t *app, Window xwindow) { ocm_window_t *owindow = ocm_malloc (sizeof *owindow); XWindowAttributes attrs; XGrabServer (app->display); ocm_begin_ignore_errors (app); if (!XGetWindowAttributes (app->display, xwindow, &attrs)) { owindow = NULL; goto out; } owindow->app = app; owindow->xwindow = xwindow; owindow->damage = XDamageCreate ( app->display, owindow->xwindow, XDamageReportNonEmpty); out: ocm_end_ignore_errors (app); XUngrabServer (app->display); return owindow; } void ocm_window_free (ocm_window_t *window) { ocm_free (window); }