changeset 3232:18ca368e642a

Fixed #303: Updated prefix of subtlext functions (sub -> subext) to avoid clash of global symbols
author unexist
date Tue, 18 Sep 2012 12:37:06 +0200
parents 25fd5355fcb9
children 511228884d98
files src/subtlext/client.c src/subtlext/color.c src/subtlext/geometry.c src/subtlext/gravity.c src/subtlext/icon.c src/subtlext/screen.c src/subtlext/sublet.c src/subtlext/subtle.c src/subtlext/subtlext.c src/subtlext/subtlext.h src/subtlext/tag.c src/subtlext/tray.c src/subtlext/view.c src/subtlext/window.c
diffstat 14 files changed, 934 insertions(+), 934 deletions(-) [+]
line wrap: on
line diff
--- a/src/subtlext/client.c	Thu Jul 19 13:52:09 2012 +0200
+++ b/src/subtlext/client.c	Tue Sep 18 12:37:06 2012 +0200
@@ -23,7 +23,7 @@
   rb_check_frozen(self);
   GET_ATTR(self, "@win", win);
 
-  subSubtlextConnect(NULL); ///< Implicit open connection
+  subextSubtlextConnect(NULL); ///< Implicit open connection
 
   /* Send message */
   data.l[0] = 2; ///< Claim to be a pager
@@ -105,7 +105,7 @@
   GET_ATTR(self, "@win",   win);
   GET_ATTR(self, "@flags", flags);
 
-  subSubtlextConnect(NULL); ///< Implicit open connection
+  subextSubtlextConnect(NULL); ///< Implicit open connection
 
   /* Update flags */
   iflags = FIX2INT(flags);
@@ -138,7 +138,7 @@
     {
       VALUE gravity = Qnil;
 
-      if(RTEST((gravity = subGravitySingFirst(Qnil, value))))
+      if(RTEST((gravity = subextGravitySingFirst(Qnil, value))))
         data.l[1] = FIX2INT(rb_iv_get(gravity, "@id"));
     }
 
@@ -147,7 +147,7 @@
     {
       VALUE view = Qnil;
 
-      if(RTEST((view = subViewSingFirst(Qnil, key))))
+      if(RTEST((view = subextViewSingFirst(Qnil, key))))
         data.l[2] = FIX2INT(rb_iv_get(view, "@id"));
     }
 
@@ -170,32 +170,32 @@
   VALUE parsed = Qnil;
   char buf[50] = { 0 };
 
-  subSubtlextConnect(NULL); ///< Implicit open connection
+  subextSubtlextConnect(NULL); ///< Implicit open connection
 
   /* Check object type */
