diff --git a/lib/modules/Protocols.pmod/X.pmod/Types.pmod b/lib/modules/Protocols.pmod/X.pmod/Types.pmod
index 279bccf6077c4e2080d81942bc92812fedf4ded0..704ebc991bb3481f1c5a1e2c19889f923c8597ca 100644
--- a/lib/modules/Protocols.pmod/X.pmod/Types.pmod
+++ b/lib/modules/Protocols.pmod/X.pmod/Types.pmod
@@ -159,6 +159,21 @@ class Drawable
     object req = FillRectangles_req(gc->id, r);
     display->send_request(req);
   }
+
+  object DrawLine_req(int gc, int coordMode, array(object) points)
+  {
+    object req = Requests.PolyLine();
+    req->drawable = id;
+    req->gc = gc;
+    req->coordMode = coordMode;
+    req->points = points;
+    return req;
+  }
+
+  void DrawLine(object gc, int coordMode, object ... points)
+  {
+    display->send_request(DrawLine_req(gc->id, coordMode, points));
+  }
 }
   
 class Window
@@ -228,6 +243,33 @@ class Window
     return w;
   }
 
+  object ChangeAttributes_req(mapping m)
+  {
+    object req = Requests.ChangeWindowAttributes();
+    req->window = id;
+    req->attributes = m;
+    return req;
+  }
+
+  void ChangeAttributes(mapping m)
+  {
+    display->send_request(ChangeAttributes_req(m));
+  }
+
+  object Configure_req(mapping m)
+  {
+    object req = Requests.ConfigureWindow();
+    req->window = id;
+    req->attributes = m;
+    return req;
+  }
+
+  void Configure(mapping m)
+  {
+    display->send_request(Configure_req(m));
+  }
+
+
   void set_event_callback(string type, function f)
   {
     event_callbacks[type] = f;
diff --git a/lib/modules/Protocols.pmod/X.pmod/_Xlib.pmod b/lib/modules/Protocols.pmod/X.pmod/_Xlib.pmod
index 45fd957b3ec0cb672bc5a9bc2811fd8fee215f35..b21b382af26c6b50ee61a2730f9f49153014d7cc 100644
--- a/lib/modules/Protocols.pmod/X.pmod/_Xlib.pmod
+++ b/lib/modules/Protocols.pmod/X.pmod/_Xlib.pmod
@@ -22,6 +22,17 @@ array(string) window_attributes =
    "Colormap",
    "Cursor" });
 
+array(string) window_configure_attributes =
+({
+  "X",
+  "Y",
+  "Width",
+  "Height",
+  "BorderWidth",
+  "Sibling",
+  "StackMode"
+});
+
 array(string) gc_attributes =
 ({
   "Function",