-extern void configure(Client *c); /* send synthetic configure event */
-extern void focus(Client *c); /* focus c, c may be NULL */
-extern void focusnext(Arg *arg); /* focuses next visible client, arg is ignored */
-extern void focusprev(Arg *arg); /* focuses previous visible client, arg is ignored */
-extern Client *getclient(Window w); /* return client of w */
-extern void killclient(Arg *arg); /* kill c nicely */
-extern void manage(Window w, XWindowAttributes *wa); /* manage new client */
-Client *nexttiled(Client *c); /* returns tiled successor of c */
-extern void resize(Client *c, int x, int y,
- int w, int h, Bool sizehints); /* resize c*/
-extern void updatesizehints(Client *c); /* update the size hint variables of c */
-extern void updatetitle(Client *c); /* update the name of c */
-extern void unmanage(Client *c); /* destroy c */
-extern void zoom(Arg *arg); /* zooms the focused client to master area, arg is ignored */
+void attach(Client *c); /* attaches c to global client list */
+void ban(Client *c); /* bans c */
+void configure(Client *c); /* send synthetic configure event */
+void detach(Client *c); /* detaches c from global client list */
+void focus(Client *c); /* focus c if visible && !NULL, or focus top visible */
+void killclient(const char *arg); /* kill sel nicely */
+void manage(Window w, XWindowAttributes *wa); /* manage new client */
+void resize(Client *c, int x, int y,
+ int w, int h, Bool sizehints); /* resize with given coordinates c*/
+void togglefloating(const char *arg); /* toggles sel between floating/tiled state */
+void unban(Client *c); /* unbans c */
+void unmanage(Client *c); /* destroy c */
+void updatesizehints(Client *c); /* update the size hint variables of c */
+void updatetitle(Client *c); /* update the name of c */