-  switch(rb_type(parsed = subSubtlextParse(
+  switch(rb_type(parsed = subextSubtlextParse(
       value, buf, sizeof(buf), &flags)))
     {
       case T_SYMBOL:
         if(CHAR2SYM("visible") == parsed)
-          return subClientSingVisible(Qnil);
+          return subextClientSingVisible(Qnil);
         else if(CHAR2SYM("all") == parsed)
-          return subClientSingList(Qnil);
+          return subextClientSingList(Qnil);
         else if(CHAR2SYM("current") == parsed)
-          return subClientSingCurrent(Qnil);
+          return subextClientSingCurrent(Qnil);
         break;
       case T_OBJECT:
         if(rb_obj_is_instance_of(value, rb_const_get(mod, rb_intern("Client"))))
           return parsed;
     }
 
-  return subSubtlextFindWindows("_NET_CLIENT_LIST", "Client",
+  return subextSubtlextFindWindows("_NET_CLIENT_LIST", "Client",
     buf, flags, first);
 } /* }}} */
 
 /* Singleton */
 
-/* subClientSingSelect {{{ */
+/* subextClientSingSelect {{{ */
 /*
  * call-seq: select -> Subtlext::Client or nil
  *
@@ -206,14 +206,14 @@
  */
 
 VALUE
-subClientSingSelect(VALUE self)
+subextClientSingSelect(VALUE self)
 {
-  VALUE win = subSubtleSingSelect(self);
+  VALUE win = subextSubtleSingSelect(self);
 
-  return None != NUM2LONG(win) ? subClientSingFind(self, win) : Qnil;
+  return None != NUM2LONG(win) ? subextClientSingFind(self, win) : Qnil;
 } /* }}} */
 
-/* subClientSingFind {{{ */
+/* subextClientSingFind {{{ */
 /*
  * call-seq: find(value) -> Array
  *           [value]     -> Array
@@ -256,13 +256,13 @@
  */
 
 VALUE
-subClientSingFind(VALUE self,
+subextClientSingFind(VALUE self,
   VALUE value)
 {
   return ClientFind(value, False);
 } /* }}} */
 
-/* subClientSingFirst {{{ */
+/* subextClientSingFirst {{{ */
 /*
  * call-seq: first(value) -> Subtlext::Client or nil
  *
@@ -295,13 +295,13 @@
  */
 
 VALUE
-subClientSingFirst(VALUE self,
+subextClientSingFirst(VALUE self,
   VALUE value)
 {
   return ClientFind(value, True);
 } /* }}} */
 
-/* subClientSingCurrent {{{ */
+/* subextClientSingCurrent {{{ */
 /*
  * call-seq: current -> Subtlext::Client
  *
@@ -312,12 +312,12 @@
  */
 
 VALUE
-subClientSingCurrent(VALUE self)
+subextClientSingCurrent(VALUE self)
 {
   VALUE client = Qnil;
   unsigned long *focus = NULL;
 
-  subSubtlextConnect(NULL); ///< Implicit open connection
+  subextSubtlextConnect(NULL); ///< Implicit open connection
 
   /* Get current client */
   if((focus = (unsigned long *)subSharedPropertyGet(display,
@@ -325,8 +325,8 @@
       XInternAtom(display, "_NET_ACTIVE_WINDOW", False), NULL)))
     {
       /* Update client values */
-      if(RTEST(client = subClientInstantiate(*focus)))
-        subClientUpdate(client);
+      if(RTEST(client = subextClientInstantiate(*focus)))
+        subextClientUpdate(client);
 
       free(focus);
     }
@@ -335,7 +335,7 @@
   return client;
 } /* }}} */
 
-/* subClientSingVisible {{{ */
+/* subextClientSingVisible {{{ */
 /*
  * call-seq: visible -> Array
  *
@@ -349,20 +349,20 @@
  */
 
 VALUE
-subClientSingVisible(VALUE self)
+subextClientSingVisible(VALUE self)
 {
   int i, nclients = 0;
   Window *clients = NULL;
   unsigned long *visible = NULL;
   VALUE meth = Qnil, klass = Qnil, array = Qnil, client = Qnil;
 
-  subSubtlextConnect(NULL); ///< Implicit open connection
+  subextSubtlextConnect(NULL); ///< Implicit open connection
 
   /* Fetch data */
   meth    = rb_intern("new");
   array   = rb_ary_new();
   klass   = rb_const_get(mod, rb_intern("Client"));
-  clients = subSubtlextWindowList("_NET_CLIENT_LIST", &nclients);
+  clients = subextSubtlextWindowList("_NET_CLIENT_LIST", &nclients);
   visible = (unsigned long *)subSharedPropertyGet(display,
     DefaultRootWindow(display), XA_CARDINAL, XInternAtom(display,
     "SUBTLE_VISIBLE_TAGS", False), NULL);
@@ -380,7 +380,7 @@
           if(tags && *tags && *visible & *tags &&
               RTEST(client = rb_funcall(klass, meth, 1, LONG2NUM(clients[i]))))
             {
-              subClientUpdate(client);
+              subextClientUpdate(client);
               rb_ary_push(array, client);
             }
 
@@ -394,7 +394,7 @@
   return array;
 } /* }}} */
 
-/* subClientSingList {{{ */
+/* subextClientSingList {{{ */
 /*
  * call-seq: list -> Array
  *
@@ -409,19 +409,19 @@
  */
 
 VALUE
-subClientSingList(VALUE self)
+subextClientSingList(VALUE self)
 {
   int i, nclients = 0;
   Window *clients = NULL;
   VALUE meth = Qnil, klass = Qnil, array = Qnil, client = Qnil;
 
-  subSubtlextConnect(NULL); ///< Implicit open connection
+  subextSubtlextConnect(NULL); ///< Implicit open connection
 
   /* Fetch data */
   meth    = rb_intern("new");
   array   = rb_ary_new();
   klass   = rb_const_get(mod, rb_intern("Client"));
-  clients = subSubtlextWindowList("_NET_CLIENT_LIST", &nclients);
+  clients = subextSubtlextWindowList("_NET_CLIENT_LIST", &nclients);
 
   /* Check results */
   if(clients)
@@ -431,7 +431,7 @@
           /* Create client */
           if(RTEST(client = rb_funcall(klass, meth, 1, LONG2NUM(clients[i]))))
             {
-              subClientUpdate(client);
+              subextClientUpdate(client);
               rb_ary_push(array, client);
             }
         }
@@ -442,7 +442,7 @@
   return array;
 } /* }}} */
 
-/* subClientSingRecent {{{ */
+/* subextClientSingRecent {{{ */
 /*
  * call-seq: recent -> Array
  *
@@ -453,19 +453,19 @@
  */
 
 VALUE
-subClientSingRecent(VALUE self)
+subextClientSingRecent(VALUE self)
 {
   int i, nclients = 0;
   Window *clients = NULL;
   VALUE meth = Qnil, klass = Qnil, array = Qnil, client = Qnil;
 
-  subSubtlextConnect(NULL); ///< Implicit open connection
+  subextSubtlextConnect(NULL); ///< Implicit open connection
 
   /* Fetch data */
   meth    = rb_intern("new");
   array   = rb_ary_new();
   klass   = rb_const_get(mod, rb_intern("Client"));
-  clients = subSubtlextWindowList("_NET_ACTIVE_WINDOW", &nclients);
+  clients = subextSubtlextWindowList("_NET_ACTIVE_WINDOW", &nclients);
 
   /* Check results */
   if(clients)
@@ -475,7 +475,7 @@
           /* Create client */
           if(!NIL_P(client = rb_funcall(klass, meth, 1, LONG2NUM(clients[i]))))
             {
-              subClientUpdate(client);
+              subextClientUpdate(client);
               rb_ary_push(array, client);
             }
         }
@@ -488,9 +488,9 @@
 
 /* Helper */
 
-/* subClientInstantiate {{{ */
+/* subextClientInstantiate {{{ */
 VALUE
-subClientInstantiate(Window win)
+subextClientInstantiate(Window win)
 {
   VALUE klass = Qnil, client = Qnil;
 
@@ -503,7 +503,7 @@
 
 /* Class */
 
-/* subClientInit {{{ */
+/* subextClientInit {{{ */
 /*
  * call-seq: new(win) -> Subtlext::Client
  *
@@ -516,7 +516,7 @@
  */
 
 VALUE
-subClientInit(VALUE self,
+subextClientInit(VALUE self,
   VALUE win)
 {
   if(!FIXNUM_P(win))
@@ -535,12 +535,12 @@
   rb_iv_set(self, "@flags",    Qnil);
   rb_iv_set(self, "@tags",     Qnil);
 
-  subSubtlextConnect(NULL); ///< Implicit open connection
+  subextSubtlextConnect(NULL); ///< Implicit open connection
 
   return self;
 } /* }}} */
 
-/* subClientUpdate {{{ */
+/* subextClientUpdate {{{ */
 /*
  * call-seq: update -> Subtlext::Client
  *
@@ -551,12 +551,12 @@
  */
 
 VALUE
-subClientUpdate(VALUE self)
+subextClientUpdate(VALUE self)
 {
   Window win = None;
 
   rb_check_frozen(self);
-  subSubtlextConnect(NULL); ///< Implicit open connection
+  subextSubtlextConnect(NULL); ///< Implicit open connection
 
   /* Check values */
   if(0 <= (win = NUM2LONG(rb_iv_get(self, "@win"))))
@@ -600,7 +600,7 @@
   return self;
 } /* }}} */
 
-/* subClientViewList {{{ */
+/* subextClientViewList {{{ */
 /*
  * call-seq: views -> Array
  *
@@ -614,7 +614,7 @@
  */
 
 VALUE
-subClientViewList(VALUE self)
+subextClientViewList(VALUE self)
 {
   int i, nnames = 0;
   char **names = NULL;
@@ -625,7 +625,7 @@
   rb_check_frozen(self);
   GET_ATTR(self, "@win", win);
 
-  subSubtlextConnect(NULL); ///< Implicit open connection
+  subextSubtlextConnect(NULL); ///< Implicit open connection
 
   /* Fetch data */
   method  = rb_intern("new");
@@ -668,7 +668,7 @@
   return array;
 } /* }}} */
 
-/* subClientFlagsAskFull {{{ */
+/* subextClientFlagsAskFull {{{ */
 /*
  * call-seq: is_full? -> true or false
  *
@@ -682,12 +682,12 @@
  */
 
 VALUE
-subClientFlagsAskFull(VALUE self)
+subextClientFlagsAskFull(VALUE self)
 {
   return ClientFlagsGet(self, SUB_EWMH_FULL);
 } /* }}} */
 
-/* subClientFlagsAskFloat {{{ */
+/* subextClientFlagsAskFloat {{{ */
 /*
  * call-seq: is_float? -> true or false
  *
@@ -701,12 +701,12 @@
  */
 
 VALUE
-subClientFlagsAskFloat(VALUE self)
+subextClientFlagsAskFloat(VALUE self)
 {
   return ClientFlagsGet(self, SUB_EWMH_FLOAT);
 } /* }}} */
 
-/* subClientFlagsAskStick {{{ */
+/* subextClientFlagsAskStick {{{ */
 /*
  * call-seq: is_stick? -> true or false
  *
@@ -720,12 +720,12 @@
  */
 
 VALUE
-subClientFlagsAskStick(VALUE self)
+subextClientFlagsAskStick(VALUE self)
 {
   return ClientFlagsGet(self, SUB_EWMH_STICK);
 } /* }}} */
 
-/* subClientFlagsAskResize {{{ */
+/* subextClientFlagsAskResize {{{ */
 /*
  * call-seq: is_resize? -> true or false
  *
@@ -739,12 +739,12 @@
  */
 
 VALUE
-subClientFlagsAskResize(VALUE self)
+subextClientFlagsAskResize(VALUE self)
 {
   return ClientFlagsGet(self, SUB_EWMH_RESIZE);
 } /* }}} */
 
-/* subClientFlagsAskUrgent {{{ */
+/* subextClientFlagsAskUrgent {{{ */
 /*
  * call-seq: is_urgent? -> true or false
  *
@@ -758,12 +758,12 @@
  */
 
 VALUE
-subClientFlagsAskUrgent(VALUE self)
+subextClientFlagsAskUrgent(VALUE self)
 {
   return ClientFlagsGet(self, SUB_EWMH_URGENT);
 } /* }}} */
 
-/* subClientFlagsAskZaphod {{{ */
+/* subextClientFlagsAskZaphod {{{ */
 /*
  * call-seq: is_zaphod? -> true or false
  *
@@ -777,12 +777,12 @@
  */
 
 VALUE
-subClientFlagsAskZaphod(VALUE self)
+subextClientFlagsAskZaphod(VALUE self)
 {
   return ClientFlagsGet(self, SUB_EWMH_ZAPHOD);
 } /* }}} */
 
-/* subClientFlagsAskFixed {{{ */
+/* subextClientFlagsAskFixed {{{ */
 /*
  * call-seq: is_fixed? -> true or false
  *
@@ -796,12 +796,12 @@
  */
 
 VALUE
-subClientFlagsAskFixed(VALUE self)
+subextClientFlagsAskFixed(VALUE self)
 {
   return ClientFlagsGet(self, SUB_EWMH_FIXED);
 } /* }}} */
 
-/* subClientFlagsAskBorderless {{{ */
+/* subextClientFlagsAskBorderless {{{ */
 /*
  * call-seq: is_borderless? -> true or false
  *
@@ -815,12 +815,12 @@
  */
 
 VALUE
-subClientFlagsAskBorderless(VALUE self)
+subextClientFlagsAskBorderless(VALUE self)
 {
   return ClientFlagsGet(self, SUB_EWMH_BORDERLESS);
 } /* }}} */
 
-/* subClientFlagsToggleFull {{{ */
+/* subextClientFlagsToggleFull {{{ */
 /*
  * call-seq: toggle_full -> Subtlext::Client
  *
@@ -831,12 +831,12 @@
  */
 
 VALUE
-subClientFlagsToggleFull(VALUE self)
+subextClientFlagsToggleFull(VALUE self)
 {
   return ClientFlagsToggle(self, "_NET_WM_STATE_FULLSCREEN", SUB_EWMH_FULL);
 } /* }}} */
 
-/* subClientFlagsToggleFloat {{{ */
+/* subextClientFlagsToggleFloat {{{ */
 /*
  * call-seq: toggle_float -> Subtlext::Client
  *
@@ -847,12 +847,12 @@
  */
 
 VALUE
-subClientFlagsToggleFloat(VALUE self)
+subextClientFlagsToggleFloat(VALUE self)
 {
   return ClientFlagsToggle(self, "_NET_WM_STATE_ABOVE", SUB_EWMH_FLOAT);
 } /* }}} */
 
-/* subClientFlagsToggleStick {{{ */
+/* subextClientFlagsToggleStick {{{ */
 /*
  * call-seq: toggle_stick -> Subtlext::Client
  *
@@ -863,12 +863,12 @@
  */
 
 VALUE
-subClientFlagsToggleStick(VALUE self)
+subextClientFlagsToggleStick(VALUE self)
 {
   return ClientFlagsToggle(self, "_NET_WM_STATE_STICKY", SUB_EWMH_STICK);
 } /* }}} */
 
-/* subClientFlagsToggleResize {{{ */
+/* subextClientFlagsToggleResize {{{ */
 /*
  * call-seq: toggle_stick -> Subtlext::Client
  *
@@ -879,12 +879,12 @@
  */
 
 VALUE
-subClientFlagsToggleResize(VALUE self)
+subextClientFlagsToggleResize(VALUE self)
 {
   return ClientFlagsSet(self, SUB_EWMH_RESIZE, True);
 } /* }}} */
 
-/* subClientFlagsToggleUrgent {{{ */
+/* subextClientFlagsToggleUrgent {{{ */
 /*
  * call-seq: toggle_urgent -> Subtlext::Client
  *
@@ -895,12 +895,12 @@
  */
 
 VALUE
-subClientFlagsToggleUrgent(VALUE self)
+subextClientFlagsToggleUrgent(VALUE self)
 {
   return ClientFlagsSet(self, SUB_EWMH_URGENT, True);
 } /* }}} */
 
-/* subClientFlagsToggleZaphod {{{ */
+/* subextClientFlagsToggleZaphod {{{ */
 /*
  * call-seq: toggle_zaphod -> Subtlext::Client
  *
@@ -911,12 +911,12 @@
  */
 
 VALUE
-subClientFlagsToggleZaphod(VALUE self)
+subextClientFlagsToggleZaphod(VALUE self)
 {
   return ClientFlagsSet(self, SUB_EWMH_ZAPHOD, True);
 } /* }}} */
 
-/* subClientFlagsToggleFixed {{{ */
+/* subextClientFlagsToggleFixed {{{ */
 /*
  * call-seq: toggle_fixed -> Subtlext::Client
  *
@@ -927,12 +927,12 @@
  */
 
 VALUE
-subClientFlagsToggleFixed(VALUE self)
+subextClientFlagsToggleFixed(VALUE self)
 {
   return ClientFlagsSet(self, SUB_EWMH_FIXED, True);
 } /* }}} */
 
-/* subClientFlagsToggleBorderless {{{ */
+/* subextClientFlagsToggleBorderless {{{ */
 /*
  * call-seq: toggle_borderless -> Subtlext::Client
  *
@@ -943,12 +943,12 @@
  */
 
 VALUE
-subClientFlagsToggleBorderless(VALUE self)
+subextClientFlagsToggleBorderless(VALUE self)
 {
   return ClientFlagsSet(self, SUB_EWMH_BORDERLESS, True);
 } /* }}} */
 
-/* subClientFlagsWriter {{{ */
+/* subextClientFlagsWriter {{{ */
 /*
  * call-seq: flags=(array) -> Subtlext::Client
  *
@@ -969,7 +969,7 @@
  */
 
 VALUE
-subClientFlagsWriter(VALUE self,
+subextClientFlagsWriter(VALUE self,
   VALUE value)
 {
   /* Check object type */
@@ -997,7 +997,7 @@
   return self;
 } /* }}} */
 
-/* subClientRestackRaise {{{ */
+/* subextClientRestackRaise {{{ */
 /*
  * call-seq: raise -> Subtlext::Client
  *
@@ -1008,12 +1008,12 @@
  */
 
 VALUE
-subClientRestackRaise(VALUE self)
+subextClientRestackRaise(VALUE self)
 {
   return ClientRestack(self, Above);
 } /* }}} */
 
-/* subClientRestackLower {{{ */
+/* subextClientRestackLower {{{ */
 /*
  * call-seq: lower -> Subtlext::Client
  *
@@ -1024,12 +1024,12 @@
  */
 
 VALUE
-subClientRestackLower(VALUE self)
+subextClientRestackLower(VALUE self)
 {
   return ClientRestack(self, Below);
 } /* }}} */
 
-/* subClientAskAlive {{{ */
+/* subextClientAskAlive {{{ */
 /*
  * call-seq: alive? -> true or false
  *
@@ -1043,7 +1043,7 @@
  */
 
 VALUE
-subClientAskAlive(VALUE self)
+subextClientAskAlive(VALUE self)
 {
   VALUE ret = Qfalse, win = Qnil;
   XWindowAttributes attrs;
@@ -1052,7 +1052,7 @@
   rb_check_frozen(self);
   GET_ATTR(self, "@win", win);
 
-  subSubtlextConnect(NULL); ///< Implicit open connection
+  subextSubtlextConnect(NULL); ///< Implicit open connection
 
   /* Fetch client attributes */
   if(!XGetWindowAttributes(display, NUM2LONG(win), &attrs))
@@ -1062,7 +1062,7 @@
   return ret;
 } /* }}} */
 
-/* subClientGravityReader {{{ */
+/* subextClientGravityReader {{{ */
 /*
  * call-seq: gravity -> Subtlext::Gravity
  *
@@ -1073,7 +1073,7 @@
  */
 
 VALUE
-subClientGravityReader(VALUE self)
+subextClientGravityReader(VALUE self)
 {
   VALUE win = Qnil, gravity = Qnil;
 
@@ -1081,7 +1081,7 @@
   rb_check_frozen(self);
   GET_ATTR(self, "@win", win);
 
-  subSubtlextConnect(NULL); ///< Implicit open connection
+  subextSubtlextConnect(NULL); ///< Implicit open connection
 
   /* Load on demand */
   if(NIL_P((gravity = rb_iv_get(self, "@gravity"))))
@@ -1095,9 +1095,9 @@
         {
           /* Create gravity */
           snprintf(buf, sizeof(buf), "%d", *id);
-          gravity = subGravityInstantiate(buf);
+          gravity = subextGravityInstantiate(buf);
 
-          subGravitySave(gravity);
+          subextGravitySave(gravity);
 
           rb_iv_set(self, "@gravity", gravity);
 
@@ -1108,7 +1108,7 @@
   return gravity;
 } /* }}} */
 
-/* subClientGravityWriter {{{ */
+/* subextClientGravityWriter {{{ */
 /*
  * call-seq: gravity=(fixnum) -> Fixnum
  *           gravity=(symbol) -> Symbol
@@ -1133,13 +1133,13 @@
  */
 
 VALUE
-subClientGravityWriter(VALUE self,
+subextClientGravityWriter(VALUE self,
   VALUE value)
 {
   /* Check ruby object */
   rb_check_frozen(self);
 
-  subSubtlextConnect(NULL); ///< Implicit open connection
+  subextSubtlextConnect(NULL); ///< Implicit open connection
 
   /* Check value type */
   switch(rb_type(value))
@@ -1165,7 +1165,7 @@
   return value;
 } /* }}} */
 
-/* subClientGeometryReader {{{ */
+/* subextClientGeometryReader {{{ */
 /*
  * call-seq: geometry -> Subtlext::Geometry
  *
@@ -1176,7 +1176,7 @@
  */
 
 VALUE
-subClientGeometryReader(VALUE self)
+subextClientGeometryReader(VALUE self)
 {
   VALUE win = Qnil, geom = Qnil;
 
@@ -1184,7 +1184,7 @@
   rb_check_frozen(self);
   GET_ATTR(self, "@win", win);
 
-  subSubtlextConnect(NULL); ///< Implicit open connection
+  subextSubtlextConnect(NULL); ///< Implicit open connection
 
   /* Load on demand */
   if(NIL_P((geom = rb_iv_get(self, "@geometry"))))
@@ -1193,7 +1193,7 @@
 
       subSharedPropertyGeometry(display, NUM2LONG(win), &geometry);
 
-      geom = subGeometryInstantiate(geometry.x, geometry.y,
+      geom = subextGeometryInstantiate(geometry.x, geometry.y,
         geometry.width, geometry.height);
 
       rb_iv_set(self, "@geometry", geom);
@@ -1202,7 +1202,7 @@
   return geom;
 } /* }}} */
 
-/* subClientGeometryWriter {{{ */
+/* subextClientGeometryWriter {{{ */
 /*
  * call-seq: geometry=(x, y, width, height) -> Fixnum
  *           geometry=(array)               -> Array
@@ -1229,7 +1229,7 @@
  */
 
 VALUE
-subClientGeometryWriter(int argc,
+subextClientGeometryWriter(int argc,
   VALUE *argv,
   VALUE self)
 {
@@ -1237,7 +1237,7 @@
 
   /* Check ruby object */
   rb_check_frozen(self);
-  subSubtlextConnect(NULL); ///< Implicit open connection
+  subextSubtlextConnect(NULL); ///< Implicit open connection
 
   /* Delegate arguments */
   klass = rb_const_get(mod, rb_intern("Geometry"));
@@ -1265,7 +1265,7 @@
   return geom;
 } /* }}} */
 
-/* subClientScreenReader {{{ */
+/* subextClientScreenReader {{{ */
 /*
  * call-seq: screen -> Subtlext::Screen
  *
@@ -1276,7 +1276,7 @@
  */
 
 VALUE
-subClientScreenReader(VALUE self)
+subextClientScreenReader(VALUE self)
 {
   VALUE screen = Qnil, win = Qnil;
   int *id = NULL;
@@ -1289,7 +1289,7 @@
   if((id = (int *)subSharedPropertyGet(display, NUM2LONG(win), XA_CARDINAL,
       XInternAtom(display, "SUBTLE_CLIENT_SCREEN", False), NULL)))
     {
-      screen = subScreenSingFind(self, INT2FIX(*id));
+      screen = subextScreenSingFind(self, INT2FIX(*id));
 
       free(id);
     }
@@ -1297,7 +1297,7 @@
   return screen;
 } /* }}} */
 
-/* subClientToString {{{ */
+/* subextClientToString {{{ */
 /*
  * call-seq: to_str -> String
  *
@@ -1308,7 +1308,7 @@
  */
 
 VALUE
-subClientToString(VALUE self)
+subextClientToString(VALUE self)
 {
   VALUE name = Qnil;
 
@@ -1318,7 +1318,7 @@
   return name;
 } /* }}} */
 
-/* subClientKill {{{ */
+/* subextClientKill {{{ */
 /*
  * call-seq: kill -> nil
  *
@@ -1329,7 +1329,7 @@
  */
 
 VALUE
-subClientKill(VALUE self)
+subextClientKill(VALUE self)
 {
   VALUE win = Qnil;
   SubMessageData data = { { 0, 0, 0, 0, 0 } };
@@ -1338,7 +1338,7 @@
   rb_check_frozen(self);
   GET_ATTR(self, "@win", win);
 
-  subSubtlextConnect(NULL); ///< Implicit open connection
+  subextSubtlextConnect(NULL); ///< Implicit open connection
 
   /* Send message */
   data.l[0] = CurrentTime;
--- a/src/subtlext/color.c	Thu Jul 19 13:52:09 2012 +0200
+++ b/src/subtlext/color.c	Tue Sep 18 12:37:06 2012 +0200
@@ -69,9 +69,9 @@
 
 /* Helper */
 
-/* subColorPixel {{{ */
+/* subextColorPixel {{{ */
 unsigned long
-subColorPixel(VALUE red,
+subextColorPixel(VALUE red,
   VALUE green,
   VALUE blue,
   XColor *xcolor)
@@ -153,9 +153,9 @@
   return xcol.pixel;
 } /* }}} */
 
-/* subColorInstantiate {{{ */
+/* subextColorInstantiate {{{ */
 VALUE
-subColorInstantiate(unsigned long pixel)
+subextColorInstantiate(unsigned long pixel)
 {
   VALUE klass = Qnil, color = Qnil;
 
@@ -168,7 +168,7 @@
 
 /* Class */
 
-/* subColorInit {{{ */
+/* subextColorInit {{{ */
 /*
  * call-seq: new(red, green, blue) -> Subtlext::Color
  *           new(string)           -> Subtlext::Color
@@ -211,7 +211,7 @@
  */
 
 VALUE
-subColorInit(int argc,
+subextColorInit(int argc,
   VALUE *argv,
   VALUE self)
 {
@@ -220,10 +220,10 @@
 
   rb_scan_args(argc, argv, "12", &data[0], &data[1], &data[2]);
 
-  subSubtlextConnect(NULL); ///< Implicit open connection
+  subextSubtlextConnect(NULL); ///< Implicit open connection
 
   /* Get color values */
-  subColorPixel(data[0], data[1], data[2], &xcolor);
+  subextColorPixel(data[0], data[1], data[2], &xcolor);
 
   /* Set values */
   rb_iv_set(self, "@red",   INT2FIX(xcolor.red));
@@ -234,7 +234,7 @@
   return self;
 } /* }}} */
 
-/* subColorToHex {{{ */
+/* subextColorToHex {{{ */
 /*
  * call-seq: to_hex -> String
  *
@@ -245,7 +245,7 @@
  */
 
 VALUE
-subColorToHex(VALUE self)
+subextColorToHex(VALUE self)
 {
   char buf[8] = { 0 };
   VALUE red = Qnil, green = Qnil, blue = Qnil;
@@ -261,7 +261,7 @@
   return rb_str_new2(buf);
 } /* }}} */
 
-/* subColorToArray {{{ */
+/* subextColorToArray {{{ */
 /*
  * call-seq: to_a -> Array
  *
@@ -273,7 +273,7 @@
  */
 
 VALUE
-subColorToArray(VALUE self)
+subextColorToArray(VALUE self)
 {
   VALUE ary = Qnil, red = Qnil, green = Qnil, blue = Qnil;
 
@@ -293,7 +293,7 @@
   return ary;
 } /* }}} */
 
-/* subColorToHash {{{ */
+/* subextColorToHash {{{ */
 /*
  * call-seq: to_hash -> Hash
  *
@@ -305,7 +305,7 @@
  */
 
 VALUE
-subColorToHash(VALUE self)
+subextColorToHash(VALUE self)
 {
   VALUE klass = Qnil, hash = Qnil, red = Qnil, green = Qnil, blue = Qnil;
 
@@ -326,7 +326,7 @@
   return hash;
 } /* }}} */
 
-/* subColorToString {{{ */
+/* subextColorToString {{{ */
 /*
  * call-seq: to_str -> String
  *
@@ -337,7 +337,7 @@
  */
 
 VALUE
-subColorToString(VALUE self)
+subextColorToString(VALUE self)
 {
   char buf[20] = { 0 };
   VALUE pixel = Qnil;
@@ -351,7 +351,7 @@
   return rb_str_new2(buf);
 } /* }}} */
 
-/* subColorOperatorPlus {{{ */
+/* subextColorOperatorPlus {{{ */
 /*
  * call-seq: +(string) -> String
  *
@@ -362,13 +362,13 @@
  */
 
 VALUE
-subColorOperatorPlus(VALUE self,
+subextColorOperatorPlus(VALUE self,
   VALUE value)
 {
-  return subSubtlextConcat(subColorToString(self), value);
+  return subextSubtlextConcat(subextColorToString(self), value);
 } /* }}} */
 
-/* subColorEqual {{{ */
+/* subextColorEqual {{{ */
 /*
  * call-seq: ==(other) -> True or False
  *
@@ -379,13 +379,13 @@
  */
 
 VALUE
-subColorEqual(VALUE self,
+subextColorEqual(VALUE self,
   VALUE other)
 {
   return ColorEqual(self, other, False);
 } /* }}} */
 
-/* subColorEqualTyped {{{ */
+/* subextColorEqualTyped {{{ */
 /*
  * call-seq: eql?(other) -> True or False
  *
@@ -396,7 +396,7 @@
  */
 
 VALUE
-subColorEqualTyped(VALUE self,
+subextColorEqualTyped(VALUE self,
   VALUE other)
 {
   return ColorEqual(self, other, True);
--- a/src/subtlext/geometry.c	Thu Jul 19 13:52:09 2012 +0200
+++ b/src/subtlext/geometry.c	Tue Sep 18 12:37:06 2012 +0200
@@ -24,8 +24,8 @@
       XRectangle r1 = { 0 }, r2 = { 0 };
 
       /* Get rectangles */
-      subGeometryToRect(self,  &r1);
-      subGeometryToRect(other, &r2);
+      subextGeometryToRect(self,  &r1);
+      subextGeometryToRect(other, &r2);
 
       ret = (r1.x == r2.x && r1.y == r2.y &&
         r1.width == r2.width && r1.height == r2.height);
@@ -36,9 +36,9 @@
 
 /* Helper */
 
-/* subGeometryInstantiate {{{ */
+/* subextGeometryInstantiate {{{ */
 VALUE
-subGeometryInstantiate(int x,
+subextGeometryInstantiate(int x,
   int y,
   int width,
   int height)
@@ -53,9 +53,9 @@
   return geometry;
 } /* }}} */
 
-/* subGeometryToRect {{{ */
+/* subextGeometryToRect {{{ */
 void
-subGeometryToRect(VALUE self,
+subextGeometryToRect(VALUE self,
   XRectangle *r)
 {
   /* Set values */
@@ -67,7 +67,7 @@
 
 /* Class */
 
-/* subGeometryInit {{{ */
+/* subextGeometryInit {{{ */
 /*
  * call-seq: new(x, y, width, height) -> Subtlext::Geometry
  *           new(array)               -> Subtlext::Geometry
@@ -105,7 +105,7 @@
  */
 
 VALUE
-subGeometryInit(int argc,
+subextGeometryInit(int argc,
   VALUE *argv,
   VALUE self)
 {
@@ -182,7 +182,7 @@
   return self;
 } /* }}} */
 
-/* subGeometryToArray {{{ */
+/* subextGeometryToArray {{{ */
 /*
  * call-seq: to_a -> Array
  *
@@ -194,7 +194,7 @@
  */
 
 VALUE
-subGeometryToArray(VALUE self)
+subextGeometryToArray(VALUE self)
 {
   VALUE ary = Qnil, x = Qnil, y = Qnil, width = Qnil, height = Qnil;
 
@@ -216,7 +216,7 @@
   return ary;
 } /* }}} */
 
-/* subGeometryToHash {{{ */
+/* subextGeometryToHash {{{ */
 /*
  * call-seq: to_hash -> Hash
  *
@@ -228,7 +228,7 @@
  */
 
 VALUE
-subGeometryToHash(VALUE self)
+subextGeometryToHash(VALUE self)
 {
   VALUE klass = Qnil, hash = Qnil;
   VALUE x = Qnil, y = Qnil, width = Qnil, height = Qnil;
@@ -252,7 +252,7 @@
   return hash;
 } /* }}} */
 
-/* subGeometryToString {{{ */
+/* subextGeometryToString {{{ */
 /*
  * call-seq: to_str -> String
  *
@@ -263,7 +263,7 @@
  */
 
 VALUE
-subGeometryToString(VALUE self)
+subextGeometryToString(VALUE self)
 {
   char buf[256] = { 0 };
   VALUE x = Qnil, y = Qnil, width = Qnil, height = Qnil;
@@ -280,7 +280,7 @@
   return rb_str_new2(buf);
 } /* }}} */
 
-/* subGeometryEqual {{{ */
+/* subextGeometryEqual {{{ */
 /*
  * call-seq: ==(other) -> True or False
  *
@@ -291,13 +291,13 @@
  */
 
 VALUE
-subGeometryEqual(VALUE self,
+subextGeometryEqual(VALUE self,
   VALUE other)
 {
   return GeometryEqual(self, other);
 } /* }}} */
 
-/* subGeometryEqualTyped {{{ */
+/* subextGeometryEqualTyped {{{ */
 /*
  * call-seq: eql?(other) -> True or False
  *
@@ -308,7 +308,7 @@
  */
 
 VALUE
-subGeometryEqualTyped(VALUE self,
+subextGeometryEqualTyped(VALUE self,
   VALUE other)
 {
   return GeometryEqual(self, other);
--- a/src/subtlext/gravity.c	Thu Jul 19 13:52:09 2012 +0200
+++ b/src/subtlext/gravity.c	Tue Sep 18 12:37:06 2012 +0200
@@ -18,7 +18,7 @@
 {
   VALUE geometry = rb_iv_get(self, "@geometry");
 
-  subGeometryToRect(geometry, r); ///< Get values
+  subextGeometryToRect(geometry, r); ///< Get values
 } /* }}} */
 
 /* GravityFindId {{{ */
@@ -78,15 +78,15 @@
   VALUE parsed = Qnil;
   char buf[50] = { 0 };
 
-  subSubtlextConnect(NULL); ///< Implicit open connection
+  subextSubtlextConnect(NULL); ///< Implicit open connection
 
   /* Check object type */
-  switch(rb_type(parsed = subSubtlextParse(
+  switch(rb_type(parsed = subextSubtlextParse(
       value, buf, sizeof(buf), &flags)))
     {
       case T_SYMBOL:
         if(CHAR2SYM("all") == parsed)
-          return subGravitySingList(Qnil);
+          return subextGravitySingList(Qnil);
         break;
       case T_OBJECT:
         if(rb_obj_is_instance_of(value, rb_const_get(mod,
@@ -94,13 +94,13 @@
           return parsed;
     }
 
-  return subSubtlextFindObjectsGeometry("SUBTLE_GRAVITY_LIST",
+  return subextSubtlextFindObjectsGeometry("SUBTLE_GRAVITY_LIST",
     "Gravity", buf, flags, first);
 } /* }}} */
 
 /* Singleton */
 
-/* subGravitySingFind {{{ */
+/* subextGravitySingFind {{{ */
 /*
  * call-seq: find(value) -> Array
  *           [value]     -> Array
@@ -131,13 +131,13 @@
  */
 
 VALUE
-subGravitySingFind(VALUE self,
+subextGravitySingFind(VALUE self,
   VALUE value)
 {
   return GravityFind(value, False);
 } /* }}} */
 
-/* subGravitySingFirst {{{ */
+/* subextGravitySingFirst {{{ */
 /*
  * call-seq: first(value) -> Subtlext::Gravity or nil
  *
@@ -157,13 +157,13 @@
  */
 
 VALUE
-subGravitySingFirst(VALUE self,
+subextGravitySingFirst(VALUE self,
   VALUE value)
 {
   return GravityFind(value, True);
 } /* }}} */
 
-/* subGravitySingList {{{ */
+/* subextGravitySingList {{{ */
 /*
  * call-seq: list -> Array
  *
@@ -178,17 +178,17 @@
  */
 
 VALUE
-subGravitySingList(VALUE self)
+subextGravitySingList(VALUE self)
 {
-  return subSubtlextFindObjectsGeometry("SUBTLE_GRAVITY_LIST",
+  return subextSubtlextFindObjectsGeometry("SUBTLE_GRAVITY_LIST",
     "Gravity", NULL, 0, False);
 } /* }}} */
 
 /* Helper */
 
-/* subGravityInstantiate {{{ */
+/* subextGravityInstantiate {{{ */
 VALUE
-subGravityInstantiate(char *name)
+subextGravityInstantiate(char *name)
 {
   VALUE klass = Qnil, gravity = Qnil;
 
@@ -201,7 +201,7 @@
 
 /* Class */
 
-/* subGravityInit {{{ */
+/* subextGravityInit {{{ */
 /*
  * call-seq: new(name, x, y, width, height) -> Subtlext::Gravity
  *           new(name, array)               -> Subtlext::Gravity
@@ -219,7 +219,7 @@
  */
 
 VALUE
-subGravityInit(int argc,
+subextGravityInit(int argc,
   VALUE *argv,
   VALUE self)
 {
@@ -246,12 +246,12 @@
   rb_iv_set(self, "@name",     data[0]);
   rb_iv_set(self, "@geometry", geom);
 
-  subSubtlextConnect(NULL); ///< Implicit open connection
+  subextSubtlextConnect(NULL); ///< Implicit open connection
 
   return self;
 } /* }}} */
 
-/* subGravitySave {{{ */
+/* subextGravitySave {{{ */
 /*
  * call-seq: save -> Subtlext::Gravity
  *
@@ -262,7 +262,7 @@
  */
 
 VALUE
-subGravitySave(VALUE self)
+subextGravitySave(VALUE self)
 {
   int id = -1;
   XRectangle geom = { 0 };
@@ -282,7 +282,7 @@
       if(NIL_P(geometry = rb_iv_get(self, "@geometry")))
         rb_raise(rb_eStandardError, "No geometry given");
 
-      subGeometryToRect(geometry, &geom); ///< Get values
+      subextGeometryToRect(geometry, &geom); ///< Get values
 
       /* Create new gravity */
       snprintf(data.b, sizeof(data.b), "%hdx%hd+%hd+%hd#%s",
@@ -296,7 +296,7 @@
     {
       VALUE geometry = Qnil;
 
-      geometry = subGeometryInstantiate(geom.x, geom.y,
+      geometry = subextGeometryInstantiate(geom.x, geom.y,
         geom.width, geom.height);
 
       rb_iv_set(self, "@name",    rb_str_new2(name));
@@ -325,7 +325,7 @@
   return self;
 } /* }}} */
 
-/* subGravityClients {{{ */
+/* subextGravityClients {{{ */
 /*
  * call-seq: clients -> Array
  *
@@ -339,7 +339,7 @@
  */
 
 VALUE
-subGravityClients(VALUE self)
+subextGravityClients(VALUE self)
 {
   int i, nclients = 0;
   Window *clients = NULL;
@@ -349,13 +349,13 @@
   rb_check_frozen(self);
   GET_ATTR(self, "@id", id);
 
-  subSubtlextConnect(NULL); ///< Implicit open connection
+  subextSubtlextConnect(NULL); ///< Implicit open connection
 
   /* Fetch data */
   klass   = rb_const_get(mod, rb_intern("Client"));
   meth    = rb_intern("new");
   array   = rb_ary_new();
-  clients = subSubtlextWindowList("_NET_CLIENT_LIST", &nclients);
+  clients = subextSubtlextWindowList("_NET_CLIENT_LIST", &nclients);
 
   /* Check results */
   if(clients)
@@ -375,7 +375,7 @@
             {
               rb_iv_set(c, "@win", LONG2NUM(clients[i]));
 
-              subClientUpdate(c);
+              subextClientUpdate(c);
 
               rb_ary_push(array, c);
             }
@@ -389,7 +389,7 @@
   return array;
 } /* }}} */
 
-/* subGravityGeometryFor {{{ */
+/* subextGravityGeometryFor {{{ */
 /*
  * call-seq: geometry_for(screen) -> Subtlext::Geometry
  *
@@ -400,7 +400,7 @@
  */
 
 VALUE
-subGravityGeometryFor(VALUE self,
+subextGravityGeometryFor(VALUE self,
   VALUE value)
 {
   VALUE geom = Qnil;
@@ -421,7 +421,7 @@
       real.y      = geom_screen.y +
         (geom_screen.height - real.height) * geom_grav.y / 100;
 
-      geom = subGeometryInstantiate(real.x, real.y, real.width, real.height);
+      geom = subextGeometryInstantiate(real.x, real.y, real.width, real.height);
     }
   else rb_raise(rb_eArgError, "Unexpected value-type `%s'",
     rb_obj_classname(value));
@@ -429,7 +429,7 @@
   return geom;
 } /* }}} */
 
-/* subGravityGeometryReader {{{ */
+/* subextGravityGeometryReader {{{ */
 /*
  * call-seq: geometry -> Subtlext::Geometry
  *
@@ -440,7 +440,7 @@
  */
 
 VALUE
-subGravityGeometryReader(VALUE self)
+subextGravityGeometryReader(VALUE self)
 {
   VALUE geometry = Qnil, name = Qnil;
 
@@ -455,7 +455,7 @@
 
       GravityFindId(RSTRING_PTR(name), NULL, &geom);
 
-      geometry = subGeometryInstantiate(geom.x, geom.y,
+      geometry = subextGeometryInstantiate(geom.x, geom.y,
         geom.width, geom.height);
       rb_iv_set(self, "@geometry", geometry);
     }
@@ -463,7 +463,7 @@
   return geometry;
 } /* }}} */
 
-/* subGravityGeometryWriter {{{ */
+/* subextGravityGeometryWriter {{{ */
 /*
  * call-seq: geometry=(x, y, width, height) -> Fixnum
  *           geometry=(array)               -> Array
@@ -490,7 +490,7 @@
  */
 
 VALUE
-subGravityGeometryWriter(int argc,
+subextGravityGeometryWriter(int argc,
   VALUE *argv,
   VALUE self)
 {
@@ -498,7 +498,7 @@
 
   /* Check ruby object */
   rb_check_frozen(self);
-  subSubtlextConnect(NULL); ///< Implicit open connection
+  subextSubtlextConnect(NULL); ///< Implicit open connection
 
   /* Delegate arguments */
   klass = rb_const_get(mod, rb_intern("Geometry"));
@@ -510,7 +510,7 @@
   return geom;
 } /* }}} */
 
-/* subGravityTilingWriter {{{ */
+/* subextGravityTilingWriter {{{ */
 /*
  * call-seq: tiling=(value) -> Symbol or nil
  *
@@ -527,7 +527,7 @@
  */
 
 VALUE
-subGravityTilingWriter(VALUE self,
+subextGravityTilingWriter(VALUE self,
   VALUE value)
 {
   int flags = 0;
@@ -560,7 +560,7 @@
   return value;
 } /* }}} */
 
-/* subGravityToString {{{ */
+/* subextGravityToString {{{ */
 /*
  * call-seq: to_str -> String
  *
@@ -571,7 +571,7 @@
  */
 
 VALUE
-subGravityToString(VALUE self)
+subextGravityToString(VALUE self)
 {
   VALUE name = Qnil;
 
@@ -581,7 +581,7 @@
   return name;
 } /* }}} */
 
-/* subGravityToSym {{{ */
+/* subextGravityToSym {{{ */
 /*
  * call-seq: to_sym -> Symbol
  *
@@ -592,7 +592,7 @@
  */
 
 VALUE
-subGravityToSym(VALUE self)
+subextGravityToSym(VALUE self)
 {
   VALUE name = Qnil;
 
@@ -602,7 +602,7 @@
   return CHAR2SYM(RSTRING_PTR(name));
 } /* }}} */
 
-/* subGravityKill {{{ */
+/* subextGravityKill {{{ */
 /*
  * call-seq: kill -> nil
  *
@@ -613,7 +613,7 @@
  */
 
 VALUE
-subGravityKill(VALUE self)
+subextGravityKill(VALUE self)
 {
   VALUE id = Qnil;
   SubMessageData data = { { 0, 0, 0, 0, 0 } };
@@ -622,7 +622,7 @@
   rb_check_frozen(self);
   GET_ATTR(self, "@id", id);
 
-  subSubtlextConnect(NULL); ///< Implicit open connection
+  subextSubtlextConnect(NULL); ///< Implicit open connection
 
   /* Send message */
   data.l[0] = FIX2INT(id);
--- a/src/subtlext/icon.c	Thu Jul 19 13:52:09 2012 +0200
+++ b/src/subtlext/icon.c	Tue Sep 18 12:37:06 2012 +0200
@@ -84,7 +84,7 @@
 
 /* Class */
 
-/* subIconAlloc {{{ */
+/* subextIconAlloc {{{ */
 /*
  * call-seq: new(path)          -> Subtlext::Icon
  *           new(width, height) -> Subtlext::Icon
@@ -93,7 +93,7 @@
  */
 
 VALUE
-subIconAlloc(VALUE self)
+subextIconAlloc(VALUE self)
 {
   SubtlextIcon *i = NULL;
 
@@ -104,7 +104,7 @@
   return i->instance;
 } /* }}} */
 
-/* subIconInit {{{ */
+/* subextIconInit {{{ */
 /*
  * call-seq: initialize(path)                  -> Subtlext::Icon
  *           initialize(width, height, bitmap) -> Subtlext::Icon
@@ -119,7 +119,7 @@
  */
 
 VALUE
-subIconInit(int argc,
+subextIconInit(int argc,
   VALUE *argv,
   VALUE self)
 {
@@ -132,7 +132,7 @@
 
       rb_scan_args(argc, argv, "12", &data[0], &data[1], &data[2]);
 
-      subSubtlextConnect(NULL); ///< Implicit open connection
+      subextSubtlextConnect(NULL); ///< Implicit open connection
 
       /* Find or create icon */
       if(T_STRING == rb_type(data[0])) ///< Icon path
@@ -255,7 +255,7 @@
   return Qnil;
 } /* }}} */
 
-/* subIconDrawPoint {{{ */
+/* subextIconDrawPoint {{{ */
 /*
  * call-seq: draw_point(x, y, fg, bg) -> Subtlext::Icon
  *
@@ -269,7 +269,7 @@
  */
 
 VALUE
-subIconDrawPoint(int argc,
+subextIconDrawPoint(int argc,
   VALUE *argv,
   VALUE self)
 {
@@ -298,9 +298,9 @@
           if(i->flags & ICON_PIXMAP)
             {
               if(!NIL_P(data[2]))
-                gvals.foreground = subColorPixel(data[2], Qnil, Qnil, NULL);
+                gvals.foreground = subextColorPixel(data[2], Qnil, Qnil, NULL);
               if(!NIL_P(data[3]))
-                gvals.background = subColorPixel(data[3], Qnil, Qnil, NULL);
+                gvals.background = subextColorPixel(data[3], Qnil, Qnil, NULL);
             }
 
           XChangeGC(display, i->gc, GCForeground|GCBackground, &gvals);
@@ -316,7 +316,7 @@
   return self;
 } /* }}} */
 
-/* subIconDrawLine {{{ */
+/* subextIconDrawLine {{{ */
 /*
  * call-seq: draw_line(x1, y1, x2, y2, fg, bg) -> Subtlext::Icon
  *
@@ -330,7 +330,7 @@
  */
 
 VALUE
-subIconDrawLine(int argc,
+subextIconDrawLine(int argc,
   VALUE *argv,
   VALUE self)
 {
@@ -361,9 +361,9 @@
           if(i->flags & ICON_PIXMAP)
             {
               if(!NIL_P(data[4]))
-                gvals.foreground = subColorPixel(data[4], Qnil, Qnil, NULL);
+                gvals.foreground = subextColorPixel(data[4], Qnil, Qnil, NULL);
               if(!NIL_P(data[5]))
-                gvals.background = subColorPixel(data[5], Qnil, Qnil, NULL);
+                gvals.background = subextColorPixel(data[5], Qnil, Qnil, NULL);
             }
 
           XChangeGC(display, i->gc, GCForeground|GCBackground, &gvals);
@@ -379,7 +379,7 @@
   return self;
 } /* }}} */
 
-/* subIconDrawRect {{{ */
+/* subextIconDrawRect {{{ */
 /*
  * call-seq: draw_rect(x, y, width, height, fill, fg, bg) -> Subtlext::Icon
  *
@@ -394,7 +394,7 @@
  */
 
 VALUE
-subIconDrawRect(int argc,
+subextIconDrawRect(int argc,
   VALUE *argv,
   VALUE self)
 {
@@ -425,9 +425,9 @@
           if(i->flags & ICON_PIXMAP)
             {
               if(!NIL_P(data[5]))
-                gvals.foreground = subColorPixel(data[5], Qnil, Qnil, NULL);
+                gvals.foreground = subextColorPixel(data[5], Qnil, Qnil, NULL);
               if(!NIL_P(data[6]))
-                gvals.background = subColorPixel(data[6], Qnil, Qnil, NULL);
+                gvals.background = subextColorPixel(data[6], Qnil, Qnil, NULL);
             }
 
           XChangeGC(display, i->gc, GCForeground|GCBackground, &gvals);
@@ -449,7 +449,7 @@
   return self;
 } /* }}} */
 
-/* subIconCopyArea {{{ */
+/* subextIconCopyArea {{{ */
 /*
  * call-seq: copy_area(icon2, src_x, src_y, width, height, dest_x, dest_y) -> Subtlext::Icon
  *
@@ -460,7 +460,7 @@
  */
 
 VALUE
-subIconCopyArea(int argc,
+subextIconCopyArea(int argc,
   VALUE *argv,
   VALUE self)
 {
@@ -532,7 +532,7 @@
   return self;
 } /* }}} */
 
-/* subIconClear {{{ */
+/* subextIconClear {{{ */
 /*
  * call-seq: clear         -> Subtlext::Icon
  *           clear(fg, bg) -> Subtlext::Icon
@@ -547,7 +547,7 @@
  */
 
 VALUE
-subIconClear(int argc,
+subextIconClear(int argc,
   VALUE *argv,
   VALUE self)
 {
@@ -572,9 +572,9 @@
           rb_scan_args(argc, argv, "02", &colors[0], &colors[1]);
 
           if(!NIL_P(colors[0]))
-            gvals.foreground = subColorPixel(colors[0], Qnil, Qnil, NULL);
+            gvals.foreground = subextColorPixel(colors[0], Qnil, Qnil, NULL);
           if(!NIL_P(colors[1]))
-            gvals.background = subColorPixel(colors[1], Qnil, Qnil, NULL);
+            gvals.background = subextColorPixel(colors[1], Qnil, Qnil, NULL);
         }
 
       XChangeGC(display, i->gc, GCForeground|GCBackground, &gvals);
@@ -587,7 +587,7 @@
   return self;
 } /* }}} */
 
-/* subIconAskBitmap {{{ */
+/* subextIconAskBitmap {{{ */
 /*
  * call-seq: bitmap? -> true or false
  *
@@ -601,7 +601,7 @@
  */
 
 VALUE
-subIconAskBitmap(VALUE self)
+subextIconAskBitmap(VALUE self)
 {
   VALUE ret = Qfalse;
   SubtlextIcon *i = NULL;
@@ -612,7 +612,7 @@
   return ret;
 } /* }}} */
 
-/* subIconToString {{{ */
+/* subextIconToString {{{ */
 /*
  * call-seq: to_str -> String
  *
@@ -623,7 +623,7 @@
  */
 
 VALUE
-subIconToString(VALUE self)
+subextIconToString(VALUE self)
 {
   VALUE ret = Qnil;
   SubtlextIcon *i = NULL;
@@ -641,7 +641,7 @@
   return ret;
 } /* }}} */
 
-/* subIconOperatorPlus {{{ */
+/* subextIconOperatorPlus {{{ */
 /*
 * call-seq: +(string) -> String
 *
@@ -652,13 +652,13 @@
 */
 
 VALUE
-subIconOperatorPlus(VALUE self,
+subextIconOperatorPlus(VALUE self,
   VALUE value)
 {
-  return subSubtlextConcat(subIconToString(self), value);
+  return subextSubtlextConcat(subextIconToString(self), value);
 } /* }}} */
 
-/* subIconOperatorMult {{{ */
+/* subextIconOperatorMult {{{ */
 /*
 * call-seq: *(value) -> String
 *
@@ -669,7 +669,7 @@
 */
 
 VALUE
-subIconOperatorMult(VALUE self,
+subextIconOperatorMult(VALUE self,
   VALUE value)
 {
   VALUE ret = Qnil;
@@ -678,7 +678,7 @@
   if(FIXNUM_P(value))
     {
       /* Passthru to string class */
-      ret = rb_funcall(subIconToString(self), rb_intern("*"), 1, value);
+      ret = rb_funcall(subextIconToString(self), rb_intern("*"), 1, value);
     }
   else rb_raise(rb_eArgError, "Unexpected value-type `%s'",
     rb_obj_classname(value));
@@ -686,7 +686,7 @@
   return ret;
 } /* }}} */
 
-/* subIconEqual {{{ */
+/* subextIconEqual {{{ */
 /*
  * call-seq: ==(other) -> True or False
  *
@@ -697,13 +697,13 @@
  */
 
 VALUE
-subIconEqual(VALUE self,
+subextIconEqual(VALUE self,
   VALUE other)
 {
   return IconEqual(self, other);
 } /* }}} */
 
-/* subIconEqualTyped {{{ */
+/* subextIconEqualTyped {{{ */
 /*
  * call-seq: eql?(other) -> True or False
  *
@@ -714,7 +714,7 @@
  */
 
 VALUE
-subIconEqualTyped(VALUE self,
+subextIconEqualTyped(VALUE self,
   VALUE other)
 {
   return IconEqual(self, other);
--- a/src/subtlext/screen.c	Thu Jul 19 13:52:09 2012 +0200
+++ b/src/subtlext/screen.c	Tue Sep 18 12:37:06 2012 +0200
@@ -19,7 +19,7 @@
   VALUE method = Qnil, klass = Qnil, array = Qnil, screen = Qnil, geom = Qnil;
   long *workareas = NULL;
 
-  subSubtlextConnect(NULL); ///< Implicit open connection
+  subextSubtlextConnect(NULL); ///< Implicit open connection
 
   /* Fetch data */
   method = rb_intern("new");
@@ -37,7 +37,7 @@
         {
           /* Create new screen */
           screen = rb_funcall(klass, method, 1, INT2FIX(i));
-          geom   = subGeometryInstantiate(workareas[i * 4 + 0],
+          geom   = subextGeometryInstantiate(workareas[i * 4 + 0],
             workareas[i * 4 + 1], workareas[i * 4 + 2], workareas[i * 4 + 3]);
 
           rb_iv_set(screen, "@geometry", geom);
@@ -52,7 +52,7 @@
 
 /* Singleton */
 
-/* subScreenSingFind {{{ */
+/* subextScreenSingFind {{{ */
 /*
  * call-seq: find(value) -> Subtlext::Screen or nil
  *           [value]     -> Subtlext::Screen or nil
@@ -73,7 +73,7 @@
  */
 
 VALUE
-subScreenSingFind(VALUE self,
+subextScreenSingFind(VALUE self,
   VALUE value)
 {
   VALUE screen = Qnil;
@@ -98,7 +98,7 @@
                 unsigned long nworkareas = 0;
                 long *workareas = NULL;
 
-                subSubtlextConnect(NULL); ///< Implicit open connection
+                subextSubtlextConnect(NULL); ///< Implicit open connection
 
                 /* Get workarea list */
                 if((workareas = (long *)subSharedPropertyGet(display,
@@ -109,7 +109,7 @@
                     int i;
                     XRectangle geom = { 0 };
 
-                    subGeometryToRect(value, &geom);
+                    subextGeometryToRect(value, &geom);
 
                     for(i = 0; i < nworkareas / 4; i++)
                       {
@@ -122,8 +122,8 @@
                             VALUE geometry = Qnil;
 
                             /* Create new screen */
-                            screen   = subScreenInstantiate(i);
-                            geometry = subGeometryInstantiate(
+                            screen   = subextScreenInstantiate(i);
+                            geometry = subextGeometryInstantiate(
                               workareas[i * 4 + 0], workareas[i * 4 + 1],
                               workareas[i * 4 + 2], workareas[i * 4 + 3]);
 
@@ -145,7 +145,7 @@
   return screen;
 } /* }}} */
 
-/* subScreenSingList {{{ */
+/* subextScreenSingList {{{ */
 /*
  * call-seq: list -> Array
  *
@@ -159,12 +159,12 @@
  */
 
 VALUE
-subScreenSingList(VALUE self)
+subextScreenSingList(VALUE self)
 {
   return ScreenList();
 } /* }}} */
 
-/* subScreenSingCurrent {{{ */
+/* subextScreenSingCurrent {{{ */
 /*
  * call-seq: current -> Subtlext::Screen
  *
@@ -175,7 +175,7 @@
  */
 
 VALUE
-subScreenSingCurrent(VALUE self)
+subextScreenSingCurrent(VALUE self)
 {
   int rx = 0, ry = 0, x = 0, y = 0;
   unsigned int mask = 0;
@@ -184,7 +184,7 @@
   VALUE screen = Qnil;
   Window root = None, win = None;
 
-  subSubtlextConnect(NULL); ///< Implicit open connection
+  subextSubtlextConnect(NULL); ///< Implicit open connection
 
   /* Get current screen */
   XQueryPointer(display, DefaultRootWindow(display), &root,
@@ -214,8 +214,8 @@
               VALUE geometry = Qnil;
 
               /* Create new screen */
-              screen   = subScreenInstantiate(i);
-              geometry = subGeometryInstantiate(workareas[i * 4 + 0],
+              screen   = subextScreenInstantiate(i);
+              geometry = subextGeometryInstantiate(workareas[i * 4 + 0],
                 workareas[i * 4 + 1], workareas[i * 4 + 2],
                 workareas[i * 4 + 3]);
 
@@ -232,9 +232,9 @@
 
 /* Helper */
 
-/* subScreenInstantiate {{{ */
+/* subextScreenInstantiate {{{ */
 VALUE
-subScreenInstantiate(int id)
+subextScreenInstantiate(int id)
 {
   VALUE klass = Qnil, screen = Qnil;
 
@@ -247,7 +247,7 @@
 
 /* Class */
 
-/* subScreenInit {{{ */
+/* subextScreenInit {{{ */
 /*
  * call-seq: new(id) -> Subtlext::Screen
  *
@@ -258,7 +258,7 @@
  */
 
 VALUE
-subScreenInit(VALUE self,
+subextScreenInit(VALUE self,
   VALUE id)
 {
   if(!FIXNUM_P(id) || 0 > FIX2INT(id))
@@ -269,12 +269,12 @@
   rb_iv_set(self, "@id",       id);
   rb_iv_set(self, "@geometry", Qnil);
 
-  subSubtlextConnect(NULL); ///< Implicit open connection
+  subextSubtlextConnect(NULL); ///< Implicit open connection
 
   return self;
 } /* }}} */
 
-/* subScreenUpdate {{{ */
+/* subextScreenUpdate {{{ */
 /*
  * call-seq: update -> Subtlext::Screen
  *
@@ -285,7 +285,7 @@
  */
 
 VALUE
-subScreenUpdate(VALUE self)
+subextScreenUpdate(VALUE self)
 {
   VALUE id = Qnil, screens = Qnil, screen = Qnil;
 
@@ -306,7 +306,7 @@
   return self;
 } /* }}} */
 
-/* subScreenJump {{{ */
+/* subextScreenJump {{{ */
 /*
  * call-seq: screen -> Subtlext::Screen
  *
@@ -317,7 +317,7 @@
  */
 
 VALUE
-subScreenJump(VALUE self)
+subextScreenJump(VALUE self)
 {
   VALUE id = Qnil;
   SubMessageData data = { { 0, 0, 0, 0, 0 } };
@@ -326,7 +326,7 @@
   rb_check_frozen(self);
   GET_ATTR(self, "@id", id);
 
-  subSubtlextConnect(NULL); ///< Implicit open connection
+  subextSubtlextConnect(NULL); ///< Implicit open connection
 
   /* Send message */
   data.l[0] = FIX2INT(id);
@@ -337,7 +337,7 @@
   return self;
 } /* }}} */
 
-/* subScreenViewReader {{{ */
+/* subextScreenViewReader {{{ */
 /*
  * call-seq: view -> Subtlext::View
  *
@@ -348,14 +348,14 @@
  */
 
 VALUE
-subScreenViewReader(VALUE self)
+subextScreenViewReader(VALUE self)
 {
   VALUE ret = Qnil;
   int nnames = 0;
   char **names = NULL;
   unsigned long *screens = NULL;
 
-  subSubtlextConnect(NULL); ///< Implicit open connection
+  subextSubtlextConnect(NULL); ///< Implicit open connection
 
   /* Fetch data */
   names   = subSharedPropertyGetStrings(display, DefaultRootWindow(display),
@@ -373,7 +373,7 @@
         {
           if(0 <= (vid = screens[id]) && vid < nnames)
             {
-              ret = subViewInstantiate(names[vid]);
+              ret = subextViewInstantiate(names[vid]);
 
               if(!NIL_P(ret)) rb_iv_set(ret, "@id", INT2FIX(vid));
             }
@@ -386,7 +386,7 @@
   return ret;
 } /* }}} */
 
-/* subScreenViewWriter {{{ */
+/* subextScreenViewWriter {{{ */
 /*
  * call-seq: view=(fixnum) -> Fixnum
  *           view=(symbol) -> Symbol
@@ -402,7 +402,7 @@
  */
 
 VALUE
-subScreenViewWriter(VALUE self,
+subextScreenViewWriter(VALUE self,
   VALUE value)
 {
   VALUE vid = Qnil, view = Qnil, sid = Qnil;
@@ -411,12 +411,12 @@
  /* Check ruby object */
   GET_ATTR(self, "@id", sid);
 
-  subSubtlextConnect(NULL); ///< Implicit open connection
+  subextSubtlextConnect(NULL); ///< Implicit open connection
 
   /* Check instance type */
   if(rb_obj_is_instance_of(value, rb_const_get(mod, rb_intern("View"))))
     view = value;
-  else view = subViewSingFirst(Qnil, value);
+  else view = subextViewSingFirst(Qnil, value);
 
   GET_ATTR(view, "@id", vid);
 
@@ -431,7 +431,7 @@
   return value;
 } /* }}} */
 
-/* subScreenAskCurrent {{{ */
+/* subextScreenAskCurrent {{{ */
 /*
  * call-seq: screen? -> true or false
  *
@@ -445,15 +445,15 @@
  */
 
 VALUE
-subScreenAskCurrent(VALUE self)
+subextScreenAskCurrent(VALUE self)
 {
   /* Check ruby object */
   rb_check_frozen(self);
 
-  return rb_equal(self, subScreenSingCurrent(Qnil));
+  return rb_equal(self, subextScreenSingCurrent(Qnil));
 } /* }}} */
 
-/* subScreenToString {{{ */
+/* subextScreenToString {{{ */
 /*
  * call-seq: to_str -> String
  *
@@ -464,14 +464,14 @@
  */
 
 VALUE
-subScreenToString(VALUE self)
+subextScreenToString(VALUE self)
 {
   VALUE geom = Qnil;
 
   /* Check ruby object */
   GET_ATTR(self, "@geometry", geom);
 
-  return subGeometryToString(geom);
+  return subextGeometryToString(geom);
 } /* }}} */
 
 // vim:ts=2:bs=2:sw=2:et:fdm=marker
--- a/src/subtlext/sublet.c	Thu Jul 19 13:52:09 2012 +0200
+++ b/src/subtlext/sublet.c	Tue Sep 18 12:37:06 2012 +0200
@@ -20,28 +20,28 @@
   VALUE parsed = Qnil;
   char buf[50] = { 0 };
 
-  subSubtlextConnect(NULL); ///< Implicit open connection
+  subextSubtlextConnect(NULL); ///< Implicit open connection
 
   /* Check object type */
-  switch(rb_type(parsed = subSubtlextParse(
+  switch(rb_type(parsed = subextSubtlextParse(
       value, buf, sizeof(buf), &flags)))
     {
       case T_SYMBOL:
         if(CHAR2SYM("all") == parsed)
-          return subSubletSingList(Qnil);
+          return subextSubletSingList(Qnil);
         break;
       case T_OBJECT:
         if(rb_obj_is_instance_of(value, rb_const_get(mod, rb_intern("Sublet"))))
           return parsed;
     }
 
-  return subSubtlextFindObjectsGeometry("SUBTLE_SUBLET_LIST",
+  return subextSubtlextFindObjectsGeometry("SUBTLE_SUBLET_LIST",
     "Sublet", buf, flags, first);
 } /* }}} */
 
 /* Singleton */
 
-/* subSubletSingFind {{{ */
+/* subextSubletSingFind {{{ */
 /*
  * call-seq: find(value) -> Array
  *           [value]     -> Array
@@ -72,13 +72,13 @@
  */
 
 VALUE
-subSubletSingFind(VALUE self,
+subextSubletSingFind(VALUE self,
   VALUE value)
 {
   return SubletFind(value, False);
 } /* }}} */
 
-/* subSubletSingFirst {{{ */
+/* subextSubletSingFirst {{{ */
 /*
  * call-seq: first(value) -> Subtlext::Sublet or nil
  *
@@ -98,13 +98,13 @@
  */
 
 VALUE
-subSubletSingFirst(VALUE self,
+subextSubletSingFirst(VALUE self,
   VALUE value)
 {
   return SubletFind(value, True);
 } /* }}} */
 
-/* subSubletSingList {{{ */
+/* subextSubletSingList {{{ */
 /*
  * call-seq: list -> Array
  *
@@ -119,15 +119,15 @@
  */
 
 VALUE
-subSubletSingList(VALUE self)
+subextSubletSingList(VALUE self)
 {
-  return subSubtlextFindObjectsGeometry("SUBTLE_SUBLET_LIST",
+  return subextSubtlextFindObjectsGeometry("SUBTLE_SUBLET_LIST",
     "Sublet", NULL, 0, False);
 } /* }}} */
 
 /* Class */
 
-/* subSubletInit {{{ */
+/* subextSubletInit {{{ */
 /*
  * call-seq: new(name) -> Subtlext::Sublet
  *
@@ -138,7 +138,7 @@
  */
 
 VALUE
-subSubletInit(VALUE self,
+subextSubletInit(VALUE self,
   VALUE name)
 {
   if(T_STRING != rb_type(name))
@@ -149,12 +149,12 @@
   rb_iv_set(self, "@id",   Qnil);
   rb_iv_set(self, "@name", name);
 
-  subSubtlextConnect(NULL); ///< Implicit open connection
+  subextSubtlextConnect(NULL); ///< Implicit open connection
 
   return self;
 } /* }}} */
 
-/* subSubletUpdate {{{ */
+/* subextSubletUpdate {{{ */
 /*
  * call-seq: update -> Subtlext::Sublet
  *
@@ -165,7 +165,7 @@
  */
 
 VALUE
-subSubletUpdate(VALUE self)
+subextSubletUpdate(VALUE self)
 {
   VALUE id = Qnil;
   SubMessageData data = { { 0, 0, 0, 0, 0 } };
@@ -183,7 +183,7 @@
   return self;
 } /* }}} */
 
-/* subSubletSend {{{ */
+/* subextSubletSend {{{ */
 /*
  * call-seq: send_data(string) -> Subtlext::Sublet
  *
@@ -195,7 +195,7 @@
  */
 
 VALUE
-subSubletSend(VALUE self,
+subextSubletSend(VALUE self,
   VALUE value)
 {
   VALUE id = Qnil;
@@ -227,7 +227,7 @@
   return self;
 } /* }}} */
 
-/* subSubletVisibilityShow {{{ */
+/* subextSubletVisibilityShow {{{ */
 /*
  * call-seq: show -> Subtlext::Sublet
  *
@@ -238,7 +238,7 @@
  */
 
 VALUE
-subSubletVisibilityShow(VALUE self)
+subextSubletVisibilityShow(VALUE self)
 {
   VALUE id = Qnil;
   SubMessageData data = { { 0, 0, 0, 0, 0 } };
@@ -256,7 +256,7 @@
   return self;
 } /* }}} */
 
-/* subSubletVisibilityHide {{{ */
+/* subextSubletVisibilityHide {{{ */
 /*
  * call-seq: hide -> Subtlext::Sublet
  *
@@ -267,7 +267,7 @@
  */
 
 VALUE
-subSubletVisibilityHide(VALUE self)
+subextSubletVisibilityHide(VALUE self)
 {
   VALUE id = Qnil;
   SubMessageData data = { { 0, 0, 0, 0, 0 } };
@@ -285,7 +285,7 @@
   return self;
 } /* }}} */
 
-/* subSubletToString {{{ */
+/* subextSubletToString {{{ */
 /*
  * call-seq: to_str -> String
  *
@@ -296,7 +296,7 @@
  */
 
 VALUE
-subSubletToString(VALUE self)
+subextSubletToString(VALUE self)
 {
   VALUE name = Qnil;
 
@@ -306,7 +306,7 @@
   return name;
 } /* }}} */
 
-/* subSubletKill {{{ */
+/* subextSubletKill {{{ */
 /*
  * call-seq: kill -> nil
  *
@@ -317,7 +317,7 @@
  */
 
 VALUE
-subSubletKill(VALUE self)
+subextSubletKill(VALUE self)
 {
   VALUE id = Qnil;
   SubMessageData data = { { 0, 0, 0, 0, 0 } };
@@ -326,7 +326,7 @@
   rb_check_frozen(self);
   GET_ATTR(self, "@id", id);
 
-  subSubtlextConnect(NULL); ///< Implicit open connection
+  subextSubtlextConnect(NULL); ///< Implicit open connection
 
   /* Send message */
   data.l[0] = FIX2INT(id);
--- a/src/subtlext/subtle.c	Thu Jul 19 13:52:09 2012 +0200
+++ b/src/subtlext/subtle.c	Tue Sep 18 12:37:06 2012 +0200
@@ -17,7 +17,7 @@
 {
   SubMessageData data = { { 0, 0, 0, 0, 0 } };
 
-  subSubtlextConnect(NULL); ///< Implicit open connection
+  subextSubtlextConnect(NULL); ///< Implicit open connection
 
   subSharedMessage(display, DefaultRootWindow(display),
     message, data, 32, True);
@@ -27,7 +27,7 @@
 
 /* Singleton */
 
-/* subSubtleSingDisplayReader {{{ */
+/* subextSubtleSingDisplayReader {{{ */
 /*
  * call-seq: display -> String
  *
@@ -38,14 +38,14 @@
  */
 
 VALUE
-subSubtleSingDisplayReader(VALUE self)
+subextSubtleSingDisplayReader(VALUE self)
 {
-  subSubtlextConnect(NULL); ///< Implicit open connection
+  subextSubtlextConnect(NULL); ///< Implicit open connection
 
   return rb_str_new2(DisplayString(display));
 } /* }}} */
 
-/* subSubtleSingDisplayWriter {{{ */
+/* subextSubtleSingDisplayWriter {{{ */
 /*
  * call-seq: display=(string) -> nil
  *
@@ -56,17 +56,17 @@
  */
 
 VALUE
-subSubtleSingDisplayWriter(VALUE self,
+subextSubtleSingDisplayWriter(VALUE self,
   VALUE display_string)
 {
   /* Explicit open connection */
-  subSubtlextConnect(T_STRING == rb_type(display_string) ?
+  subextSubtlextConnect(T_STRING == rb_type(display_string) ?
     RSTRING_PTR(display_string) : NULL);
 
   return Qnil;
 } /* }}} */
 
-/* subSubtleSingAskRunning {{{ */
+/* subextSubtleSingAskRunning {{{ */
 /*
  * call-seq: running? -> true or false
  *
@@ -80,13 +80,13 @@
  */
 
 VALUE
-subSubtleSingAskRunning(VALUE self)
+subextSubtleSingAskRunning(VALUE self)
 {
   char *version = NULL;
   Window *support = NULL;
   VALUE running = Qfalse;
 
-  subSubtlextConnect(NULL); ///< Implicit open connection
+  subextSubtlextConnect(NULL); ///< Implicit open connection
 
   /* Get supporting window */
   if((support = (Window *)subSharedPropertyGet(display,
@@ -109,7 +109,7 @@
   return running;
 } /* }}} */
 
-/* subSubtleSingSelect {{{ */
+/* subextSubtleSingSelect {{{ */
 /*
  * call-seq: select_window -> Fixnum
  *
@@ -120,7 +120,7 @@
  */
 
 VALUE
-subSubtleSingSelect(VALUE self)
+subextSubtleSingSelect(VALUE self)
 {
   int i, format = 0, buttons = 0;
   unsigned int nwins = 0;
@@ -132,7 +132,7 @@
   Window wroot = None, parent = None, root = None, *wins = NULL;
   Cursor cursor = None;
 
-  subSubtlextConnect(NULL); ///< Implicit open connection
+  subextSubtlextConnect(NULL); ///< Implicit open connection
 
   root   = DefaultRootWindow(display);
   cursor = XCreateFontCursor(display, XC_cross);
@@ -198,7 +198,7 @@
   return None != win ? LONG2NUM(win) : Qnil;
 } /* }}} */
 
-/* subSubtleSingRender {{{ */
+/* subextSubtleSingRender {{{ */
 /*
  * call-seq: render -> nil
  *
@@ -209,12 +209,12 @@
  */
 
 VALUE
-subSubtleSingRender(VALUE self)
+subextSubtleSingRender(VALUE self)
 {
   return SubtleSend("SUBTLE_RENDER");
 } /* }}} */
 
-/* subSubtleSingReload {{{ */
+/* subextSubtleSingReload {{{ */
 /*
  * call-seq: reload -> nil
  *
@@ -225,12 +225,12 @@
  */
 
 VALUE
-subSubtleSingReload(VALUE self)
+subextSubtleSingReload(VALUE self)
 {
   return SubtleSend("SUBTLE_RELOAD");
 } /* }}} */
 
-/* subSubtleSingRestart {{{ */
+/* subextSubtleSingRestart {{{ */
 /*
  * call-seq: restart -> nil
  *
@@ -241,12 +241,12 @@
  */
 
 VALUE
-subSubtleSingRestart(VALUE self)
+subextSubtleSingRestart(VALUE self)
 {
   return SubtleSend("SUBTLE_RESTART");
 } /* }}} */
 
-/* subSubtleSingQuit {{{ */
+/* subextSubtleSingQuit {{{ */
 /*
  * call-seq: quit -> nil
  *
@@ -257,12 +257,12 @@
  */
 
 VALUE
-subSubtleSingQuit(VALUE self)
+subextSubtleSingQuit(VALUE self)
 {
   return SubtleSend("SUBTLE_QUIT");
 } /* }}} */
 
-/* subSubtleSingColors {{{ */
+/* subextSubtleSingColors {{{ */
 /*
  * call-seq: colors -> Hash
  *
@@ -273,7 +273,7 @@
  */
 
 VALUE
-subSubtleSingColors(VALUE self)
+subextSubtleSingColors(VALUE self)
 {
   int i;
   unsigned long ncolors = 0, *colors = NULL;
@@ -298,7 +298,7 @@
     "stipple",            "background"
   };
 
-  subSubtlextConnect(NULL); ///< Implicit open connection
+  subextSubtlextConnect(NULL); ///< Implicit open connection
 
   /* Fetch data */
   meth  = rb_intern("new");
@@ -323,7 +323,7 @@
   return hash;
 } /* }}} */
 
-/* subSubtleSingFont {{{ */
+/* subextSubtleSingFont {{{ */
 /*
  * call-seq: Font -> String or nil
  *
@@ -334,12 +334,12 @@
  */
 
 VALUE
-subSubtleSingFont(VALUE self)
+subextSubtleSingFont(VALUE self)
 {
   char *prop = NULL;
   VALUE font = Qnil;
 
-  subSubtlextConnect(NULL); ///< Implicit open connection
+  subextSubtlextConnect(NULL); ///< Implicit open connection
 
   /* Get results */
   if((prop = subSharedPropertyGet(display, DefaultRootWindow(display),
@@ -355,7 +355,7 @@
   return font;
 } /* }}} */
 
-/* subSubtleSingSpawn {{{ */
+/* subextSubtleSingSpawn {{{ */
 /*
  * call-seq: spawn(cmd) -> Subtlext::Client
  *
@@ -366,7 +366,7 @@
  */
 
 VALUE
-subSubtleSingSpawn(VALUE self,
+subextSubtleSingSpawn(VALUE self,
   VALUE cmd)
 {
   VALUE ret = Qnil;
@@ -376,13 +376,13 @@
     {
       pid_t pid = 0;
 
-      subSubtlextConnect(NULL); ///< Implicit open connection
+      subextSubtlextConnect(NULL); ///< Implicit open connection
 
       /* Create client with empty window id since we cannot
        * know the real window id at this point (race) */
       if(0 < (pid = subSharedSpawn(RSTRING_PTR(cmd))))
         {
-          ret = subClientInstantiate((int)pid);
+          ret = subextClientInstantiate((int)pid);
           rb_iv_set(ret, "@pid", INT2FIX((int)pid));
         }
     }
--- a/src/subtlext/subtlext.c	Thu Jul 19 13:52:09 2012 +0200
+++ b/src/subtlext/subtlext.c	Tue Sep 18 12:37:06 2012 +0200
@@ -235,7 +235,7 @@
             else string = RSTRING_PTR(value);
 
             /* Find tag and get id */
-            if(-1 != (id = subSubtlextFindString("SUBTLE_TAG_LIST",
+            if(-1 != (id = subextSubtlextFindString("SUBTLE_TAG_LIST",
                 string, NULL, flags)))
               tags |= (1L << (id + 1));
           }
@@ -454,7 +454,7 @@
     }
 
   /* Find tag */
-  if(RTEST(tag = subTagSingFirst(Qnil, sym)))
+  if(RTEST(tag = subextTagSingFirst(Qnil, sym)))
     {
       VALUE id = Qnil, tags = Qnil;
 
@@ -1245,13 +1245,13 @@
 
 /* Exported */
 
- /** subSubtlextConnect {{{
+ /** subextSubtlextConnect {{{
   * @brief Open connection to X display
   * @param[in]  display_string  Display name
   **/
 
 void
-subSubtlextConnect(char *display_string)
+subextSubtlextConnect(char *display_string)
 {
   /* Open display */
   if(!display)
@@ -1268,12 +1268,12 @@
     }
 } /* }}} */
 
-  /** subSubtlextBacktrace {{{
+  /** subextSubtlextBacktrace {{{
    * @brief Print ruby backtrace
    **/
 
 void
-subSubtlextBacktrace(void)
+subextSubtlextBacktrace(void)
 {
   VALUE lasterr = Qnil;
 
@@ -1295,7 +1295,7 @@
     }
 } /* }}} */
 
- /** subSubtlextConcat {{{
+ /** subextSubtlextConcat {{{
   * @brief Concat string2 to string1
   * @param[inout]  str1  First string
   * @param[in]     str2  Second string
@@ -1303,7 +1303,7 @@
   **/
 
 VALUE
-subSubtlextConcat(VALUE str1,
+subextSubtlextConcat(VALUE str1,
   VALUE str2)
 {
   VALUE ret = Qnil;
@@ -1326,7 +1326,7 @@
   return ret;
 } /* }}} */
 
- /** subSubtlextParse {{{
+ /** subextSubtlextParse {{{
   * @brief Parse finder values
   * @param[in]     buf    Passed buffer
   * @param[in]     len    Buffer length
@@ -1334,7 +1334,7 @@
   **/
 
 VALUE
-subSubtlextParse(VALUE value,
+subextSubtlextParse(VALUE value,
   char *buf,
   int len,
   int *flags)
@@ -1384,7 +1384,7 @@
   return ret;
 } /* }}} */
 
- /** subSubtlextOneOrMany {{{
+ /** subextSubtlextOneOrMany {{{
   * @brief Return one value or many in an array
   * @param[in]  value  Current value
   * @param[in]  prev   Previous value or array
@@ -1393,7 +1393,7 @@
   **/
 
 VALUE
-subSubtlextOneOrMany(VALUE value,
+subextSubtlextOneOrMany(VALUE value,
   VALUE prev)
 {
   VALUE ret = Qnil;
@@ -1423,7 +1423,7 @@
   return ret;
 } /* }}} */
 
- /** subSubtlextManyToOne {{{
+ /** subextSubtlextManyToOne {{{
   * @brief Return one value or nil from array or the value
   * @param[in]  value  Given value
   * @retval Object  Just one value
@@ -1431,7 +1431,7 @@
   **/
 
 VALUE
-subSubtlextManyToOne(VALUE value)
+subextSubtlextManyToOne(VALUE value)
 {
   VALUE ret = Qnil;
 
@@ -1447,7 +1447,7 @@
   return ret;
 } /* }}} */
 
- /** subSubtlextWindowList {{{
+ /** subextSubtlextWindowList {{{
   * @brief Get property window list
   * @param[in]  prop_name  Property name
   * @param[inout]  size  List length
@@ -1455,7 +1455,7 @@
   **/
 
 Window *
-subSubtlextWindowList(char *prop_name,
+subextSubtlextWindowList(char *prop_name,
   int *size)
 {
   Window *wins = NULL;
@@ -1474,7 +1474,7 @@
   return wins;
 } /* }}} */
 
- /** subSubtlextFindString {{{
+ /** subextSubtlextFindString {{{
   * @brief Find string in property list
   * @param[in]     prop_name  Property name
   * @param[in]     source     Regexp source
@@ -1485,7 +1485,7 @@
   **/
 
 int
-subSubtlextFindString(char *prop_name,
+subextSubtlextFindString(char *prop_name,
   char *source,
   char **name,
   int flags)
@@ -1530,7 +1530,7 @@
   return ret;
 } /* }}} */
 
- /** subSubtlextFindObjects {{{
+ /** subextSubtlextFindObjects {{{
   * @brief Find match in propery list and create objects
   * @param[in]  prop_name   Property name
   * @param[in]  class_name  Class name
@@ -1543,7 +1543,7 @@
   **/
 
 VALUE
-subSubtlextFindObjects(char *prop_name,
+subextSubtlextFindObjects(char *prop_name,
   char *class_name,
   char *source,
   int flags,
@@ -1597,7 +1597,7 @@
 
                       break;
                     }
-                  else ret = subSubtlextOneOrMany(obj, ret);
+                  else ret = subextSubtlextOneOrMany(obj, ret);
                 }
             }
         }
@@ -1610,7 +1610,7 @@
   return ret;
 } /* }}} */
 
- /** subSubtlextFindWindows {{{
+ /** subextSubtlextFindWindows {{{
   * @brief Find match in propery list and create objects
   * @param[in]  prop_name   Property name
   * @param[in]  class_name  Class name
@@ -1622,7 +1622,7 @@
   **/
 
 VALUE
-subSubtlextFindWindows(char *prop_name,
+subextSubtlextFindWindows(char *prop_name,
   char *class_name,
   char *source,
   int flags,
@@ -1633,7 +1633,7 @@
   VALUE ret = first ? Qnil : rb_ary_new();
 
   /* Get window list */
-  if((wins = subSubtlextWindowList(prop_name, &size)))
+  if((wins = subextSubtlextWindowList(prop_name, &size)))
     {
       int selid = -1;
       Window selwin = None;
@@ -1645,7 +1645,7 @@
 
       /* Special values */
       if(isdigit(source[0])) selid  = atoi(source);
-      if('#' == source[0])   selwin = subSubtleSingSelect(Qnil);
+      if('#' == source[0])   selwin = subextSubtleSingSelect(Qnil);
 
       /* Fetch data */
       meth_new    = rb_intern("new");
@@ -1673,7 +1673,7 @@
 
                       break;
                     }
-                  else ret = subSubtlextOneOrMany(obj, ret);
+                  else ret = subextSubtlextOneOrMany(obj, ret);
                 }
             }
         }
@@ -1685,7 +1685,7 @@
   return ret;
 } /* }}} */
 
- /** subSubtlextFindObjectsGeometry {{{
+ /** subextSubtlextFindObjectsGeometry {{{
   * @brief Find match in propery list and create objects
   * @param[in]  prop_name   Property name
   * @param[in]  class_name  Class name
@@ -1698,7 +1698,7 @@
   **/
 
 VALUE
-subSubtlextFindObjectsGeometry(char *prop_name,
+subextSubtlextFindObjectsGeometry(char *prop_name,
   char *class_name,
   char *source,
   int flags,
@@ -1708,7 +1708,7 @@
   char **strings = NULL;
   VALUE ret = first ? Qnil : rb_ary_new();
 
-  subSubtlextConnect(NULL); ///< Implicit open connection
+  subextSubtlextConnect(NULL); ///< Implicit open connection
 
   /* Get string list */
   if((strings = subSharedPropertyGetStrings(display, DefaultRootWindow(display),
@@ -1761,7 +1761,7 @@
 
                   break;
                 }
-              else ret = subSubtlextOneOrMany(obj, ret);
+              else ret = subextSubtlextOneOrMany(obj, ret);
             }
         }
 
@@ -1824,13 +1824,13 @@
   rb_define_attr(client, "flags",    1, 0);
 
   /* Singleton methods */
-  rb_define_singleton_method(client, "select",  subClientSingSelect,  0);
-  rb_define_singleton_method(client, "find",    subClientSingFind,    1);
-  rb_define_singleton_method(client, "first",   subClientSingFirst,   1);
-  rb_define_singleton_method(client, "current", subClientSingCurrent, 0);
-  rb_define_singleton_method(client, "visible", subClientSingVisible, 0);
-  rb_define_singleton_method(client, "list",    subClientSingList,    0);
-  rb_define_singleton_method(client, "recent",  subClientSingRecent,  0);
+  rb_define_singleton_method(client, "select",  subextClientSingSelect,  0);
+  rb_define_singleton_method(client, "find",    subextClientSingFind,    1);
+  rb_define_singleton_method(client, "first",   subextClientSingFirst,   1);
+  rb_define_singleton_method(client, "current", subextClientSingCurrent, 0);
+  rb_define_singleton_method(client, "visible", subextClientSingVisible, 0);
+  rb_define_singleton_method(client, "list",    subextClientSingList,    0);
+  rb_define_singleton_method(client, "recent",  subextClientSingRecent,  0);
 
   /* General methods */
   rb_define_method(client, "has_tag?",    SubtlextTagAsk,           1);
@@ -1851,37 +1851,37 @@
   rb_define_method(client, "hash",        SubtlextHash,             0);
 
   /* Class methods */
-  rb_define_method(client, "initialize",        subClientInit,                  1);
-  rb_define_method(client, "update",            subClientUpdate,                0);
-  rb_define_method(client, "views",             subClientViewList,              0);
-  rb_define_method(client, "is_full?",          subClientFlagsAskFull,          0);
-  rb_define_method(client, "is_float?",         subClientFlagsAskFloat,         0);
-  rb_define_method(client, "is_stick?",         subClientFlagsAskStick,         0);
-  rb_define_method(client, "is_resize?",        subClientFlagsAskResize,        0);
-  rb_define_method(client, "is_urgent?",        subClientFlagsAskUrgent,        0);
-  rb_define_method(client, "is_zaphod?",        subClientFlagsAskZaphod,        0);
-  rb_define_method(client, "is_fixed?",         subClientFlagsAskFixed,         0);
-  rb_define_method(client, "is_borderless?",    subClientFlagsAskBorderless,    0);
-  rb_define_method(client, "toggle_full",       subClientFlagsToggleFull,       0);
-  rb_define_method(client, "toggle_float",      subClientFlagsToggleFloat,      0);
-  rb_define_method(client, "toggle_stick",      subClientFlagsToggleStick,      0);
-  rb_define_method(client, "toggle_resize",     subClientFlagsToggleResize,     0);
-  rb_define_method(client, "toggle_urgent",     subClientFlagsToggleUrgent,     0);
-  rb_define_method(client, "toggle_zaphod",     subClientFlagsToggleZaphod,     0);
-  rb_define_method(client, "toggle_fixed",      subClientFlagsToggleFixed,      0);
-  rb_define_method(client, "toggle_borderless", subClientFlagsToggleBorderless, 0);
-  rb_define_method(client, "flags=",            subClientFlagsWriter,           1);
-  rb_define_method(client, "raise",             subClientRestackRaise,          0);
-  rb_define_method(client, "lower",             subClientRestackLower,          0);
-  rb_define_method(client, "to_str",            subClientToString,              0);
-  rb_define_method(client, "gravity",           subClientGravityReader,         0);
-  rb_define_method(client, "gravity=",          subClientGravityWriter,         1);
-  rb_define_method(client, "geometry",          subClientGeometryReader,        0);
-  rb_define_method(client, "geometry=",         subClientGeometryWriter,       -1);
-  rb_define_method(client, "screen",            subClientScreenReader,          0);
-  rb_define_method(client, "pid",               SubtlextPidReader,              0);
-  rb_define_method(client, "alive?",            subClientAskAlive,              0);
-  rb_define_method(client, "kill",              subClientKill,                  0);
+  rb_define_method(client, "initialize",        subextClientInit,                  1);
+  rb_define_method(client, "update",            subextClientUpdate,                0);
+  rb_define_method(client, "views",             subextClientViewList,              0);
+  rb_define_method(client, "is_full?",          subextClientFlagsAskFull,          0);
+  rb_define_method(client, "is_float?",         subextClientFlagsAskFloat,         0);
+  rb_define_method(client, "is_stick?",         subextClientFlagsAskStick,         0);
+  rb_define_method(client, "is_resize?",        subextClientFlagsAskResize,        0);
+  rb_define_method(client, "is_urgent?",        subextClientFlagsAskUrgent,        0);
+  rb_define_method(client, "is_zaphod?",        subextClientFlagsAskZaphod,        0);
+  rb_define_method(client, "is_fixed?",         subextClientFlagsAskFixed,         0);
+  rb_define_method(client, "is_borderless?",    subextClientFlagsAskBorderless,    0);
+  rb_define_method(client, "toggle_full",       subextClientFlagsToggleFull,       0);
+  rb_define_method(client, "toggle_float",      subextClientFlagsToggleFloat,      0);
+  rb_define_method(client, "toggle_stick",      subextClientFlagsToggleStick,      0);
+  rb_define_method(client, "toggle_resize",     subextClientFlagsToggleResize,     0);
+  rb_define_method(client, "toggle_urgent",     subextClientFlagsToggleUrgent,     0);
+  rb_define_method(client, "toggle_zaphod",     subextClientFlagsToggleZaphod,     0);
+  rb_define_method(client, "toggle_fixed",      subextClientFlagsToggleFixed,      0);
+  rb_define_method(client, "toggle_borderless", subextClientFlagsToggleBorderless, 0);
+  rb_define_method(client, "flags=",            subextClientFlagsWriter,           1);
+  rb_define_method(client, "raise",             subextClientRestackRaise,          0);
+  rb_define_method(client, "lower",             subextClientRestackLower,          0);
+  rb_define_method(client, "to_str",            subextClientToString,              0);
+  rb_define_method(client, "gravity",           subextClientGravityReader,         0);
+  rb_define_method(client, "gravity=",          subextClientGravityWriter,         1);
+  rb_define_method(client, "geometry",          subextClientGeometryReader,        0);
+  rb_define_method(client, "geometry=",         subextClientGeometryWriter,       -1);
+  rb_define_method(client, "screen",            subextClientScreenReader,          0);
+  rb_define_method(client, "pid",               SubtlextPidReader,                0);
+  rb_define_method(client, "alive?",            subextClientAskAlive,              0);
+  rb_define_method(client, "kill",              subextClientKill,                  0);
 
   /* Singleton aliases */
   rb_define_alias(rb_singleton_class(client), "[]",  "first");
@@ -1919,14 +1919,14 @@
   rb_define_method(color, "hash", SubtlextHash,            0);
 
   /* Class methods */
-  rb_define_method(color, "initialize", subColorInit,         -1);
-  rb_define_method(color, "to_hex",     subColorToHex,         0);
-  rb_define_method(color, "to_ary",     subColorToArray,       0);
-  rb_define_method(color, "to_hash",    subColorToHash,        0);
-  rb_define_method(color, "to_str",     subColorToString,      0);
-  rb_define_method(color, "+",          subColorOperatorPlus,  1);
-  rb_define_method(color, "==",         subColorEqual,         1);
-  rb_define_method(color, "eql?",       subColorEqualTyped,    1);
+  rb_define_method(color, "initialize", subextColorInit,         -1);
+  rb_define_method(color, "to_hex",     subextColorToHex,         0);
+  rb_define_method(color, "to_ary",     subextColorToArray,       0);
+  rb_define_method(color, "to_hash",    subextColorToHash,        0);
+  rb_define_method(color, "to_str",     subextColorToString,      0);
+  rb_define_method(color, "+",          subextColorOperatorPlus,  1);
+  rb_define_method(color, "==",         subextColorEqual,         1);
+  rb_define_method(color, "eql?",       subextColorEqualTyped,    1);
 
   /* Aliases */
   rb_define_alias(color, "to_a", "to_ary");
@@ -1957,12 +1957,12 @@
   rb_define_method(geometry, "hash", SubtlextHash, 0);
 
   /* Class methods */
-  rb_define_method(geometry, "initialize", subGeometryInit,      -1);
-  rb_define_method(geometry, "to_ary",     subGeometryToArray,    0);
-  rb_define_method(geometry, "to_hash",    subGeometryToHash,     0);
-  rb_define_method(geometry, "to_str",     subGeometryToString,   0);
-  rb_define_method(geometry, "==",         subGeometryEqual,      1);
-  rb_define_method(geometry, "eql?",       subGeometryEqualTyped, 1);
+  rb_define_method(geometry, "initialize", subextGeometryInit,      -1);
+  rb_define_method(geometry, "to_ary",     subextGeometryToArray,    0);
+  rb_define_method(geometry, "to_hash",    subextGeometryToHash,     0);
+  rb_define_method(geometry, "to_str",     subextGeometryToString,   0);
+  rb_define_method(geometry, "==",         subextGeometryEqual,      1);
+  rb_define_method(geometry, "eql?",       subextGeometryEqualTyped, 1);
 
   /* Aliases */
   rb_define_alias(geometry, "to_a", "to_ary");
@@ -1987,9 +1987,9 @@
   rb_define_attr(gravity, "geometry", 1, 0);
 
   /* Singleton methods */
-  rb_define_singleton_method(gravity, "find",  subGravitySingFind,  1);
-  rb_define_singleton_method(gravity, "first", subGravitySingFirst, 1);
-  rb_define_singleton_method(gravity, "list",  subGravitySingList,  0);
+  rb_define_singleton_method(gravity, "find",  subextGravitySingFind,  1);
+  rb_define_singleton_method(gravity, "first", subextGravitySingFirst, 1);
+  rb_define_singleton_method(gravity, "list",  subextGravitySingList,  0);
 
   /* General methods */
   rb_define_method(gravity, "<=>",  SubtlextEqualSpaceId, 1);
@@ -1998,16 +1998,16 @@
   rb_define_method(gravity, "hash", SubtlextHash,         0);
 
   /* Class methods */
-  rb_define_method(gravity, "initialize",   subGravityInit,           -1);
-  rb_define_method(gravity, "save",         subGravitySave,            0);
-  rb_define_method(gravity, "clients",      subGravityClients,         0);
-  rb_define_method(gravity, "geometry_for", subGravityGeometryFor,     1);
-  rb_define_method(gravity, "geometry",     subGravityGeometryReader,  0);
-  rb_define_method(gravity, "geometry=",    subGravityGeometryWriter, -1);
-  rb_define_method(gravity, "tiling=",      subGravityTilingWriter,    1);
-  rb_define_method(gravity, "to_str",       subGravityToString,        0);
-  rb_define_method(gravity, "to_sym",       subGravityToSym,           0);
-  rb_define_method(gravity, "kill",         subGravityKill,            0);
+  rb_define_method(gravity, "initialize",   subextGravityInit,           -1);
+  rb_define_method(gravity, "save",         subextGravitySave,            0);
+  rb_define_method(gravity, "clients",      subextGravityClients,         0);
+  rb_define_method(gravity, "geometry_for", subextGravityGeometryFor,     1);
+  rb_define_method(gravity, "geometry",     subextGravityGeometryReader,  0);
+  rb_define_method(gravity, "geometry=",    subextGravityGeometryWriter, -1);
+  rb_define_method(gravity, "tiling=",      subextGravityTilingWriter,    1);
+  rb_define_method(gravity, "to_str",       subextGravityToString,        0);
+  rb_define_method(gravity, "to_sym",       subextGravityToSym,           0);
+  rb_define_method(gravity, "kill",         subextGravityKill,            0);
 
   /* Singleton aliases */
   rb_define_alias(rb_singleton_class(gravity), "[]",  "first");
@@ -2034,25 +2034,25 @@
   rb_define_attr(icon, "pixmap", 1, 0);
 
   /* Allocate */
-  rb_define_alloc_func(icon, subIconAlloc);
+  rb_define_alloc_func(icon, subextIconAlloc);
 
   /* General methods */
   rb_define_method(icon, "<=>",  SubtlextEqualSpacePixmap, 1);
   rb_define_method(icon, "hash", SubtlextHash,             0);
 
   /* Class methods */
-  rb_define_method(icon, "initialize", subIconInit,         -1);
-  rb_define_method(icon, "draw_point", subIconDrawPoint,    -1);
-  rb_define_method(icon, "draw_line",  subIconDrawLine,     -1);
-  rb_define_method(icon, "draw_rect",  subIconDrawRect,     -1);
-  rb_define_method(icon, "copy_area",  subIconCopyArea,     -1);
-  rb_define_method(icon, "clear",      subIconClear,        -1);
-  rb_define_method(icon, "bitmap?",    subIconAskBitmap,     0);
-  rb_define_method(icon, "to_str",     subIconToString,      0);
-  rb_define_method(icon, "+",          subIconOperatorPlus,  1);
-  rb_define_method(icon, "*",          subIconOperatorMult,  1);
-  rb_define_method(icon, "==",         subIconEqual,         1);
-  rb_define_method(icon, "eql?",       subIconEqualTyped,    1);
+  rb_define_method(icon, "initialize", subextIconInit,         -1);
+  rb_define_method(icon, "draw_point", subextIconDrawPoint,    -1);
+  rb_define_method(icon, "draw_line",  subextIconDrawLine,     -1);
+  rb_define_method(icon, "draw_rect",  subextIconDrawRect,     -1);
+  rb_define_method(icon, "copy_area",  subextIconCopyArea,     -1);
+  rb_define_method(icon, "clear",      subextIconClear,        -1);
+  rb_define_method(icon, "bitmap?",    subextIconAskBitmap,     0);
+  rb_define_method(icon, "to_str",     subextIconToString,      0);
+  rb_define_method(icon, "+",          subextIconOperatorPlus,  1);
+  rb_define_method(icon, "*",          subextIconOperatorMult,  1);
+  rb_define_method(icon, "==",         subextIconEqual,         1);
+  rb_define_method(icon, "eql?",       subextIconEqualTyped,    1);
 
   /* Aliases */
   rb_define_alias(icon, "to_s", "to_str");
@@ -2073,9 +2073,9 @@
   rb_define_attr(screen, "geometry", 1, 0);
 
   /* Singleton methods */
-  rb_define_singleton_method(screen, "find",    subScreenSingFind,    1);
-  rb_define_singleton_method(screen, "list",    subScreenSingList,    0);
-  rb_define_singleton_method(screen, "current", subScreenSingCurrent, 0);
+  rb_define_singleton_method(screen, "find",    subextScreenSingFind,    1);
+  rb_define_singleton_method(screen, "list",    subextScreenSingList,    0);
+  rb_define_singleton_method(screen, "current", subextScreenSingCurrent, 0);
 
   /* General methods */
   rb_define_method(screen, "<=>",  SubtlextEqualSpaceId, 1);
@@ -2084,13 +2084,13 @@
   rb_define_method(screen, "hash", SubtlextHash,         0);
 
   /* Class methods */
-  rb_define_method(screen, "initialize", subScreenInit,       1);
-  rb_define_method(screen, "update",     subScreenUpdate,     0);
-  rb_define_method(screen, "jump",       subScreenJump,       0);
-  rb_define_method(screen, "view",       subScreenViewReader, 0);
-  rb_define_method(screen, "view=",      subScreenViewWriter, 1);
-  rb_define_method(screen, "current?",   subScreenAskCurrent, 0);
-  rb_define_method(screen, "to_str",     subScreenToString,   0);
+  rb_define_method(screen, "initialize", subextScreenInit,       1);
+  rb_define_method(screen, "update",     subextScreenUpdate,     0);
+  rb_define_method(screen, "jump",       subextScreenJump,       0);
+  rb_define_method(screen, "view",       subextScreenViewReader, 0);
+  rb_define_method(screen, "view=",      subextScreenViewWriter, 1);
+  rb_define_method(screen, "current?",   subextScreenAskCurrent, 0);
+  rb_define_method(screen, "to_str",     subextScreenToString,   0);
 
   /* Singleton aliases */
   rb_define_alias(rb_singleton_class(screen), "[]",  "find");
@@ -2109,17 +2109,17 @@
   subtle = rb_define_module_under(mod, "Subtle");
 
   /* Singleton methods */
-  rb_define_singleton_method(subtle, "display",       subSubtleSingDisplayReader, 0);
-  rb_define_singleton_method(subtle, "display=",      subSubtleSingDisplayWriter, 1);
-  rb_define_singleton_method(subtle, "select_window", subSubtleSingSelect,        0);
-  rb_define_singleton_method(subtle, "running?",      subSubtleSingAskRunning,    0);
-  rb_define_singleton_method(subtle, "render",        subSubtleSingRender,        0);
-  rb_define_singleton_method(subtle, "reload",        subSubtleSingReload,        0);
-  rb_define_singleton_method(subtle, "restart",       subSubtleSingRestart,       0);
-  rb_define_singleton_method(subtle, "quit",          subSubtleSingQuit,          0);
-  rb_define_singleton_method(subtle, "colors",        subSubtleSingColors,        0);
-  rb_define_singleton_method(subtle, "font",          subSubtleSingFont,          0);
-  rb_define_singleton_method(subtle, "spawn",         subSubtleSingSpawn,         1);
+  rb_define_singleton_method(subtle, "display",       subextSubtleSingDisplayReader, 0);
+  rb_define_singleton_method(subtle, "display=",      subextSubtleSingDisplayWriter, 1);
+  rb_define_singleton_method(subtle, "select_window", subextSubtleSingSelect,        0);
+  rb_define_singleton_method(subtle, "running?",      subextSubtleSingAskRunning,    0);
+  rb_define_singleton_method(subtle, "render",        subextSubtleSingRender,        0);
+  rb_define_singleton_method(subtle, "reload",        subextSubtleSingReload,        0);
+  rb_define_singleton_method(subtle, "restart",       subextSubtleSingRestart,       0);
+  rb_define_singleton_method(subtle, "quit",          subextSubtleSingQuit,          0);
+  rb_define_singleton_method(subtle, "colors",        subextSubtleSingColors,        0);
+  rb_define_singleton_method(subtle, "font",          subextSubtleSingFont,          0);
+  rb_define_singleton_method(subtle, "spawn",         subextSubtleSingSpawn,         1);
 
   /* Aliases */
   rb_define_alias(rb_singleton_class(subtle), "reload_config", "reload");
@@ -2142,9 +2142,9 @@
   rb_define_attr(sublet, "geometry", 1, 0);
 
   /* Singleton methods */
-  rb_define_singleton_method(sublet, "find",  subSubletSingFind,  1);
-  rb_define_singleton_method(sublet, "first", subSubletSingFirst, 1);
-  rb_define_singleton_method(sublet, "list",  subSubletSingList,  0);
+  rb_define_singleton_method(sublet, "find",  subextSubletSingFind,  1);
+  rb_define_singleton_method(sublet, "first", subextSubletSingFirst, 1);
+  rb_define_singleton_method(sublet, "list",  subextSubletSingList,  0);
 
   /* General methods */
   rb_define_method(sublet, "<=>",    SubtlextEqualSpaceId, 1);
@@ -2154,13 +2154,13 @@
   rb_define_method(sublet, "hash",   SubtlextHash,         0);
 
   /* Class methods */
-  rb_define_method(sublet, "initialize", subSubletInit,           1);
-  rb_define_method(sublet, "update",     subSubletUpdate,         0);
-  rb_define_method(sublet, "send_data",  subSubletSend,           1);
-  rb_define_method(sublet, "show",       subSubletVisibilityShow, 0);
-  rb_define_method(sublet, "hide",       subSubletVisibilityHide, 0);
-  rb_define_method(sublet, "to_str",     subSubletToString,       0);
-  rb_define_method(sublet, "kill",       subSubletKill,           0);
+  rb_define_method(sublet, "initialize", subextSubletInit,           1);
+  rb_define_method(sublet, "update",     subextSubletUpdate,         0);
+  rb_define_method(sublet, "send_data",  subextSubletSend,           1);
+  rb_define_method(sublet, "show",       subextSubletVisibilityShow, 0);
+  rb_define_method(sublet, "hide",       subextSubletVisibilityHide, 0);
+  rb_define_method(sublet, "to_str",     subextSubletToString,       0);
+  rb_define_method(sublet, "kill",       subextSubletKill,           0);
 
   /* Singleton aliases */
   rb_define_alias(rb_singleton_class(sublet), "[]",  "first");
@@ -2184,10 +2184,10 @@
   rb_define_attr(tag,   "name", 1, 0);
 
   /* Singleton methods */
-  rb_define_singleton_method(tag, "find",    subTagSingFind,    1);
-  rb_define_singleton_method(tag, "first",   subTagSingFirst,   1);
-  rb_define_singleton_method(tag, "visible", subTagSingVisible, 0);
-  rb_define_singleton_method(tag, "list",    subTagSingList,    0);
+  rb_define_singleton_method(tag, "find",    subextTagSingFind,    1);
+  rb_define_singleton_method(tag, "first",   subextTagSingFirst,   1);
+  rb_define_singleton_method(tag, "visible", subextTagSingVisible, 0);
+  rb_define_singleton_method(tag, "list",    subextTagSingList,    0);
 
   /* General methods */
   rb_define_method(tag, "<=>",  SubtlextEqualSpaceId, 1);
@@ -2196,12 +2196,12 @@
   rb_define_method(tag, "hash", SubtlextHash,         0);
 
   /* Class methods */
-  rb_define_method(tag, "initialize", subTagInit,     1);
-  rb_define_method(tag, "save",       subTagSave,     0);
-  rb_define_method(tag, "clients",    subTagClients,  0);
-  rb_define_method(tag, "views",      subTagViews,    0);
-  rb_define_method(tag, "to_str",     subTagToString, 0);
-  rb_define_method(tag, "kill",       subTagKill,     0);
+  rb_define_method(tag, "initialize", subextTagInit,     1);
+  rb_define_method(tag, "save",       subextTagSave,     0);
+  rb_define_method(tag, "clients",    subextTagClients,  0);
+  rb_define_method(tag, "views",      subextTagViews,    0);
+  rb_define_method(tag, "to_str",     subextTagToString, 0);
+  rb_define_method(tag, "kill",       subextTagKill,     0);
 
   /* Singleton aliases */
   rb_define_alias(rb_singleton_class(tag), "[]",  "first");
@@ -2231,9 +2231,9 @@
   rb_define_attr(tray, "klass",    1, 0);
 
   /* Singleton methods */
-  rb_define_singleton_method(tray, "find",  subTraySingFind,  1);
-  rb_define_singleton_method(tray, "first", subTraySingFirst, 1);
-  rb_define_singleton_method(tray, "list",  subTraySingList,  0);
+  rb_define_singleton_method(tray, "find",  subextTraySingFind,  1);
+  rb_define_singleton_method(tray, "first", subextTraySingFirst, 1);
+  rb_define_singleton_method(tray, "list",  subextTraySingList,  0);
 
   /* General methods */
   rb_define_method(tray, "send_button", SubtlextSendButton,      -1);
@@ -2248,11 +2248,11 @@
   rb_define_method(tray, "hash",        SubtlextHash,             0);
 
   /* Class methods */
-  rb_define_method(tray, "initialize", subTrayInit,       1);
-  rb_define_method(tray, "update",     subTrayUpdate,     0);
+  rb_define_method(tray, "initialize", subextTrayInit,       1);
+  rb_define_method(tray, "update",     subextTrayUpdate,     0);
   rb_define_method(tray, "pid",        SubtlextPidReader, 0);
-  rb_define_method(tray, "to_str",     subTrayToString,   0);
-  rb_define_method(tray, "kill",       subTrayKill,       0);
+  rb_define_method(tray, "to_str",     subextTrayToString,   0);
+  rb_define_method(tray, "kill",       subextTrayKill,       0);
 
   /* Singleton aliases */
   rb_define_alias(rb_singleton_class(tray), "[]",  "first");
@@ -2277,11 +2277,11 @@
   rb_define_attr(view, "name", 1, 0);
 
   /* Singleton methods */
-  rb_define_singleton_method(view, "find",    subViewSingFind,    1);
-  rb_define_singleton_method(view, "first",   subViewSingFirst,   1);
-  rb_define_singleton_method(view, "current", subViewSingCurrent, 0);
-  rb_define_singleton_method(view, "visible", subViewSingVisible, 0);
-  rb_define_singleton_method(view, "list",    subViewSingList,    0);
+  rb_define_singleton_method(view, "find",    subextViewSingFind,    1);
+  rb_define_singleton_method(view, "first",   subextViewSingFirst,   1);
+  rb_define_singleton_method(view, "current", subextViewSingCurrent, 0);
+  rb_define_singleton_method(view, "visible", subextViewSingVisible, 0);
+  rb_define_singleton_method(view, "list",    subextViewSingList,    0);
 
   /* General methods */
   rb_define_method(view, "has_tag?", SubtlextTagAsk,       1);
@@ -2298,17 +2298,17 @@
   rb_define_method(view, "hash",     SubtlextHash,         0);
 
   /* Class methods */
-  rb_define_method(view, "initialize", subViewInit,          1);
-  rb_define_method(view, "update",     subViewUpdate,        0);
-  rb_define_method(view, "save",       subViewSave,          0);
-  rb_define_method(view, "clients",    subViewClients,       0);
-  rb_define_method(view, "jump",       subViewJump,          0);
-  rb_define_method(view, "next",       subViewSelectNext,    0);
-  rb_define_method(view, "prev",       subViewSelectPrev,    0);
-  rb_define_method(view, "current?",   subViewAskCurrent,    0);
-  rb_define_method(view, "icon",       subViewIcon,          0);
-  rb_define_method(view, "to_str",     subViewToString,      0);
-  rb_define_method(view, "kill",       subViewKill,          0);
+  rb_define_method(view, "initialize", subextViewInit,          1);
+  rb_define_method(view, "update",     subextViewUpdate,        0);
+  rb_define_method(view, "save",       subextViewSave,          0);
+  rb_define_method(view, "clients",    subextViewClients,       0);
+  rb_define_method(view, "jump",       subextViewJump,          0);
+  rb_define_method(view, "next",       subextViewSelectNext,    0);
+  rb_define_method(view, "prev",       subextViewSelectPrev,    0);
+  rb_define_method(view, "current?",   subextViewAskCurrent,    0);
+  rb_define_method(view, "icon",       subextViewIcon,          0);
+  rb_define_method(view, "to_str",     subextViewToString,      0);
+  rb_define_method(view, "kill",       subextViewKill,          0);
 
   /* Singleton aliases */
   rb_define_alias(rb_singleton_class(view), "[]",  "first");
@@ -2335,10 +2335,10 @@
   rb_define_attr(window, "hidden", 1, 0);
 
   /* Allocate */
-  rb_define_alloc_func(window, subWindowAlloc);
+  rb_define_alloc_func(window, subextWindowAlloc);
 
   /* Singleton methods */
-  rb_define_singleton_method(window, "once", subWindowSingOnce, 1);
+  rb_define_singleton_method(window, "once", subextWindowSingOnce, 1);
 
   /* General methods */
   rb_define_method(window, "send_button", SubtlextSendButton,      -1);
@@ -2351,33 +2351,33 @@
   rb_define_method(window, "eql?",        SubtlextEqualTypedWindow, 1);
 
   /* Class methods */
-  rb_define_method(window, "initialize",    subWindowInit,              1);
-  rb_define_method(window, "subwindow",     subWindowSubwindow,         1);
-  rb_define_method(window, "name=",         subWindowNameWriter,        1);
-  rb_define_method(window, "font=",         subWindowFontWriter,        1);
-  rb_define_method(window, "font_y",        subWindowFontYReader,       0);
-  rb_define_method(window, "font_height",   subWindowFontHeightReader,  0);
-  rb_define_method(window, "font_width",    subWindowFontWidth,         1);
-  rb_define_method(window, "foreground=",   subWindowForegroundWriter,  1);
-  rb_define_method(window, "background=",   subWindowBackgroundWriter,  1);
-  rb_define_method(window, "border_color=", subWindowBorderColorWriter, 1);
-  rb_define_method(window, "border_size=",  subWindowBorderSizeWriter,  1);
-  rb_define_method(window, "on",            subWindowOn,               -1);
-  rb_define_method(window, "draw_point",    subWindowDrawPoint,        -1);
-  rb_define_method(window, "draw_line",     subWindowDrawLine,         -1);
-  rb_define_method(window, "draw_rect",     subWindowDrawRect,         -1);
-  rb_define_method(window, "draw_text",     subWindowDrawText,         -1);
-  rb_define_method(window, "draw_icon",     subWindowDrawIcon,         -1);
-  rb_define_method(window, "clear",         subWindowClear,            -1);
-  rb_define_method(window, "redraw",        subWindowRedraw,            0);
-  rb_define_method(window, "geometry",      subWindowGeometryReader,    0);
-  rb_define_method(window, "geometry=",     subWindowGeometryWriter,    1);
-  rb_define_method(window, "raise",         subWindowRaise,             0);
-  rb_define_method(window, "lower",         subWindowLower,             0);
-  rb_define_method(window, "show",          subWindowShow,              0);
-  rb_define_method(window, "hide",          subWindowHide,              0);
-  rb_define_method(window, "hidden?",       subWindowAskHidden,         0);
-  rb_define_method(window, "kill",          subWindowKill,              0);
+  rb_define_method(window, "initialize",    subextWindowInit,              1);
+  rb_define_method(window, "subwindow",     subextWindowSubwindow,         1);
+  rb_define_method(window, "name=",         subextWindowNameWriter,        1);
+  rb_define_method(window, "font=",         subextWindowFontWriter,        1);
+  rb_define_method(window, "font_y",        subextWindowFontYReader,       0);
+  rb_define_method(window, "font_height",   subextWindowFontHeightReader,  0);
+  rb_define_method(window, "font_width",    subextWindowFontWidth,         1);
+  rb_define_method(window, "foreground=",   subextWindowForegroundWriter,  1);
+  rb_define_method(window, "background=",   subextWindowBackgroundWriter,  1);
+  rb_define_method(window, "border_color=", subextWindowBorderColorWriter, 1);
+  rb_define_method(window, "border_size=",  subextWindowBorderSizeWriter,  1);
+  rb_define_method(window, "on",            subextWindowOn,               -1);
+  rb_define_method(window, "draw_point",    subextWindowDrawPoint,        -1);
+  rb_define_method(window, "draw_line",     subextWindowDrawLine,         -1);
+  rb_define_method(window, "draw_rect",     subextWindowDrawRect,         -1);
+  rb_define_method(window, "draw_text",     subextWindowDrawText,         -1);
+  rb_define_method(window, "draw_icon",     subextWindowDrawIcon,         -1);
+  rb_define_method(window, "clear",         subextWindowClear,            -1);
+  rb_define_method(window, "redraw",        subextWindowRedraw,            0);
+  rb_define_method(window, "geometry",      subextWindowGeometryReader,    0);
+  rb_define_method(window, "geometry=",     subextWindowGeometryWriter,    1);
+  rb_define_method(window, "raise",         subextWindowRaise,             0);
+  rb_define_method(window, "lower",         subextWindowLower,             0);
+  rb_define_method(window, "show",          subextWindowShow,              0);
+  rb_define_method(window, "hide",          subextWindowHide,              0);
+  rb_define_method(window, "hidden?",       subextWindowAskHidden,         0);
+  rb_define_method(window, "kill",          subextWindowKill,              0);
 
   /* Singleton aliases */
   rb_define_alias(rb_singleton_class(window), "configure", "new");
--- a/src/subtlext/subtlext.h	Thu Jul 19 13:52:09 2012 +0200
+++ b/src/subtlext/subtlext.h	Tue Sep 18 12:37:06 2012 +0200
@@ -49,269 +49,269 @@
 
 /* client.c {{{ */
 /* Singleton */
-VALUE subClientSingSelect(VALUE self);                            ///< Select client
-VALUE subClientSingFind(VALUE self, VALUE value);                 ///< Find client
-VALUE subClientSingFirst(VALUE self, VALUE value);                ///< Find first client
-VALUE subClientSingCurrent(VALUE self);                           ///< Get current client
-VALUE subClientSingVisible(VALUE self);                           ///< Get all visible clients
-VALUE subClientSingList(VALUE self);                              ///< Get all clients
-VALUE subClientSingRecent(VALUE self);                            ///< Get recent active clients
+VALUE subextClientSingSelect(VALUE self);                            ///< Select client
+VALUE subextClientSingFind(VALUE self, VALUE value);                 ///< Find client
+VALUE subextClientSingFirst(VALUE self, VALUE value);                ///< Find first client
+VALUE subextClientSingCurrent(VALUE self);                           ///< Get current client
+VALUE subextClientSingVisible(VALUE self);                           ///< Get all visible clients
+VALUE subextClientSingList(VALUE self);                              ///< Get all clients
+VALUE subextClientSingRecent(VALUE self);                            ///< Get recent active clients
 
 /* Class */
-VALUE subClientInstantiate(Window win);                           ///< Instantiate client
-VALUE subClientInit(VALUE self, VALUE win);                       ///< Create client
-VALUE subClientUpdate(VALUE self);                                ///< Update client
-VALUE subClientViewList(VALUE self);                              ///< Get views clients is on
-VALUE subClientFlagsAskFull(VALUE self);                          ///< Is client fullscreen
-VALUE subClientFlagsAskFloat(VALUE self);                         ///< Is client floating
-VALUE subClientFlagsAskStick(VALUE self);                         ///< Is client stick
-VALUE subClientFlagsAskResize(VALUE self);                        ///< Is client resize
-VALUE subClientFlagsAskUrgent(VALUE self);                        ///< Is client urgent
-VALUE subClientFlagsAskZaphod(VALUE self);                        ///< Is client zaphod
-VALUE subClientFlagsAskFixed(VALUE self);                         ///< Is client fixed
-VALUE subClientFlagsAskBorderless(VALUE self);                    ///< Is client borderless
-VALUE subClientFlagsToggleFull(VALUE self);                       ///< Toggle fullscreen
-VALUE subClientFlagsToggleFloat(VALUE self);                      ///< Toggle floating
-VALUE subClientFlagsToggleStick(VALUE self);                      ///< Toggle stick
-VALUE subClientFlagsToggleResize(VALUE self);                     ///< Toggle resize
-VALUE subClientFlagsToggleUrgent(VALUE self);                     ///< Toggle urgent
-VALUE subClientFlagsToggleZaphod(VALUE self);                     ///< Toggle zaphod
-VALUE subClientFlagsToggleFixed(VALUE self);                      ///< Toggle fixed
-VALUE subClientFlagsToggleBorderless(VALUE self);                 ///< Toggle borderless
-VALUE subClientFlagsWriter(VALUE self, VALUE value);              ///< Set multiple flags
-VALUE subClientRestackRaise(VALUE self);                          ///< Raise client
-VALUE subClientRestackLower(VALUE self);                          ///< Lower client
-VALUE subClientAskAlive(VALUE self);                              ///< Is client alive
-VALUE subClientGravityReader(VALUE self);                         ///< Get client gravity
-VALUE subClientGravityWriter(VALUE self, VALUE value);            ///< Set client gravity
-VALUE subClientGeometryReader(VALUE self);                        ///< Get client geometry
-VALUE subClientGeometryWriter(int argc, VALUE *argv,
+VALUE subextClientInstantiate(Window win);                           ///< Instantiate client
+VALUE subextClientInit(VALUE self, VALUE win);                       ///< Create client
+VALUE subextClientUpdate(VALUE self);                                ///< Update client
+VALUE subextClientViewList(VALUE self);                              ///< Get views clients is on
+VALUE subextClientFlagsAskFull(VALUE self);                          ///< Is client fullscreen
+VALUE subextClientFlagsAskFloat(VALUE self);                         ///< Is client floating
+VALUE subextClientFlagsAskStick(VALUE self);                         ///< Is client stick
+VALUE subextClientFlagsAskResize(VALUE self);                        ///< Is client resize
+VALUE subextClientFlagsAskUrgent(VALUE self);                        ///< Is client urgent
+VALUE subextClientFlagsAskZaphod(VALUE self);                        ///< Is client zaphod
+VALUE subextClientFlagsAskFixed(VALUE self);                         ///< Is client fixed
+VALUE subextClientFlagsAskBorderless(VALUE self);                    ///< Is client borderless
+VALUE subextClientFlagsToggleFull(VALUE self);                       ///< Toggle fullscreen
+VALUE subextClientFlagsToggleFloat(VALUE self);                      ///< Toggle floating
+VALUE subextClientFlagsToggleStick(VALUE self);                      ///< Toggle stick
+VALUE subextClientFlagsToggleResize(VALUE self);                     ///< Toggle resize
+VALUE subextClientFlagsToggleUrgent(VALUE self);                     ///< Toggle urgent
+VALUE subextClientFlagsToggleZaphod(VALUE self);                     ///< Toggle zaphod
+VALUE subextClientFlagsToggleFixed(VALUE self);                      ///< Toggle fixed
+VALUE subextClientFlagsToggleBorderless(VALUE self);                 ///< Toggle borderless
+VALUE subextClientFlagsWriter(VALUE self, VALUE value);              ///< Set multiple flags
+VALUE subextClientRestackRaise(VALUE self);                          ///< Raise client
+VALUE subextClientRestackLower(VALUE self);                          ///< Lower client
+VALUE subextClientAskAlive(VALUE self);                              ///< Is client alive
+VALUE subextClientGravityReader(VALUE self);                         ///< Get client gravity
+VALUE subextClientGravityWriter(VALUE self, VALUE value);            ///< Set client gravity
+VALUE subextClientGeometryReader(VALUE self);                        ///< Get client geometry
+VALUE subextClientGeometryWriter(int argc, VALUE *argv,
   VALUE self);                                                    ///< Set client geometry
-VALUE subClientScreenReader(VALUE self);                          ///< Get client screen
-VALUE subClientResizeWriter(VALUE self, VALUE value);             ///< Set Client resize
-VALUE subClientToString(VALUE self);                              ///< Client to string
-VALUE subClientKill(VALUE self);                                  ///< Kill client
+VALUE subextClientScreenReader(VALUE self);                          ///< Get client screen
+VALUE subextClientResizeWriter(VALUE self, VALUE value);             ///< Set Client resize
+VALUE subextClientToString(VALUE self);                              ///< Client to string
+VALUE subextClientKill(VALUE self);                                  ///< Kill client
 /* }}} */
 
 /* color.c {{{ */
-unsigned long subColorPixel(VALUE red, VALUE green,
+unsigned long subextColorPixel(VALUE red, VALUE green,
   VALUE blue, XColor *xcolor);                                    ///< Get pixel value
-VALUE subColorInstantiate(unsigned long pixel);                   ///< Instantiate color
-VALUE subColorInit(int argc, VALUE *argv, VALUE self);            ///< Create new color
-VALUE subColorToHex(VALUE self);                                  ///< Convert to hex string
-VALUE subColorToArray(VALUE self);                                ///< Color to array
-VALUE subColorToHash(VALUE self);                                 ///< Color to hash
-VALUE subColorToString(VALUE self);                               ///< Convert to string
-VALUE subColorOperatorPlus(VALUE self, VALUE value);              ///< Concat string
-VALUE subColorEqual(VALUE self, VALUE other);                     ///< Whether objects are equal
-VALUE subColorEqualTyped(VALUE self, VALUE other);                ///< Whether objects are equal typed
+VALUE subextColorInstantiate(unsigned long pixel);                   ///< Instantiate color
+VALUE subextColorInit(int argc, VALUE *argv, VALUE self);            ///< Create new color
+VALUE subextColorToHex(VALUE self);                                  ///< Convert to hex string
+VALUE subextColorToArray(VALUE self);                                ///< Color to array
+VALUE subextColorToHash(VALUE self);                                 ///< Color to hash
+VALUE subextColorToString(VALUE self);                               ///< Convert to string
+VALUE subextColorOperatorPlus(VALUE self, VALUE value);              ///< Concat string
+VALUE subextColorEqual(VALUE self, VALUE other);                     ///< Whether objects are equal
+VALUE subextColorEqualTyped(VALUE self, VALUE other);                ///< Whether objects are equal typed
 /* }}} */
 
 /* geometry.c {{{ */
-VALUE subGeometryInstantiate(int x, int y, int width,
+VALUE subextGeometryInstantiate(int x, int y, int width,
   int height);                                                    ///< Instantiate geometry
-void subGeometryToRect(VALUE self, XRectangle *r);                ///< Geometry to rect
-VALUE subGeometryInit(int argc, VALUE *argv, VALUE self);         ///< Create new geometry
-VALUE subGeometryToArray(VALUE self);                             ///< Geometry to array
-VALUE subGeometryToHash(VALUE self);                              ///< Geometry to hash
-VALUE subGeometryToString(VALUE self);                            ///< Geometry to string
-VALUE subGeometryEqual(VALUE self, VALUE other);                  ///< Whether objects are equal
-VALUE subGeometryEqualTyped(VALUE self, VALUE other);             ///< Whether objects are equal typed
+void subextGeometryToRect(VALUE self, XRectangle *r);                ///< Geometry to rect
+VALUE subextGeometryInit(int argc, VALUE *argv, VALUE self);         ///< Create new geometry
+VALUE subextGeometryToArray(VALUE self);                             ///< Geometry to array
+VALUE subextGeometryToHash(VALUE self);                              ///< Geometry to hash
+VALUE subextGeometryToString(VALUE self);                            ///< Geometry to string
+VALUE subextGeometryEqual(VALUE self, VALUE other);                  ///< Whether objects are equal
+VALUE subextGeometryEqualTyped(VALUE self, VALUE other);             ///< Whether objects are equal typed
 /* }}} */
 
 /* gravity.c {{{ */
 /* Singleton */
-VALUE subGravitySingFind(VALUE self, VALUE value);                ///< Find gravity
-VALUE subGravitySingFirst(VALUE self, VALUE value);               ///< Find first gravity
-VALUE subGravitySingList(VALUE self);                             ///< Get all gravities
+VALUE subextGravitySingFind(VALUE self, VALUE value);                ///< Find gravity
+VALUE subextGravitySingFirst(VALUE self, VALUE value);               ///< Find first gravity
+VALUE subextGravitySingList(VALUE self);                             ///< Get all gravities
 
 /* Class */
-VALUE subGravityInstantiate(char *name);                          ///< Instantiate gravity
-VALUE subGravityInit(int argc, VALUE *argv, VALUE self);          ///< Create new gravity
-VALUE subGravitySave(VALUE self);                                 ///< Save gravity
-VALUE subGravityClients(VALUE self);                              ///< List clients with gravity
-VALUE subGravityGeometryFor(VALUE self, VALUE value);             ///< Get geometry gravity for screen
-VALUE subGravityGeometryReader(VALUE self);                       ///< Get geometry gravity
-VALUE subGravityGeometryWriter(int argc, VALUE *argv, VALUE self);///< Get geometry gravity
-VALUE subGravityTilingWriter(VALUE self, VALUE value);            ///< Set gravity tiling
-VALUE subGravityToString(VALUE self);                             ///< Gravity to string
-VALUE subGravityToSym(VALUE self);                                ///< Gravity to symbol
-VALUE subGravityKill(VALUE self);                                 ///< Kill gravity
+VALUE subextGravityInstantiate(char *name);                          ///< Instantiate gravity
+VALUE subextGravityInit(int argc, VALUE *argv, VALUE self);          ///< Create new gravity
+VALUE subextGravitySave(VALUE self);                                 ///< Save gravity
+VALUE subextGravityClients(VALUE self);                              ///< List clients with gravity
+VALUE subextGravityGeometryFor(VALUE self, VALUE value);             ///< Get geometry gravity for screen
+VALUE subextGravityGeometryReader(VALUE self);                       ///< Get geometry gravity
+VALUE subextGravityGeometryWriter(int argc, VALUE *argv, VALUE self);///< Get geometry gravity
+VALUE subextGravityTilingWriter(VALUE self, VALUE value);            ///< Set gravity tiling
+VALUE subextGravityToString(VALUE self);                             ///< Gravity to string
+VALUE subextGravityToSym(VALUE self);                                ///< Gravity to symbol
+VALUE subextGravityKill(VALUE self);                                 ///< Kill gravity
 /* }}} */
 
 /* icon.c {{{ */
-VALUE subIconAlloc(VALUE self);                                   ///< Allocate icon
-VALUE subIconInit(int argc, VALUE *argv, VALUE self);             ///< Init icon
-VALUE subIconDrawPoint(int argc, VALUE *argv, VALUE self);        ///< Draw a point
-VALUE subIconDrawLine(int argc, VALUE *argv, VALUE self);         ///< Draw a line
-VALUE subIconDrawRect(int argc, VALUE *argv, VALUE self);         ///< Draw a rect
-VALUE subIconCopyArea(int argc, VALUE *argv, VALUE self);         ///< Copy icon area
-VALUE subIconClear(int argc, VALUE *argv, VALUE self);            ///< Clear icon
-VALUE subIconAskBitmap(VALUE self);                               ///< Whether icon is bitmap
-VALUE subIconToString(VALUE self);                                ///< Convert to string
-VALUE subIconOperatorPlus(VALUE self, VALUE value);               ///< Concat string
-VALUE subIconOperatorMult(VALUE self, VALUE value);               ///< Concat string
-VALUE subIconEqual(VALUE self, VALUE other);                      ///< Whether objects are equal
-VALUE subIconEqualTyped(VALUE self, VALUE other);                 ///< Whether objects are equal typed
+VALUE subextIconAlloc(VALUE self);                                   ///< Allocate icon
+VALUE subextIconInit(int argc, VALUE *argv, VALUE self);             ///< Init icon
+VALUE subextIconDrawPoint(int argc, VALUE *argv, VALUE self);        ///< Draw a point
+VALUE subextIconDrawLine(int argc, VALUE *argv, VALUE self);         ///< Draw a line
+VALUE subextIconDrawRect(int argc, VALUE *argv, VALUE self);         ///< Draw a rect
+VALUE subextIconCopyArea(int argc, VALUE *argv, VALUE self);         ///< Copy icon area
+VALUE subextIconClear(int argc, VALUE *argv, VALUE self);            ///< Clear icon
+VALUE subextIconAskBitmap(VALUE self);                               ///< Whether icon is bitmap
+VALUE subextIconToString(VALUE self);                                ///< Convert to string
+VALUE subextIconOperatorPlus(VALUE self, VALUE value);               ///< Concat string
+VALUE subextIconOperatorMult(VALUE self, VALUE value);               ///< Concat string
+VALUE subextIconEqual(VALUE self, VALUE other);                      ///< Whether objects are equal
+VALUE subextIconEqualTyped(VALUE self, VALUE other);                 ///< Whether objects are equal typed
 /* }}} */
 
 /* screen.c {{{ */
 /* Singleton */
-VALUE subScreenSingFind(VALUE self, VALUE id);                    ///< Find screen
-VALUE subScreenSingList(VALUE self);                              ///< Get all screens
-VALUE subScreenSingCurrent(VALUE self);                           ///< Get current screen
+VALUE subextScreenSingFind(VALUE self, VALUE id);                    ///< Find screen
+VALUE subextScreenSingList(VALUE self);                              ///< Get all screens
+VALUE subextScreenSingCurrent(VALUE self);                           ///< Get current screen
 
 /* Class */
-VALUE subScreenInstantiate(int id);                               ///< Instantiate screen
-VALUE subScreenInit(VALUE self, VALUE id);                        ///< Create new screen
-VALUE subScreenUpdate(VALUE self);                                ///< Update screen
-VALUE subScreenJump(VALUE self);                                  ///< Jump to this screen
-VALUE subScreenViewReader(VALUE self);                            ///< Get screen view
-VALUE subScreenViewWriter(VALUE self, VALUE value);               ///< Set screen view
-VALUE subScreenAskCurrent(VALUE self);                            ///< Whether screen is current
-VALUE subScreenToString(VALUE self);                              ///< Screen to string
+VALUE subextScreenInstantiate(int id);                               ///< Instantiate screen
+VALUE subextScreenInit(VALUE self, VALUE id);                        ///< Create new screen
+VALUE subextScreenUpdate(VALUE self);                                ///< Update screen
+VALUE subextScreenJump(VALUE self);                                  ///< Jump to this screen
+VALUE subextScreenViewReader(VALUE self);                            ///< Get screen view
+VALUE subextScreenViewWriter(VALUE self, VALUE value);               ///< Set screen view
+VALUE subextScreenAskCurrent(VALUE self);                            ///< Whether screen is current
+VALUE subextScreenToString(VALUE self);                              ///< Screen to string
 /* }}} */
 
 /* sublet.c {{{ */
 /* Singleton */
-VALUE subSubletSingFind(VALUE self, VALUE value);                 ///< Find sublet
-VALUE subSubletSingFirst(VALUE self, VALUE value);                ///< Find first sublet
-VALUE subSubletSingList(VALUE self);                              ///< Get all sublets
+VALUE subextSubletSingFind(VALUE self, VALUE value);                 ///< Find sublet
+VALUE subextSubletSingFirst(VALUE self, VALUE value);                ///< Find first sublet
+VALUE subextSubletSingList(VALUE self);                              ///< Get all sublets
 
 /* Class */
-VALUE subSubletInit(VALUE self, VALUE name);                      ///< Create sublet
-VALUE subSubletUpdate(VALUE self);                                ///< Update sublet
-VALUE subSubletSend(VALUE self, VALUE value);                     ///< Send data to sublet
-VALUE subSubletVisibilityShow(VALUE self);                        ///< Show sublet
-VALUE subSubletVisibilityHide(VALUE self);                        ///< Hide sublet
-VALUE subSubletGeometryReader(VALUE self);                        ///< Get sublet geometry
-VALUE subSubletToString(VALUE self);                              ///< Sublet to string
-VALUE subSubletKill(VALUE self);                                  ///< Kill sublet
+VALUE subextSubletInit(VALUE self, VALUE name);                      ///< Create sublet
+VALUE subextSubletUpdate(VALUE self);                                ///< Update sublet
+VALUE subextSubletSend(VALUE self, VALUE value);                     ///< Send data to sublet
+VALUE subextSubletVisibilityShow(VALUE self);                        ///< Show sublet
+VALUE subextSubletVisibilityHide(VALUE self);                        ///< Hide sublet
+VALUE subextSubletGeometryReader(VALUE self);                        ///< Get sublet geometry
+VALUE subextSubletToString(VALUE self);                              ///< Sublet to string
+VALUE subextSubletKill(VALUE self);                                  ///< Kill sublet
 /* }}} */
 
 /* subtle.c {{{ */
 /* Singleton */
-VALUE subSubtleSingDisplayReader(VALUE self);                     ///< Get display
-VALUE subSubtleSingDisplayWriter(VALUE self, VALUE display);      ///< Set display
-VALUE subSubtleSingAskRunning(VALUE self);                        ///< Is subtle running
-VALUE subSubtleSingSelect(VALUE self);                            ///< Select window
-VALUE subSubtleSingRender(VALUE self);                            ///< Render panels
-VALUE subSubtleSingReload(VALUE self);                            ///< Reload config and sublets
-VALUE subSubtleSingRestart(VALUE self);                           ///< Restart subtle
-VALUE subSubtleSingQuit(VALUE self);                              ///< Quit subtle
-VALUE subSubtleSingColors(VALUE self);                            ///< Get colors
-VALUE subSubtleSingFont(VALUE self);                              ///< Get font
-VALUE subSubtleSingSpawn(VALUE self, VALUE cmd);                  ///< Spawn command
+VALUE subextSubtleSingDisplayReader(VALUE self);                     ///< Get display
+VALUE subextSubtleSingDisplayWriter(VALUE self, VALUE display);      ///< Set display
+VALUE subextSubtleSingAskRunning(VALUE self);                        ///< Is subtle running
+VALUE subextSubtleSingSelect(VALUE self);                            ///< Select window
+VALUE subextSubtleSingRender(VALUE self);                            ///< Render panels
+VALUE subextSubtleSingReload(VALUE self);                            ///< Reload config and sublets
+VALUE subextSubtleSingRestart(VALUE self);                           ///< Restart subtle
+VALUE subextSubtleSingQuit(VALUE self);                              ///< Quit subtle
+VALUE subextSubtleSingColors(VALUE self);                            ///< Get colors
+VALUE subextSubtleSingFont(VALUE self);                              ///< Get font
+VALUE subextSubtleSingSpawn(VALUE self, VALUE cmd);                  ///< Spawn command
 /* }}} */
 
 /* subtlext.c {{{ */
-void subSubtlextConnect(char *display_string);                    ///< Connect to display
-void subSubtlextBacktrace(void);                                  ///< Print ruby backtrace
-VALUE subSubtlextConcat(VALUE str1, VALUE str2);                  ///< Concat strings
-VALUE subSubtlextParse(VALUE value, char *buf,
+void subextSubtlextConnect(char *display_string);                    ///< Connect to display
+void subextSubtlextBacktrace(void);                                  ///< Print ruby backtrace
+VALUE subextSubtlextConcat(VALUE str1, VALUE str2);                  ///< Concat strings
+VALUE subextSubtlextParse(VALUE value, char *buf,
   int len, int *flags);                                           ///< Parse arguments
-VALUE subSubtlextOneOrMany(VALUE value, VALUE prev);              ///< Return one or many
-VALUE subSubtlextManyToOne(VALUE value);                          ///< Return one from many
-Window *subSubtlextWindowList(char *prop_name, int *size);        ///< Get window list
-int subSubtlextFindString(char *prop_name, char *source,
+VALUE subextSubtlextOneOrMany(VALUE value, VALUE prev);              ///< Return one or many
+VALUE subextSubtlextManyToOne(VALUE value);                          ///< Return one from many
+Window *subextSubtlextWindowList(char *prop_name, int *size);        ///< Get window list
+int subextSubtlextFindString(char *prop_name, char *source,
   char **name, int flags);                                        ///< Find string id
-VALUE subSubtlextFindObjects(char *prop_name, char *class_name,
+VALUE subextSubtlextFindObjects(char *prop_name, char *class_name,
   char *source, int flags, int first);                            ///< Find objects
-VALUE subSubtlextFindWindows(char *prop_name, char *class_name,
+VALUE subextSubtlextFindWindows(char *prop_name, char *class_name,
   char *source, int flags, int first);                            ///< Find objects
-VALUE subSubtlextFindObjectsGeometry(char *prop_name,
+VALUE subextSubtlextFindObjectsGeometry(char *prop_name,
   char *class_name, char *source, int flags, int first);          ///< Find objects with geometries
 /* }}} */
 
 /* tag.c {{{ */
 /* Singleton */
-VALUE subTagSingFind(VALUE self, VALUE value);                    ///< Find tag
-VALUE subTagSingFirst(VALUE self, VALUE value);                   ///< Find first tag
-VALUE subTagSingVisible(VALUE self);                              ///< Get all visible tags
-VALUE subTagSingList(VALUE self);                                 ///< Get all tags
+VALUE subextTagSingFind(VALUE self, VALUE value);                    ///< Find tag
+VALUE subextTagSingFirst(VALUE self, VALUE value);                   ///< Find first tag
+VALUE subextTagSingVisible(VALUE self);                              ///< Get all visible tags
+VALUE subextTagSingList(VALUE self);                                 ///< Get all tags
 
 /* Class */
-VALUE subTagInstantiate(char *name);                              ///< Instantiate tag
-VALUE subTagInit(VALUE self, VALUE name);                         ///< Create tag
-VALUE subTagSave(VALUE self);                                     ///< Save tag
-VALUE subTagClients(VALUE self);                                  ///< Get clients with tag
-VALUE subTagViews(VALUE self);                                    ///< Get views with tag
-VALUE subTagToString(VALUE self);                                 ///< Tag to string
-VALUE subTagKill(VALUE self);                                     ///< Kill tag
+VALUE subextTagInstantiate(char *name);                              ///< Instantiate tag
+VALUE subextTagInit(VALUE self, VALUE name);                         ///< Create tag
+VALUE subextTagSave(VALUE self);                                     ///< Save tag
+VALUE subextTagClients(VALUE self);                                  ///< Get clients with tag
+VALUE subextTagViews(VALUE self);                                    ///< Get views with tag
+VALUE subextTagToString(VALUE self);                                 ///< Tag to string
+VALUE subextTagKill(VALUE self);                                     ///< Kill tag
 /* }}} */
 
 /* tray.c {{{ */
 /* Singleton */
-VALUE subTraySingFind(VALUE self, VALUE name);                    ///< Find tray
-VALUE subTraySingFirst(VALUE self, VALUE name);                   ///< Find first tray
-VALUE subTraySingList(VALUE self);                                ///< Get all trays
+VALUE subextTraySingFind(VALUE self, VALUE name);                    ///< Find tray
+VALUE subextTraySingFirst(VALUE self, VALUE name);                   ///< Find first tray
+VALUE subextTraySingList(VALUE self);                                ///< Get all trays
 
 /* Class */
-VALUE subTrayInstantiate(Window win);                             ///< Instantiate tray
-VALUE subTrayInit(VALUE self, VALUE win);                         ///< Create tray
-VALUE subTrayUpdate(VALUE self);                                  ///< Update tray
-VALUE subTrayToString(VALUE self);                                ///< Tray to string
-VALUE subTrayKill(VALUE self);                                    ///< Kill tray
+VALUE subextTrayInstantiate(Window win);                             ///< Instantiate tray
+VALUE subextTrayInit(VALUE self, VALUE win);                         ///< Create tray
+VALUE subextTrayUpdate(VALUE self);                                  ///< Update tray
+VALUE subextTrayToString(VALUE self);                                ///< Tray to string
+VALUE subextTrayKill(VALUE self);                                    ///< Kill tray
 /* }}} */
 
 /* view.c {{{ */
 /* Singleton */
-VALUE subViewSingFind(VALUE self, VALUE name);                    ///< Find view
-VALUE subViewSingFirst(VALUE self, VALUE name);                   ///< Find first view
-VALUE subViewSingCurrent(VALUE self);                             ///< Get current view
-VALUE subViewSingVisible(VALUE self);                             ///< Get all visible views
-VALUE subViewSingList(VALUE self);                                ///< Get all views
+VALUE subextViewSingFind(VALUE self, VALUE name);                    ///< Find view
+VALUE subextViewSingFirst(VALUE self, VALUE name);                   ///< Find first view
+VALUE subextViewSingCurrent(VALUE self);                             ///< Get current view
+VALUE subextViewSingVisible(VALUE self);                             ///< Get all visible views
+VALUE subextViewSingList(VALUE self);                                ///< Get all views
 
 /* Class */
-VALUE subViewInstantiate(char *name);                             ///< Instantiate view
-VALUE subViewInit(VALUE self, VALUE name);                        ///< Create view
-VALUE subViewUpdate(VALUE self);                                  ///< Update view
-VALUE subViewSave(VALUE self);                                    ///< Save view
-VALUE subViewClients(VALUE self);                                 ///< Get clients of view
-VALUE subViewJump(VALUE self);                                    ///< Jump to view
-VALUE subViewSelectNext(VALUE self);                              ///< Select next view
-VALUE subViewSelectPrev(VALUE self);                              ///< Select next view
-VALUE subViewAskCurrent(VALUE self);                              ///< Whether view the current
-VALUE subViewIcon(VALUE self);                                    ///< View icon if any
-VALUE subViewToString(VALUE self);                                ///< View to string
-VALUE subViewKill(VALUE self);                                    ///< Kill view
+VALUE subextViewInstantiate(char *name);                             ///< Instantiate view
+VALUE subextViewInit(VALUE self, VALUE name);                        ///< Create view
+VALUE subextViewUpdate(VALUE self);                                  ///< Update view
+VALUE subextViewSave(VALUE self);                                    ///< Save view
+VALUE subextViewClients(VALUE self);                                 ///< Get clients of view
+VALUE subextViewJump(VALUE self);                                    ///< Jump to view
+VALUE subextViewSelectNext(VALUE self);                              ///< Select next view
+VALUE subextViewSelectPrev(VALUE self);                              ///< Select next view
+VALUE subextViewAskCurrent(VALUE self);                              ///< Whether view the current
+VALUE subextViewIcon(VALUE self);                                    ///< View icon if any
+VALUE subextViewToString(VALUE self);                                ///< View to string
+VALUE subextViewKill(VALUE self);                                    ///< Kill view
 /* }}} */
 
 /* window.c {{{ */
 /* Singleton */
-VALUE subWindowSingOnce(VALUE self, VALUE geometry);              ///< Run window once
+VALUE subextWindowSingOnce(VALUE self, VALUE geometry);              ///< Run window once
 
 /* Class */
-VALUE subWindowInstantiate(VALUE geometry);                       ///< Instantiate window
-VALUE subWindowDispatcher(int argc, VALUE *argv, VALUE self);     ///< Window dispatcher
-VALUE subWindowAlloc(VALUE self);                                 ///< Allocate window
-VALUE subWindowInit(VALUE self, VALUE geometry);                  ///< Init window
-VALUE subWindowSubwindow(VALUE self, VALUE geometry);             ///< Create a subwindow
-VALUE subWindowNameWriter(VALUE self, VALUE value);               ///< Set name
-VALUE subWindowFontWriter(VALUE self, VALUE value);               ///< Set font
-VALUE subWindowFontYReader(VALUE self);                           ///< Get y offset of font
-VALUE subWindowFontHeightReader(VALUE self);                      ///< Get height of font
-VALUE subWindowFontWidth(VALUE self, VALUE string);               ///< Get string width for font
-VALUE subWindowForegroundWriter(VALUE self, VALUE value);         ///< Set foreground
-VALUE subWindowBackgroundWriter(VALUE self, VALUE value);         ///< Set background
-VALUE subWindowBorderColorWriter(VALUE self, VALUE value);        ///< Set border color
-VALUE subWindowBorderSizeWriter(VALUE self, VALUE value);         ///< Set border size
-VALUE subWindowGeometryReader(VALUE self);                        ///< Get geometry
-VALUE subWindowGeometryWriter(VALUE self, VALUE value);           ///< Set geometry
-VALUE subWindowOn(int argc, VALUE *argv, VALUE self);             ///< Add event handler
-VALUE subWindowDrawPoint(int argc, VALUE *argv, VALUE self);      ///< Draw a point
-VALUE subWindowDrawLine(int argc, VALUE *argv, VALUE self);       ///< Draw a line
-VALUE subWindowDrawRect(int argc, VALUE *argv, VALUE self);       ///< Draw a rect
-VALUE subWindowDrawText(int arcg, VALUE *argv, VALUE self);       ///< Draw text
-VALUE subWindowDrawIcon(int arcg, VALUE *argv, VALUE self);       ///< Draw icon
-VALUE subWindowClear(int argc, VALUE *argv, VALUE self);          ///< Clear area or window
-VALUE subWindowRedraw(VALUE self);                                ///< Redraw window
-VALUE subWindowRaise(VALUE self);                                 ///< Raise window
-VALUE subWindowLower(VALUE self);                                 ///< Lower window
-VALUE subWindowShow(VALUE self);                                  ///< Show window
-VALUE subWindowHide(VALUE self);                                  ///< Hide window
-VALUE subWindowAskHidden(VALUE self);                             ///< Whether window is hidden
-VALUE subWindowKill(VALUE self);                                  ///< Kill window
+VALUE subextWindowInstantiate(VALUE geometry);                       ///< Instantiate window
+VALUE subextWindowDispatcher(int argc, VALUE *argv, VALUE self);     ///< Window dispatcher
+VALUE subextWindowAlloc(VALUE self);                                 ///< Allocate window
+VALUE subextWindowInit(VALUE self, VALUE geometry);                  ///< Init window
+VALUE subextWindowSubwindow(VALUE self, VALUE geometry);             ///< Create a subwindow
+VALUE subextWindowNameWriter(VALUE self, VALUE value);               ///< Set name
+VALUE subextWindowFontWriter(VALUE self, VALUE value);               ///< Set font
+VALUE subextWindowFontYReader(VALUE self);                           ///< Get y offset of font
+VALUE subextWindowFontHeightReader(VALUE self);                      ///< Get height of font
+VALUE subextWindowFontWidth(VALUE self, VALUE string);               ///< Get string width for font
+VALUE subextWindowForegroundWriter(VALUE self, VALUE value);         ///< Set foreground
+VALUE subextWindowBackgroundWriter(VALUE self, VALUE value);         ///< Set background
+VALUE subextWindowBorderColorWriter(VALUE self, VALUE value);        ///< Set border color
+VALUE subextWindowBorderSizeWriter(VALUE self, VALUE value);         ///< Set border size
+VALUE subextWindowGeometryReader(VALUE self);                        ///< Get geometry
+VALUE subextWindowGeometryWriter(VALUE self, VALUE value);           ///< Set geometry
+VALUE subextWindowOn(int argc, VALUE *argv, VALUE self);             ///< Add event handler
+VALUE subextWindowDrawPoint(int argc, VALUE *argv, VALUE self);      ///< Draw a point
+VALUE subextWindowDrawLine(int argc, VALUE *argv, VALUE self);       ///< Draw a line
+VALUE subextWindowDrawRect(int argc, VALUE *argv, VALUE self);       ///< Draw a rect
+VALUE subextWindowDrawText(int arcg, VALUE *argv, VALUE self);       ///< Draw text
+VALUE subextWindowDrawIcon(int arcg, VALUE *argv, VALUE self);       ///< Draw icon
+VALUE subextWindowClear(int argc, VALUE *argv, VALUE self);          ///< Clear area or window
+VALUE subextWindowRedraw(VALUE self);                                ///< Redraw window
+VALUE subextWindowRaise(VALUE self);                                 ///< Raise window
+VALUE subextWindowLower(VALUE self);                                 ///< Lower window
+VALUE subextWindowShow(VALUE self);                                  ///< Show window
+VALUE subextWindowHide(VALUE self);                                  ///< Hide window
+VALUE subextWindowAskHidden(VALUE self);                             ///< Whether window is hidden
+VALUE subextWindowKill(VALUE self);                                  ///< Kill window
 /* }}} */
 
 #endif /* SUBTLEXT_H */
--- a/src/subtlext/tag.c	Thu Jul 19 13:52:09 2012 +0200
+++ b/src/subtlext/tag.c	Tue Sep 18 12:37:06 2012 +0200
@@ -20,29 +20,29 @@
   VALUE parsed = Qnil;
   char buf[50] = { 0 };
 
-  subSubtlextConnect(NULL); ///< Implicit open connection
+  subextSubtlextConnect(NULL); ///< Implicit open connection
 
   /* Check object type */
-  switch(rb_type(parsed = subSubtlextParse(
+  switch(rb_type(parsed = subextSubtlextParse(
       value, buf, sizeof(buf), &flags)))
     {
       case T_SYMBOL:
         if(CHAR2SYM("visible") == parsed)
-          return subTagSingVisible(Qnil);
+          return subextTagSingVisible(Qnil);
         else if(CHAR2SYM("all") == parsed)
-          return subTagSingList(Qnil);
+          return subextTagSingList(Qnil);
         break;
       case T_OBJECT:
         if(rb_obj_is_instance_of(value, rb_const_get(mod, rb_intern("Tag"))))
           return parsed;
     }
 
-  return subSubtlextFindObjects("SUBTLE_TAG_LIST", "Tag", buf, flags, first);
+  return subextSubtlextFindObjects("SUBTLE_TAG_LIST", "Tag", buf, flags, first);
 } /* }}} */
 
 /* Singleton */
 
-/* subTagSingFind {{{ */
+/* subextTagSingFind {{{ */
 /*
  * call-seq: find(value) -> Array
  *           [value]     -> Array
@@ -72,13 +72,13 @@
  */
 
 VALUE
-subTagSingFind(VALUE self,
+subextTagSingFind(VALUE self,
   VALUE value)
 {
   return TagFind(value, False);
 } /* }}} */
 
-/* subTagSingFirst {{{ */
+/* subextTagSingFirst {{{ */
 /*
  * call-seq: first(value) -> Subtlext::Tag or nil
  *
@@ -98,13 +98,13 @@
  */
 
 VALUE
-subTagSingFirst(VALUE self,
+subextTagSingFirst(VALUE self,
   VALUE value)
 {
   return TagFind(value, True);
 } /* }}} */
 
-/* subTagSingVisible {{{ */
+/* subextTagSingVisible {{{ */
 /*
  * call-seq: visible -> Array
  *
@@ -118,14 +118,14 @@
  */
 
 VALUE
-subTagSingVisible(VALUE self)
+subextTagSingVisible(VALUE self)
 {
   int i, ntags = 0;
   char **tags = NULL;
   unsigned long *visible = NULL;
   VALUE meth = Qnil, klass = Qnil, array = Qnil, t = Qnil;
 
-  subSubtlextConnect(NULL); ///< Implicit open connection
+  subextSubtlextConnect(NULL); ///< Implicit open connection
 
   /* Fetch data */
   meth    = rb_intern("new");
@@ -159,7 +159,7 @@
   return array;
 } /* }}} */
 
-/* subTagSingList {{{ */
+/* subextTagSingList {{{ */
 /*
  * call-seq: list -> Array
  *
@@ -174,13 +174,13 @@
  */
 
 VALUE
-subTagSingList(VALUE self)
+subextTagSingList(VALUE self)
 {
   int i, ntags = 0;
   char **tags = NULL;
   VALUE meth = Qnil, klass = Qnil, array = Qnil;
 
-  subSubtlextConnect(NULL); ///< Implicit open connection
+  subextSubtlextConnect(NULL); ///< Implicit open connection
 
   /* Fetch data */
   meth  = rb_intern("new");
@@ -207,9 +207,9 @@
 
 /* Helper */
 
-/* subTagInstantiate {{{ */
+/* subextTagInstantiate {{{ */
 VALUE
-subTagInstantiate(char *name)
+subextTagInstantiate(char *name)
 {
   VALUE klass = Qnil, tag = Qnil;
 
@@ -222,7 +222,7 @@
 
 /* Class */
 
-/* subTagInit {{{ */
+/* subextTagInit {{{ */
 /*
  * call-seq: new(name) -> Subtlext::Tag
  *
@@ -235,7 +235,7 @@
  */
 
 VALUE
-subTagInit(VALUE self,
+subextTagInit(VALUE self,
   VALUE name)
 {
   if(T_STRING != rb_type(name))
@@ -246,12 +246,12 @@
   rb_iv_set(self, "@id",   Qnil);
   rb_iv_set(self, "@name", name);
 
-  subSubtlextConnect(NULL); ///< Implicit open connection
+  subextSubtlextConnect(NULL); ///< Implicit open connection
 
   return self;
 } /* }}} */
 
-/* subTagSave {{{ */
+/* subextTagSave {{{ */
 /*
  * call-seq: save -> Subtlext::Tag
  *
@@ -262,7 +262,7 @@
  */
 
 VALUE
-subTagSave(VALUE self)
+subextTagSave(VALUE self)
 {
   int id = -1;
   VALUE name = Qnil;
@@ -271,10 +271,10 @@
   rb_check_frozen(self);
   GET_ATTR(self, "@name", name);
 
-  subSubtlextConnect(NULL); ///< Implicit open connection
+  subextSubtlextConnect(NULL); ///< Implicit open connection
 
   /* Create tag if needed */
-  if(-1 == (id = subSubtlextFindString("SUBTLE_TAG_LIST",
+  if(-1 == (id = subextSubtlextFindString("SUBTLE_TAG_LIST",
       RSTRING_PTR(name), NULL, SUB_MATCH_EXACT)))
     {
       SubMessageData data = { { 0, 0, 0, 0, 0 } };
@@ -283,7 +283,7 @@
       subSharedMessage(display, DefaultRootWindow(display),
         "SUBTLE_TAG_NEW", data, 8, True);
 
-      id = subSubtlextFindString("SUBTLE_TAG_LIST",
+      id = subextSubtlextFindString("SUBTLE_TAG_LIST",
         RSTRING_PTR(name), NULL, SUB_MATCH_EXACT);
     }
 
@@ -310,7 +310,7 @@
   return self;
 } /* }}} */
 
-/* subTagClients {{{ */
+/* subextTagClients {{{ */
 /*
  * call-seq: clients -> Array
  *
@@ -324,7 +324,7 @@
  */
 
 VALUE
-subTagClients(VALUE self)
+subextTagClients(VALUE self)
 {
   int i, nclients = 0;
   Window *clients = NULL;
@@ -339,7 +339,7 @@
   klass   = rb_const_get(mod, rb_intern("Client"));
   meth    = rb_intern("new");
   array   = rb_ary_new();
-  clients = subSubtlextWindowList("_NET_CLIENT_LIST", &nclients);
+  clients = subextSubtlextWindowList("_NET_CLIENT_LIST", &nclients);
 
   /* Check results */
   if(clients)
@@ -357,7 +357,7 @@
                   if(!NIL_P(c = rb_funcall(klass, meth, 1,
                       LONG2NUM(clients[i]))))
                     {
-                      subClientUpdate(c);
+                      subextClientUpdate(c);
 
                       rb_ary_push(array, c);
                     }
@@ -371,7 +371,7 @@
   return array;
 } /* }}} */
 
-/* subTagViews {{{ */
+/* subextTagViews {{{ */
 /*
  * call-seq: views -> Array
  *
@@ -385,7 +385,7 @@
  */
 
 VALUE
-subTagViews(VALUE self)
+subextTagViews(VALUE self)
 {
   int i, nnames = 0;
   char **names = NULL;
@@ -396,7 +396,7 @@
   rb_check_frozen(self);
   GET_ATTR(self, "@id", id);
 
-  subSubtlextConnect(NULL); ///< Implicit open connection
+  subextSubtlextConnect(NULL); ///< Implicit open connection
 
   /* Fetch data */
   klass  = rb_const_get(mod, rb_intern("View"));
@@ -432,7 +432,7 @@
   return array;
 } /* }}} */
 
-/* subTagToString {{{ */
+/* subextTagToString {{{ */
 /*
  * call-seq: to_str -> String
  *
@@ -443,7 +443,7 @@
  */
 
 VALUE
-subTagToString(VALUE self)
+subextTagToString(VALUE self)
 {
   VALUE name = Qnil;
 
@@ -453,7 +453,7 @@
   return name;
 } /* }}} */
 
-/* subTagKill {{{ */
+/* subextTagKill {{{ */
 /*
  * call-seq: kill -> nil
  *
@@ -464,7 +464,7 @@
  */
 
 VALUE
-subTagKill(VALUE self)
+subextTagKill(VALUE self)
 {
   VALUE id = Qnil;
   SubMessageData data = { { 0, 0, 0, 0, 0 } };
@@ -473,7 +473,7 @@
   rb_check_frozen(self);
   GET_ATTR(self, "@id", id);
 
-  subSubtlextConnect(NULL); ///< Implicit open connection
+  subextSubtlextConnect(NULL); ///< Implicit open connection
 
   /* Send message */
   data.l[0] = FIX2INT(id);
--- a/src/subtlext/tray.c	Thu Jul 19 13:52:09 2012 +0200
+++ b/src/subtlext/tray.c	Tue Sep 18 12:37:06 2012 +0200
@@ -20,28 +20,28 @@
   VALUE parsed = Qnil;
   char buf[50] = { 0 };
 
-  subSubtlextConnect(NULL); ///< Implicit open connection
+  subextSubtlextConnect(NULL); ///< Implicit open connection
 
   /* Check object type */
-  switch(rb_type(parsed = subSubtlextParse(
+  switch(rb_type(parsed = subextSubtlextParse(
       value, buf, sizeof(buf), &flags)))
     {
       case T_SYMBOL:
         if(CHAR2SYM("all") == parsed)
-          return subTraySingList(Qnil);
+          return subextTraySingList(Qnil);
         break;
       case T_OBJECT:
         if(rb_obj_is_instance_of(value, rb_const_get(mod, rb_intern("Tray"))))
           return parsed;
     }
 
-  return subSubtlextFindWindows("SUBTLE_TRAY_LIST", "Tray",
+  return subextSubtlextFindWindows("SUBTLE_TRAY_LIST", "Tray",
     buf, flags, first);
 } /* }}} */
 
 /* Singleton */
 
-/* subTraySingFind {{{ */
+/* subextTraySingFind {{{ */
 /*
  * call-seq: find(value) -> Array
  *           [value]     -> Array
@@ -79,13 +79,13 @@
  */
 
 VALUE
-subTraySingFind(VALUE self,
+subextTraySingFind(VALUE self,
   VALUE value)
 {
   return TrayFind(value, False);
 } /* }}} */
 
-/* subTraySingFirst {{{ */
+/* subextTraySingFirst {{{ */
 /*
  * call-seq: find(value) -> Subtlext::Tray or nil
  *
@@ -110,13 +110,13 @@
  */
 
 VALUE
-subTraySingFirst(VALUE self,
+subextTraySingFirst(VALUE self,
   VALUE value)
 {
   return TrayFind(value, True);
 } /* }}} */
 
-/* subTraySingList {{{ */
+/* subextTraySingList {{{ */
 /*
  * call-seq: list -> Array
  *
@@ -131,13 +131,13 @@
  */
 
 VALUE
-subTraySingList(VALUE self)
+subextTraySingList(VALUE self)
 {
   int i, ntrays = 0;
   Window *trays = NULL;
   VALUE meth = Qnil, klass = Qnil, array = Qnil;
 
-  subSubtlextConnect(NULL); ///< Implicit open connection
+  subextSubtlextConnect(NULL); ///< Implicit open connection
 
   /* Fetch data */
   meth  = rb_intern("new");
@@ -145,13 +145,13 @@
   array = rb_ary_new();
 
   /* Check results */
-  if((trays = subSubtlextWindowList("SUBTLE_TRAY_LIST", &ntrays)))
+  if((trays = subextSubtlextWindowList("SUBTLE_TRAY_LIST", &ntrays)))
     {
       for(i = 0; i < ntrays; i++)
         {
           VALUE t = rb_funcall(klass, meth, 1, LONG2NUM(trays[i]));
 
-          if(!NIL_P(t)) subTrayUpdate(t);
+          if(!NIL_P(t)) subextTrayUpdate(t);
 
           rb_ary_push(array, t);
         }
@@ -164,9 +164,9 @@
 
 /* Helper */
 
-/* subTrayInstantiate {{{ */
+/* subextTrayInstantiate {{{ */
 VALUE
-subTrayInstantiate(Window win)
+subextTrayInstantiate(Window win)
 {
   VALUE klass = Qnil, tray = Qnil;
 
@@ -179,7 +179,7 @@
 
 /* Class */
 
-/* subTrayInit {{{ */
+/* subextTrayInit {{{ */
 /*
  * call-seq: new(name) -> Subtlext::Tray
  *
@@ -192,7 +192,7 @@
  */
 
 VALUE
-subTrayInit(VALUE self,
+subextTrayInit(VALUE self,
   VALUE win)
 {
   if(!FIXNUM_P(win) && T_BIGNUM != rb_type(win))
@@ -205,12 +205,12 @@
   rb_iv_set(self, "@klass", Qnil);
   rb_iv_set(self, "@title", Qnil);
 
-  subSubtlextConnect(NULL); ///< Implicit open connection
+  subextSubtlextConnect(NULL); ///< Implicit open connection
 
   return self;
 } /* }}} */
 
-/* subTrayUpdate {{{ */
+/* subextTrayUpdate {{{ */
 /*
  * call-seq: update -> Subtlext::Tray
  *
@@ -221,13 +221,13 @@
  */
 
 VALUE
-subTrayUpdate(VALUE self)
+subextTrayUpdate(VALUE self)
 {
   Window win = None;
 
   /* Check ruby object */
   rb_check_frozen(self);
-  subSubtlextConnect(NULL); ///< Implicit open connection
+  subextSubtlextConnect(NULL); ///< Implicit open connection
 
   /* Get tray values */
   win = NUM2LONG(rb_iv_get(self, "@win"));
@@ -255,7 +255,7 @@
   return self;
 } /* }}} */
 
-/* subTrayToString {{{ */
+/* subextTrayToString {{{ */
 /*
  * call-seq: to_str -> String
  *
@@ -266,7 +266,7 @@
  */
 
 VALUE
-subTrayToString(VALUE self)
+subextTrayToString(VALUE self)
 {
   VALUE name = Qnil;
 
@@ -276,7 +276,7 @@
   return name;
 } /* }}} */
 
-/* subTrayKill {{{ */
+/* subextTrayKill {{{ */
 /*
  * call-seq: kill -> nil
  *
@@ -287,7 +287,7 @@
  */
 
 VALUE
-subTrayKill(VALUE self)
+subextTrayKill(VALUE self)
 {
   VALUE win = Qnil;
   SubMessageData data = { { 0, 0, 0, 0, 0 } };
@@ -296,7 +296,7 @@
   rb_check_frozen(self);
   GET_ATTR(self, "@win", win);
 
-  subSubtlextConnect(NULL); ///< Implicit open connection
+  subextSubtlextConnect(NULL); ///< Implicit open connection
 
   /* Send message */
   data.l[0] = CurrentTime;
--- a/src/subtlext/view.c	Thu Jul 19 13:52:09 2012 +0200
+++ b/src/subtlext/view.c	Tue Sep 18 12:37:06 2012 +0200
@@ -24,7 +24,7 @@
   rb_check_frozen(self);
   GET_ATTR(self, "@id", id);
 
-  subSubtlextConnect(NULL); ///< Implicit open connection
+  subextSubtlextConnect(NULL); ///< Implicit open connection
 
   /* Fetch data */
   if((names = subSharedPropertyGetStrings(display, DefaultRootWindow(display),
@@ -43,8 +43,8 @@
         }
 
       /* Create view */
-      ret = subViewInstantiate(names[vid]);
-      subViewUpdate(ret);
+      ret = subextViewInstantiate(names[vid]);
+      subextViewUpdate(ret);
 
       XFreeStringList(names);
     }
@@ -61,32 +61,32 @@
   VALUE parsed = Qnil;
   char buf[50] = { 0 };
 
-  subSubtlextConnect(NULL); ///< Implicit open connection
+  subextSubtlextConnect(NULL); ///< Implicit open connection
 
   /* Check object type */
-  switch(rb_type(parsed = subSubtlextParse(
+  switch(rb_type(parsed = subextSubtlextParse(
       value, buf, sizeof(buf), &flags)))
     {
       case T_SYMBOL:
         if(CHAR2SYM("visible") == parsed)
-          return subViewSingVisible(Qnil);
+          return subextViewSingVisible(Qnil);
         else if(CHAR2SYM("all") == parsed)
-          return subViewSingList(Qnil);
+          return subextViewSingList(Qnil);
         else if(CHAR2SYM("current") == parsed)
-          return subViewSingCurrent(Qnil);
+          return subextViewSingCurrent(Qnil);
         break;
       case T_OBJECT:
         if(rb_obj_is_instance_of(value, rb_const_get(mod, rb_intern("View"))))
           return parsed;
     }
 
-  return subSubtlextFindObjects("_NET_DESKTOP_NAMES", "View",
+  return subextSubtlextFindObjects("_NET_DESKTOP_NAMES", "View",
     buf, flags, first);
 } /* }}} */
 
 /* Singleton */
 
-/* subViewSingFind {{{ */
+/* subextViewSingFind {{{ */
 /*
  * call-seq: find(value) -> Array
  *           [value]     -> Array
@@ -116,13 +116,13 @@
  */
 
 VALUE
-subViewSingFind(VALUE self,
+subextViewSingFind(VALUE self,
   VALUE value)
 {
   return ViewFind(value, False);
 } /* }}} */
 
-/* subViewSingFirst {{{ */
+/* subextViewSingFirst {{{ */
 /*
  * call-seq: first(value) -> Subtlext::View or nil
  *
@@ -142,13 +142,13 @@
  */
 
 VALUE
-subViewSingFirst(VALUE self,
+subextViewSingFirst(VALUE self,
   VALUE value)
 {
   return ViewFind(value, True);
 } /* }}} */
 
-/* subViewSingCurrent {{{ */
+/* subextViewSingCurrent {{{ */
 /*
  * call-seq: current -> Subtlext::View
  *
@@ -159,14 +159,14 @@
  */
 
 VALUE
-subViewSingCurrent(VALUE self)
+subextViewSingCurrent(VALUE self)
 {
   int nnames = 0;
   char **names = NULL;
   unsigned long *cur_view = NULL;
   VALUE view = Qnil;
 
-  subSubtlextConnect(NULL); ///< Implicit open connection
+  subextSubtlextConnect(NULL); ///< Implicit open connection
 
   /* Fetch data */
   names    = subSharedPropertyGetStrings(display, DefaultRootWindow(display),
@@ -179,7 +179,7 @@
   if(names && cur_view)
     {
       /* Create instance */
-      view = subViewInstantiate(names[*cur_view]);
+      view = subextViewInstantiate(names[*cur_view]);
       rb_iv_set(view, "@id",  INT2FIX(*cur_view));
     }
 
@@ -189,7 +189,7 @@
   return view;
 } /* }}} */
 
-/* subViewSingVisible {{{ */
+/* subextViewSingVisible {{{ */
 /*
  * call-seq: visible -> Array
  *
@@ -203,14 +203,14 @@
  */
 
 VALUE
-subViewSingVisible(VALUE self)
+subextViewSingVisible(VALUE self)
 {
   int i, nnames = 0, *tags = NULL;
   char **names = NULL;
   unsigned long *visible = NULL;
   VALUE meth = Qnil, klass = Qnil, array = Qnil, v = Qnil;
 
-  subSubtlextConnect(NULL); ///< Implicit open connection
+  subextSubtlextConnect(NULL); ///< Implicit open connection
 
   /* Fetch data */
   meth  = rb_intern("new");
@@ -248,7 +248,7 @@
   return array;
 } /* }}} */
 
-/* subViewSingList {{{ */
+/* subextViewSingList {{{ */
 /*
  * call-seq: list -> Array
  *
@@ -263,14 +263,14 @@
  */
 
 VALUE
-subViewSingList(VALUE self)
+subextViewSingList(VALUE self)
 {
   int i, nnames = 0;
   long *tags = NULL;
   char **names = NULL;
   VALUE meth = Qnil, klass = Qnil, array = Qnil, v = Qnil;
 
-  subSubtlextConnect(NULL); ///< Implicit open connection
+  subextSubtlextConnect(NULL); ///< Implicit open connection
 
   /* Fetch data */
   klass = rb_const_get(mod, rb_intern("View"));
@@ -304,9 +304,9 @@
 
 /* Helper */
 
-/* subViewInstantiate {{{ */
+/* subextViewInstantiate {{{ */
 VALUE
-subViewInstantiate(char *name)
+subextViewInstantiate(char *name)
 {
   VALUE klass = Qnil, view = Qnil;
 
@@ -321,7 +321,7 @@
 
 /* Class */
 
-/* subViewInit {{{ */
+/* subextViewInit {{{ */
 /*
  * call-seq: new(name) -> Subtlext::View
  *
@@ -334,7 +334,7 @@
  */
 
 VALUE
-subViewInit(VALUE self,
+subextViewInit(VALUE self,
   VALUE name)
 {
   if(T_STRING != rb_type(name))
@@ -346,12 +346,12 @@
   rb_iv_set(self, "@name", name);
   rb_iv_set(self, "@tags", Qnil);
 
-  subSubtlextConnect(NULL); ///< Implicit open connection
+  subextSubtlextConnect(NULL); ///< Implicit open connection
 
   return self;
 } /* }}} */
 
-/* subViewUpdate {{{ */
+/* subextViewUpdate {{{ */
 /*
  * call-seq: update -> Subtlext::View
  *
@@ -362,7 +362,7 @@
  */
 
 VALUE
-subViewUpdate(VALUE self)
+subextViewUpdate(VALUE self)
 {
   long *tags = NULL, ntags = 0;
   VALUE id = Qnil;
@@ -371,7 +371,7 @@
   rb_check_frozen(self);
   GET_ATTR(self, "@id", id);
 
-  subSubtlextConnect(NULL); ///< Implicit open connection
+  subextSubtlextConnect(NULL); ///< Implicit open connection
 
   /* Fetch tags */
   if((tags = (long *)subSharedPropertyGet(display, ROOT, XA_CARDINAL,
@@ -387,7 +387,7 @@
   return self;
 } /* }}} */
 
-/* subViewSave {{{ */
+/* subextViewSave {{{ */
 /*
  * call-seq: save -> Subtlext::View
  *
@@ -398,7 +398,7 @@
  */
 
 VALUE
-subViewSave(VALUE self)
+subextViewSave(VALUE self)
 {
   int id = -1;
   VALUE name = Qnil;
@@ -407,10 +407,10 @@
   rb_check_frozen(self);
   GET_ATTR(self, "@name", name);
 
-  subSubtlextConnect(NULL); ///< Implicit open connection
+  subextSubtlextConnect(NULL); ///< Implicit open connection
 
   /* Create view if needed */
-  if(-1 == (id = subSubtlextFindString("_NET_DESKTOP_NAMES",
+  if(-1 == (id = subextSubtlextFindString("_NET_DESKTOP_NAMES",
       RSTRING_PTR(name), NULL, SUB_MATCH_EXACT)))
     {
       SubMessageData data = { { 0, 0, 0, 0, 0 } };
@@ -419,7 +419,7 @@
       subSharedMessage(display, DefaultRootWindow(display),
         "SUBTLE_VIEW_NEW", data, 8, True);
 
-      id = subSubtlextFindString("_NET_DESKTOP_NAMES",
+      id = subextSubtlextFindString("_NET_DESKTOP_NAMES",
         RSTRING_PTR(name), NULL, SUB_MATCH_EXACT);
     }
 
@@ -445,7 +445,7 @@
   return self;
 } /* }}} */
 
-/* subViewClients {{{ */
+/* subextViewClients {{{ */
 /*
  * call-seq: clients -> Array
  *
@@ -459,7 +459,7 @@
  */
 
 VALUE
-subViewClients(VALUE self)
+subextViewClients(VALUE self)
 {
   int i, nclients = 0;
   Window *clients = NULL;
@@ -470,13 +470,13 @@
   rb_check_frozen(self);
   GET_ATTR(self, "@id", id);
 
-  subSubtlextConnect(NULL); ///< Implicit open connection
+  subextSubtlextConnect(NULL); ///< Implicit open connection
 
   /* Fetch data */
   klass     = rb_const_get(mod, rb_intern("Client"));
   meth      = rb_intern("new");
   array     = rb_ary_new();
-  clients   = subSubtlextWindowList("_NET_CLIENT_LIST", &nclients);
+  clients   = subextSubtlextWindowList("_NET_CLIENT_LIST", &nclients);
   view_tags = (unsigned long *)subSharedPropertyGet(display,
     DefaultRootWindow(display), XA_CARDINAL,
     XInternAtom(display, "SUBTLE_VIEW_TAGS", False), NULL);
@@ -503,7 +503,7 @@
               if(RTEST(client = rb_funcall(klass, meth,
                   1, LONG2NUM(clients[i]))))
                 {
-                  subClientUpdate(client);
+                  subextClientUpdate(client);
 
                   rb_ary_push(array, client);
                 }
@@ -520,7 +520,7 @@
   return array;
 } /* }}} */
 
-/* subViewJump {{{ */
+/* subextViewJump {{{ */
 /*
  * call-seq: jump -> Subtlext::View
  *
@@ -531,7 +531,7 @@
  */
 
 VALUE
-subViewJump(VALUE self)
+subextViewJump(VALUE self)
 {
   VALUE id = Qnil;
   SubMessageData data = { { 0, 0, 0, 0, 0 } };
@@ -540,7 +540,7 @@
   rb_check_frozen(self);
   GET_ATTR(self, "@id", id);
 
-  subSubtlextConnect(NULL); ///< Implicit open connection
+  subextSubtlextConnect(NULL); ///< Implicit open connection
 
   /* Send message */
   data.l[0] = FIX2INT(id);
@@ -552,7 +552,7 @@
   return self;
 } /* }}} */
 
-/* subViewSelectNext {{{ */
+/* subextViewSelectNext {{{ */
 /*
  * call-seq: next -> Subtlext::View or nil
  *
@@ -563,12 +563,12 @@
  */
 
 VALUE
-subViewSelectNext(VALUE self)
+subextViewSelectNext(VALUE self)
 {
   return ViewSelect(self, SUB_VIEW_NEXT);
 } /* }}} */
 
-/* subViewSelectPrev {{{ */
+/* subextViewSelectPrev {{{ */
 /*
  * call-seq: prev -> Subtlext::View or nil
  *
@@ -579,12 +579,12 @@
  */
 
 VALUE
-subViewSelectPrev(VALUE self)
+subextViewSelectPrev(VALUE self)
 {
   return ViewSelect(self, SUB_VIEW_PREV);
 } /* }}} */
 
-/* subViewAskCurrent {{{ */
+/* subextViewAskCurrent {{{ */
 /*
  * call-seq: current? -> true or false
  *
@@ -598,7 +598,7 @@
  */
 
 VALUE
-subViewAskCurrent(VALUE self)
+subextViewAskCurrent(VALUE self)
 {
   VALUE id = Qnil, ret = Qfalse;;
   unsigned long *cur_view = NULL;
@@ -620,7 +620,7 @@
   return ret;
 } /* }}} */
 
-/* subViewIcon {{{ */
+/* subextViewIcon {{{ */
 /*
  * call-seq: icon -> Subtlext::Icon or nil
  *
@@ -631,7 +631,7 @@
  */
 
 VALUE
-subViewIcon(VALUE self)
+subextViewIcon(VALUE self)
 {
   unsigned long nicons = 0;
   VALUE id = Qnil, ret = Qnil;
@@ -641,7 +641,7 @@
   rb_check_frozen(self);
   GET_ATTR(self, "@id", id);
 
-  subSubtlextConnect(NULL); ///< Implicit open connection
+  subextSubtlextConnect(NULL); ///< Implicit open connection
 
   /* Check results */
   if((icons = (unsigned long *)subSharedPropertyGet(display,
@@ -664,7 +664,7 @@
   return ret;
 } /* }}} */
 
-/* subViewToString {{{ */
+/* subextViewToString {{{ */
 /*
  * call-seq: to_str -> String
  *
@@ -675,7 +675,7 @@
  */
 
 VALUE
-subViewToString(VALUE self)
+subextViewToString(VALUE self)
 {
   VALUE name = Qnil;
 
@@ -685,7 +685,7 @@
   return name;
 } /* }}} */
 
-/* subViewKill {{{ */
+/* subextViewKill {{{ */
 /*
  * call-seq: kill -> nil
  *
@@ -696,7 +696,7 @@
  */
 
 VALUE
-subViewKill(VALUE self)
+subextViewKill(VALUE self)
 {
   VALUE id = Qnil;
   SubMessageData data = { { 0, 0, 0, 0, 0 } };
@@ -705,7 +705,7 @@
   rb_check_frozen(self);
   GET_ATTR(self, "@id", id);
 
-  subSubtlextConnect(NULL); ///< Implicit open connection
+  subextSubtlextConnect(NULL); ///< Implicit open connection
 
   /* Send message */
   data.l[0] = FIX2INT(id);
--- a/src/subtlext/window.c	Thu Jul 19 13:52:09 2012 +0200
+++ b/src/subtlext/window.c	Tue Sep 18 12:37:06 2012 +0200
@@ -89,7 +89,7 @@
 
           /* Carefully call listen proc */
           rb_protect(WindowCall, (VALUE)&rargs, &state);
-          if(state) subSubtlextBacktrace();
+          if(state) subextSubtlextBacktrace();
         }
 
      XSync(display, False); ///< Sync with X
@@ -191,7 +191,7 @@
 
             /* Carefully call listen proc */
             result = rb_protect(WindowCall, (VALUE)&rargs, &state);
-            if(state) subSubtlextBacktrace();
+            if(state) subextSubtlextBacktrace();
 
             /* End event loop? */
             if(Qtrue != result || state) loop = False;
@@ -206,7 +206,7 @@
 
             /* Carefully call listen proc */
             result = rb_protect(WindowCall, (VALUE)&rargs, &state);
-            if(state) subSubtlextBacktrace();
+            if(state) subextSubtlextBacktrace();
 
             /* End event loop? */
             if(Qtrue != result || state) loop = False;
@@ -238,7 +238,7 @@
 
 /* Singleton */
 
-/* subWindowSingOnce {{{ */
+/* subextWindowSingOnce {{{ */
 /*
  * call-seq: once(geometry) -> Value
  *
@@ -251,7 +251,7 @@
  **/
 
 VALUE
-subWindowSingOnce(VALUE self,
+subextWindowSingOnce(VALUE self,
   VALUE geometry)
 {
   VALUE win = Qnil, ret = Qnil;
@@ -259,21 +259,21 @@
   rb_need_block();
 
   /* Create new window */
-  win = subWindowInstantiate(geometry);
+  win = subextWindowInstantiate(geometry);
 
   /* Yield block */
   ret = rb_yield_values(1, win);
 
-  subWindowKill(win);
+  subextWindowKill(win);
 
   return ret;
 } /* }}} */
 
 /* Helper */
 
-/* subWindowInstantiate {{{ */
+/* subextWindowInstantiate {{{ */
 VALUE
-subWindowInstantiate(VALUE geometry)
+subextWindowInstantiate(VALUE geometry)
 {
   VALUE klass = Qnil, win = Qnil;
 
@@ -286,7 +286,7 @@
 
 /* Class */
 
-/* subWindowAlloc {{{ */
+/* subextWindowAlloc {{{ */
 /*
  * call-seq: new(geometry) -> Subtlext::Window
  *
@@ -294,7 +294,7 @@
  **/
 
 VALUE
-subWindowAlloc(VALUE self)
+subextWindowAlloc(VALUE self)
 {
   SubtlextWindow *w = NULL;
 
@@ -306,7 +306,7 @@
   return w->instance;
 } /* }}} */
 
-/* subWindowInit {{{
+/* subextWindowInit {{{
  *
  * call-seq: new(geometry, &block) -> Subtlext::Window
  *
@@ -318,7 +318,7 @@
  */
 
 VALUE
-subWindowInit(VALUE self,
+subextWindowInit(VALUE self,
   VALUE value)
 {
   SubtlextWindow *w = NULL;
@@ -328,7 +328,7 @@
     {
       VALUE geometry = Qnil;
 
-      subSubtlextConnect(NULL); ///< Implicit open connection
+      subextSubtlextConnect(NULL); ///< Implicit open connection
 
       /* Check object type */
       switch(rb_type(value))
@@ -340,10 +340,10 @@
                 XRectangle r = { 0 };
 
                 /* Create geometry */
-                geometry = subGeometryInstantiate(0, 0, 1, 1);
-                geometry = subGeometryInit(1, &value, geometry);
+                geometry = subextGeometryInstantiate(0, 0, 1, 1);
+                geometry = subextGeometryInit(1, &value, geometry);
 
-                subGeometryToRect(geometry, &r);
+                subextGeometryToRect(geometry, &r);
 
                 /* Create window */
                 sattrs.override_redirect = True;
@@ -367,7 +367,7 @@
                 /* Get window geometry */
                 if(XGetGeometry(display, w->win, &root,
                     &x, &y, &width, &height, &bw, &depth))
-                  geometry = subGeometryInstantiate(x, y, width, height);
+                  geometry = subextGeometryInstantiate(x, y, width, height);
                 else rb_raise(rb_eArgError, "Invalid window `%#lx'", w->win);
               }
             break;
@@ -394,7 +394,7 @@
   return Qnil;
 } /* }}} */
 
-/* subWindowSubwindow {{{
+/* subextWindowSubwindow {{{
  *
  * call-seq: subwindow(geometry, &block) -> Subtlext::Window or nil
  *
@@ -406,7 +406,7 @@
  */
 
 VALUE
-subWindowSubwindow(VALUE self,
+subextWindowSubwindow(VALUE self,
   VALUE geometry)
 {
   VALUE ret = Qnil;
@@ -417,9 +417,9 @@
     {
       SubtlextWindow *w2 = NULL;
 
-      subSubtlextConnect(NULL); ///< Implicit open connection
+      subextSubtlextConnect(NULL); ///< Implicit open connection
 
-      ret = subWindowInstantiate(geometry);
+      ret = subextWindowInstantiate(geometry);
 
       Data_Get_Struct(ret, SubtlextWindow, w2);
       if(w2)
@@ -435,7 +435,7 @@
   return ret;
 } /* }}} */
 
-/* subWindowNameWriter {{{ */
+/* subextWindowNameWriter {{{ */
 /*
  * call-seq: name=(str) -> String
  *
@@ -446,7 +446,7 @@
  */
 
 VALUE
-subWindowNameWriter(VALUE self,
+subextWindowNameWriter(VALUE self,
   VALUE value)
 {
   SubtlextWindow *w = NULL;
@@ -485,7 +485,7 @@
   return value;
 } /* }}} */
 
-/* subWindowFontWriter {{{ */
+/* subextWindowFontWriter {{{ */
 /*
  * call-seq: font=(string) -> String
  *
@@ -496,7 +496,7 @@
  */
 
 VALUE
-subWindowFontWriter(VALUE self,
+subextWindowFontWriter(VALUE self,
   VALUE value)
 {
   SubtlextWindow *w = NULL;
@@ -530,7 +530,7 @@
   return value;
 } /* }}} */
 
-/* subWindowFontYReader {{{ */
+/* subextWindowFontYReader {{{ */
 /*
  * call-seq: font_y -> Fixnum
  *
@@ -541,7 +541,7 @@
  */
 
 VALUE
-subWindowFontYReader(VALUE self)
+subextWindowFontYReader(VALUE self)
 {
   VALUE ret = INT2FIX(0);
   SubtlextWindow *w = NULL;
@@ -555,7 +555,7 @@
   return ret;
 } /* }}} */
 
-/* subWindowFontHeightReader {{{ */
+/* subextWindowFontHeightReader {{{ */
 /*
  * call-seq: font_height -> Fixnum
  *
@@ -566,7 +566,7 @@
  */
 
 VALUE
-subWindowFontHeightReader(VALUE self)
+subextWindowFontHeightReader(VALUE self)
 {
   VALUE ret = INT2FIX(0);
   SubtlextWindow *w = NULL;
@@ -580,7 +580,7 @@
   return ret;
 } /* }}} */
 
-/* subWindowFontWidth {{{ */
+/* subextWindowFontWidth {{{ */
 /*
  * call-seq: font_width(string) -> Fixnum
  *
@@ -591,7 +591,7 @@
  */
 
 VALUE
-subWindowFontWidth(VALUE self,
+subextWindowFontWidth(VALUE self,
   VALUE string)
 {
   VALUE ret = INT2FIX(0);
@@ -608,7 +608,7 @@
   return ret;
 } /* }}} */
 
-/* subWindowForegroundWriter {{{ */
+/* subextWindowForegroundWriter {{{ */
 /*
  * call-seq: foreground=(string) -> String
  *           foreground=(array)  -> Array
@@ -630,7 +630,7 @@
  */
 
 VALUE
-subWindowForegroundWriter(VALUE self,
+subextWindowForegroundWriter(VALUE self,
   VALUE value)
 {
   SubtlextWindow *w = NULL;
@@ -639,12 +639,12 @@
   rb_check_frozen(self);
 
   Data_Get_Struct(self, SubtlextWindow, w);
-  if(w) w->fg = subColorPixel(value, Qnil, Qnil, NULL);
+  if(w) w->fg = subextColorPixel(value, Qnil, Qnil, NULL);
 
   return value;
 } /* }}} */
 
-/* subWindowBackgroundWriter {{{ */
+/* subextWindowBackgroundWriter {{{ */
 /*
  * call-seq: background=(string) -> String
  *           background=(array)  -> Array
@@ -666,7 +666,7 @@
  */
 
 VALUE
-subWindowBackgroundWriter(VALUE self,
+subextWindowBackgroundWriter(VALUE self,
   VALUE value)
 {
   SubtlextWindow *w = NULL;
@@ -677,7 +677,7 @@
   Data_Get_Struct(self, SubtlextWindow, w);
   if(w)
     {
-      w->bg = subColorPixel(value, Qnil, Qnil, NULL);
+      w->bg = subextColorPixel(value, Qnil, Qnil, NULL);
 
       XSetWindowBackground(display, w->win, w->bg);
     }
@@ -685,7 +685,7 @@
   return value;
 } /* }}} */
 
-/* subWindowBorderColorWriter {{{ */
+/* subextWindowBorderColorWriter {{{ */
 /*
  * call-seq: border=(string) -> String
  *           border=(array)  -> Array
@@ -707,7 +707,7 @@
  */
 
 VALUE
-subWindowBorderColorWriter(VALUE self,
+subextWindowBorderColorWriter(VALUE self,
   VALUE value)
 {
   SubtlextWindow *w = NULL;
@@ -719,14 +719,14 @@
   if(w)
     {
       XSetWindowBorder(display, w->win,
-        subColorPixel(value, Qnil, Qnil, NULL));
+        subextColorPixel(value, Qnil, Qnil, NULL));
       XFlush(display);
     }
 
   return Qnil;
 } /* }}} */
 
-/* subWindowBorderSizeWriter {{{ */
+/* subextWindowBorderSizeWriter {{{ */
 /*
  * call-seq: border_size=(fixnum) -> Fixnum
  *
@@ -737,7 +737,7 @@
  */
 
 VALUE
-subWindowBorderSizeWriter(VALUE self,
+subextWindowBorderSizeWriter(VALUE self,
   VALUE value)
 {
   SubtlextWindow *w = NULL;
@@ -765,7 +765,7 @@
   return value;
 } /* }}} */
 
-/* subWindowGeometryReader {{{ */
+/* subextWindowGeometryReader {{{ */
 /*
  * call-seq: geometry -> Subtlext::Geometry
  *
@@ -776,7 +776,7 @@
  */
 
 VALUE
-subWindowGeometryReader(VALUE self)
+subextWindowGeometryReader(VALUE self)
 {
   VALUE geom = Qnil;
 
@@ -787,7 +787,7 @@
   return geom;
 } /* }}} */
 
-/* subWindowGeometryWriter {{{ */
+/* subextWindowGeometryWriter {{{ */
 /*
  * call-seq: geometry=(array)  -> Array
  *           geometry=(hash)   -> Hash
@@ -805,7 +805,7 @@
  */
 
 VALUE
-subWindowGeometryWriter(VALUE self,
+subextWindowGeometryWriter(VALUE self,
   VALUE value)
 {
   SubtlextWindow *w = NULL;
@@ -820,18 +820,18 @@
       VALUE geom = Qnil;
 
       /* Create geometry */
-      geom = subGeometryInstantiate(0, 0, 1, 1);
-      geom = subGeometryInit(1, &value, geom);
+      geom = subextGeometryInstantiate(0, 0, 1, 1);
+      geom = subextGeometryInit(1, &value, geom);
 
       rb_iv_set(self, "@geometry", geom);
-      subGeometryToRect(geom, &r);
+      subextGeometryToRect(geom, &r);
       XMoveResizeWindow(display, w->win, r.x, r.y, r.width, r.height);
     }
 
   return value;
 } /* }}} */
 
-/* subWindowOn {{{ */
+/* subextWindowOn {{{ */
 /*
  * call-seq: on(event, &block) -> Subtlext::Window
  *
@@ -845,7 +845,7 @@
  */
 
 VALUE
-subWindowOn(int argc,
+subextWindowOn(int argc,
   VALUE *argv,
   VALUE self)
 {
@@ -882,7 +882,7 @@
   return self;
 } /* }}} */
 
-/* subWindowDrawPoint {{{ */
+/* subextWindowDrawPoint {{{ */
 /*
  * call-seq: draw_point(x, y, color) -> Subtlext::Window
  *
@@ -896,7 +896,7 @@
  */
 
 VALUE
-subWindowDrawPoint(int argc,
+subextWindowDrawPoint(int argc,
   VALUE *argv,
   VALUE self)
 {
@@ -923,7 +923,7 @@
           gvals.background = w->bg;
 
           if(!NIL_P(color))
-            gvals.foreground = subColorPixel(color, Qnil, Qnil, NULL);
+            gvals.foreground = subextColorPixel(color, Qnil, Qnil, NULL);
 
           XChangeGC(display, w->gc, GCForeground|GCBackground, &gvals);
 
@@ -937,7 +937,7 @@
   return self;
 } /* }}} */
 
-/* subWindowDrawLine {{{ */
+/* subextWindowDrawLine {{{ */
 /*
  * call-seq: draw_line(x1, y1, x2, y2, color) -> Subtlext::Window
  *
@@ -951,7 +951,7 @@
  */
 
 VALUE
-subWindowDrawLine(int argc,
+subextWindowDrawLine(int argc,
   VALUE *argv,
   VALUE self)
 {
@@ -979,7 +979,7 @@
           gvals.background = w->bg;
 
           if(!NIL_P(color))
-            gvals.foreground = subColorPixel(color, Qnil, Qnil, NULL);
+            gvals.foreground = subextColorPixel(color, Qnil, Qnil, NULL);
 
           XChangeGC(display, w->gc, GCForeground|GCBackground, &gvals);
 
@@ -994,7 +994,7 @@
   return self;
 } /* }}} */
 
-/* subWindowDrawRect {{{ */
+/* subextWindowDrawRect {{{ */
 /*
  * call-seq: draw_rect(x, y, width, height, color, fill) -> Subtlext::Window
  *
@@ -1009,7 +1009,7 @@
  */
 
 VALUE
-subWindowDrawRect(int argc,
+subextWindowDrawRect(int argc,
   VALUE *argv,
   VALUE self)
 {
@@ -1037,7 +1037,7 @@
           gvals.background = w->bg;
 
           if(!NIL_P(color))
-            gvals.foreground = subColorPixel(color, Qnil, Qnil, NULL);
+            gvals.foreground = subextColorPixel(color, Qnil, Qnil, NULL);
 
           XChangeGC(display, w->gc, GCForeground|GCBackground, &gvals);
 
@@ -1058,7 +1058,7 @@
   return self;
 } /* }}} */
 
-/* subWindowDrawText {{{ */
+/* subextWindowDrawText {{{ */
 /*
  * call-seq: draw_text(x, y, string, color) -> Subtlext::Window
  *
@@ -1070,7 +1070,7 @@
  */
 
 VALUE
-subWindowDrawText(int argc,
+subextWindowDrawText(int argc,
   VALUE *argv,
   VALUE self)
 {
@@ -1092,7 +1092,7 @@
         w->gc = XCreateGC(display, w->win, 0, NULL);
 
       /* Parse colors */
-      if(!NIL_P(color)) lcolor = subColorPixel(color, Qnil, Qnil, NULL);
+      if(!NIL_P(color)) lcolor = subextColorPixel(color, Qnil, Qnil, NULL);
 
       subSharedDrawString(display, w->gc, w->font, w->win, FIX2INT(x),
         FIX2INT(y), lcolor, w->bg, RSTRING_PTR(text), RSTRING_LEN(text));
@@ -1101,7 +1101,7 @@
   return self;
 } /* }}} */
 
-/* subWindowDrawIcon {{{ */
+/* subextWindowDrawIcon {{{ */
 /*
  * call-seq: draw_icon(x, y, icon, fg, bg) -> Subtlext::Window
  *
@@ -1113,7 +1113,7 @@
  */
 
 VALUE
-subWindowDrawIcon(int argc,
+subextWindowDrawIcon(int argc,
   VALUE *argv,
   VALUE self)
 {
@@ -1138,14 +1138,14 @@
         w->gc = XCreateGC(display, w->win, 0, NULL);
 
       /* Parse colors */
-      if(!NIL_P(fg)) lfg = subColorPixel(fg, Qnil, Qnil, NULL);
-      if(!NIL_P(bg)) lbg = subColorPixel(bg, Qnil, Qnil, NULL);
+      if(!NIL_P(fg)) lfg = subextColorPixel(fg, Qnil, Qnil, NULL);
+      if(!NIL_P(bg)) lbg = subextColorPixel(bg, Qnil, Qnil, NULL);
 
       /* Fetch icon values */
       width  = rb_iv_get(icon, "@width");
       height = rb_iv_get(icon, "@height");
       pixmap = rb_iv_get(icon, "@pixmap");
-      bitmap = Qtrue == subIconAskBitmap(icon) ? True : False;
+      bitmap = Qtrue == subextIconAskBitmap(icon) ? True : False;
 
       subSharedDrawIcon(display, w->gc, w->win, FIX2INT(x),
         FIX2INT(y), FIX2INT(width), FIX2INT(height), lfg, lbg,
@@ -1155,7 +1155,7 @@
   return self;
 } /* }}} */
 
-/* subWindowClear {{{ */
+/* subextWindowClear {{{ */
 /*
  * call-seq: clear -> Subtlext::Window
  *
@@ -1166,7 +1166,7 @@
  */
 
 VALUE
-subWindowClear(int argc,
+subextWindowClear(int argc,
   VALUE *argv,
   VALUE self)
 {
@@ -1194,7 +1194,7 @@
   return self;
 } /* }}} */
 
-/* subWindowRedraw {{{ */
+/* subextWindowRedraw {{{ */
 /*
  * call-seq: redraw -> Subtlext::Window
  *
@@ -1205,7 +1205,7 @@
  */
 
 VALUE
-subWindowRedraw(VALUE self)
+subextWindowRedraw(VALUE self)
 {
   SubtlextWindow *w = NULL;
 
@@ -1218,7 +1218,7 @@
   return self;
 } /* }}} */
 
-/* subWindowRaise {{{ */
+/* subextWindowRaise {{{ */
 /*
  * call-seq: raise -> Subtlext::Window
  *
@@ -1230,7 +1230,7 @@
  */
 
 VALUE
-subWindowRaise(VALUE self)
+subextWindowRaise(VALUE self)
 {
   SubtlextWindow *w = NULL;
 
@@ -1247,7 +1247,7 @@
   return self;
 } /* }}} */
 
-/* subWindowLower {{{ */
+/* subextWindowLower {{{ */
 /*
  * call-seq: lower -> Subtlext::Window
  *
@@ -1259,7 +1259,7 @@
  */
 
 VALUE
-subWindowLower(VALUE self)
+subextWindowLower(VALUE self)
 {
   SubtlextWindow *w = NULL;
 
@@ -1276,7 +1276,7 @@
   return self;
 } /* }}} */
 
-/* subWindowShow {{{ */
+/* subextWindowShow {{{ */
 /*
  * call-seq: show() -> Subtlext::Window
  *
@@ -1287,7 +1287,7 @@
  */
 
 VALUE
-subWindowShow(VALUE self)
+subextWindowShow(VALUE self)
 {
   SubtlextWindow *w = NULL;
 
@@ -1310,7 +1310,7 @@
   return self;
 } /* }}} */
 
-/* subWindowHide {{{ */
+/* subextWindowHide {{{ */
 /*
  * call-seq: hide() -> Subtlext::Window
  *
@@ -1321,7 +1321,7 @@
  */
 
 VALUE
-subWindowHide(VALUE self)
+subextWindowHide(VALUE self)
 {
   VALUE win = Qnil;
 
@@ -1340,7 +1340,7 @@
   return self;
 } /* }}} */
 
-/* subWindowAskHidden {{{ */
+/* subextWindowAskHidden {{{ */
 /*
  * call-seq: hidden -> true or false
  *
@@ -1351,7 +1351,7 @@
  */
 
 VALUE
-subWindowAskHidden(VALUE self)
+subextWindowAskHidden(VALUE self)
 {
   VALUE hidden  = Qnil;
 
@@ -1362,7 +1362,7 @@
   return hidden;
 } /* }}} */
 
-/* subWindowKill {{{ */
+/* subextWindowKill {{{ */
 /*
  * call-seq: kill() -> nil
  *
@@ -1373,7 +1373,7 @@
  */
 
 VALUE
-subWindowKill(VALUE self)
+subextWindowKill(VALUE self)
 {
   SubtlextWindow *w = NULL;