/*
 * call-seq:
 *      geometry_hints(screen, x, y)
 *
 * ** WHEN COMPILED AGAINST LIBNOTIFY 0.4.1 OR HIGHER **
 *
 * screen = The Gdk::Screen the notification should appear on
 *
 * x = The X coordinate to point to
 *
 * y = The Y coordinate to point to
 *
 * Sets the geometry hints on the notification
 */
static VALUE
_wrap_notification_set_geometry_hints(VALUE self, VALUE screen, VALUE x, VALUE y)
{
  GdkScreen *sc = GDK_SCREEN(RVAL2GOBJ(screen));
  NotifyNotification *n = NOTIFY_NOTIFICATION(RVAL2GOBJ(self));

  if(sc == NULL)
    rb_raise(rb_eArgError, "REQUIRED: the `screen` field");

#ifdef DEBUG
  if(NOTIFY_IS_NOTIFICATION(n) && GDK_IS_SCREEN(sc))
    rb_warn("set_geometry_hints, ok");
  else
    rb_warn("set_geometry_hints, no ok");
#endif

  notify_notification_set_geometry_hints(n, sc, FIX2INT(x), FIX2INT(y));

  return Qnil;
}