+static VALUE c_get_protocol (VALUE self, VALUE proto)
+{
+ int s;
+
+ GET_OBJ (self, RbWindow, win);
+
+ s = ecore_x_window_prop_protocol_isset (win->real, FIX2INT (proto));
+
+ return s ? Qtrue : Qfalse;
+}
+
+static VALUE c_sticky_get (VALUE self)
+{
+ int s;
+
+ GET_OBJ (self, RbWindow, win);
+
+ s = ecore_x_window_prop_state_isset (win->real,
+ ECORE_X_WINDOW_STATE_STICKY);
+
+ return s ? Qtrue : Qfalse;
+}
+
+static VALUE c_sticky_set (VALUE self, VALUE val)
+{
+ GET_OBJ (self, RbWindow, win);
+
+ CHECK_BOOL (val);
+
+ ecore_x_window_prop_sticky_set (win->real, val == Qtrue);
+
+ return Qnil;
+}
+
+static VALUE c_borderless_get (VALUE self)
+{
+ int s;
+
+ GET_OBJ (self, RbWindow, win);
+
+ s = ecore_x_window_prop_borderless_get (win->real);
+
+ return s ? Qtrue : Qfalse;
+}
+
+static VALUE c_borderless_set (VALUE self, VALUE val)
+{
+ GET_OBJ (self, RbWindow, win);
+
+ CHECK_BOOL (val);
+
+ ecore_x_window_prop_borderless_set (win->real, val == Qtrue);
+
+ return Qnil;
+}
+
+static VALUE c_cursor_set (VALUE self, VALUE val)
+{
+ GET_OBJ (self, RbWindow, win);
+
+ CHECK_CLASS (val, cCursor);
+ GET_OBJ (val, RbCursor, c);
+
+ ecore_x_window_cursor_set (win->real, c->real);
+ rb_iv_set (self, "@cursor", val);
+
+ return Qnil;
+}
+
+static VALUE c_manage (VALUE self)
+{
+ GET_OBJ (self, RbWindow, win);
+
+ ecore_x_window_manage (win->real);
+
+ return Qnil;
+}
+
+static VALUE c_manage_container (VALUE self)
+{
+ GET_OBJ (self, RbWindow, win);
+
+ ecore_x_window_container_manage (win->real);
+
+ return Qnil;
+}
+
+static VALUE c_manage_client (VALUE self)
+{
+ GET_OBJ (self, RbWindow, win);
+
+ ecore_x_window_client_manage (win->real);
+
+ return Qnil;
+}
+
+static VALUE c_sniff (VALUE self)
+{
+ GET_OBJ (self, RbWindow, win);
+
+ ecore_x_window_sniff (win->real);
+
+ return Qnil;
+}
+
+static VALUE c_sniff_client (VALUE self)
+{
+ GET_OBJ (self, RbWindow, win);
+
+ ecore_x_window_client_sniff (win->real);
+
+ return Qnil;
+}
+