diff --git a/.gitattributes b/.gitattributes
index 7624c855cefd245ee2c2a27c377448ccf1ba7226..83c042cf3e7320cad62cc60c0d6a46aa1cf904de 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -38,6 +38,16 @@ testfont binary
 /lib/modules/LR.pmod/scanner.pike foreign_ident
 /lib/modules/MIME.pmod foreign_ident
 /lib/modules/Protocols.pmod/TELNET.pmod foreign_ident
+/lib/modules/Protocols.pmod/X.pmod/Atom.pmod foreign_ident
+/lib/modules/Protocols.pmod/X.pmod/Auth.pmod foreign_ident
+/lib/modules/Protocols.pmod/X.pmod/Extensions.pmod foreign_ident
+/lib/modules/Protocols.pmod/X.pmod/Requests.pmod foreign_ident
+/lib/modules/Protocols.pmod/X.pmod/Types.pmod foreign_ident
+/lib/modules/Protocols.pmod/X.pmod/XImage.pmod foreign_ident
+/lib/modules/Protocols.pmod/X.pmod/XTools.pmod foreign_ident
+/lib/modules/Protocols.pmod/X.pmod/Xlib.pmod foreign_ident
+/lib/modules/Protocols.pmod/X.pmod/_Types.pmod foreign_ident
+/lib/modules/Protocols.pmod/X.pmod/_Xlib.pmod foreign_ident
 /lib/modules/SSL.pmod/alert.pike foreign_ident
 /lib/modules/SSL.pmod/cipher.pike foreign_ident
 /lib/modules/SSL.pmod/connection.pike foreign_ident
diff --git a/lib/modules/Protocols.pmod/X.pmod/AUTHORS b/lib/modules/Protocols.pmod/X.pmod/AUTHORS
new file mode 100644
index 0000000000000000000000000000000000000000..7aadd1736ebd74234a1d731f99c31d364f2ec69a
--- /dev/null
+++ b/lib/modules/Protocols.pmod/X.pmod/AUTHORS
@@ -0,0 +1,31 @@
+Who wrote what in px?  [Updated 1998-04-06 by nisse]
+
+Atom.pmod: nisse
+Auth.pmod: nisse
+Extensions.pmod: cardeci
+GUG.pmod: nisse
+Requests.pmod: nisse, cardeci, marcus, neotron
+_Types.pmod: nisse
+Types.pmod: nisse, cardeci, marcus
+Widgets.pmod: nisse
+XImage.pmod: cardeci, nisse
+XTools.pmod: nisse
+_Xlib: nisse, cardeci
+Xlib.pmod: nisse, cardeci, marcus, mirar, neotron
+
+gug_button.pike: nisse
+gug_hbox.pike: nisse
+gug_image.pike: nisse
+gug_table.pike: nisse
+
+programs/imageblit.pike: cardeci
+programs/pertest.pike: cardeci
+programs/quitp.pike: cardeci
+
+Cast:
+
+nisse is Niels Möller, nisse@idonex.se
+cardeci is Per Hedbor, per@idonex.se
+neotron is David Hedbor, neotron@idonex.se
+mirar is Pontus Hagland, mirar@idonex.se
+marcus is Marcus Comstedt, marcus@idonex.se
diff --git a/lib/modules/Protocols.pmod/X.pmod/Atom.pmod b/lib/modules/Protocols.pmod/X.pmod/Atom.pmod
index 6ffbc4d9dcee3cfdcaddaac63c9a5ae0852289ba..37d73e15eaf435db7db9b3f6dfd8b6f290654f62 100644
--- a/lib/modules/Protocols.pmod/X.pmod/Atom.pmod
+++ b/lib/modules/Protocols.pmod/X.pmod/Atom.pmod
@@ -1,9 +1,34 @@
 /* Atom.pmod
  *
- * X Atoms
+ * X Atoms $Id: Atom.pmod,v 1.3 1998/04/06 15:47:48 nisse Exp $
  *
  */
 
+/*
+ *    px, a Pike interface to the X Window System
+ *
+ *    Copyright (C) 1998, Niels Möller, Per Hedbor, Marcus Comstedt,
+ *    Pontus Hagland, David Hedbor.
+ *
+ *    This program is free software; you can redistribute it and/or modify
+ *    it under the terms of the GNU General Public License as published by
+ *    the Free Software Foundation; either version 2 of the License, or
+ *    (at your option) any later version.
+ *
+ *    This program is distributed in the hope that it will be useful,
+ *    but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *    GNU General Public License for more details.
+ *
+ *    You should have received a copy of the GNU General Public License
+ *    along with this program; if not, write to the Free Software
+ *    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 
+ */
+
+/* Questions, bug fixes and bug reports can be sent to the pike
+ * mailing list, pike@idonex.se, or to the athors (see AUTHORS for
+ * email addresses. */
+
 class Atom
 {
   object display;
diff --git a/lib/modules/Protocols.pmod/X.pmod/Auth.pmod b/lib/modules/Protocols.pmod/X.pmod/Auth.pmod
index ff130f44e23e253b2ac1fda5f3476c2d2f168093..1e376c401a6617a22180a7c069034c300d6fa0c6 100644
--- a/lib/modules/Protocols.pmod/X.pmod/Auth.pmod
+++ b/lib/modules/Protocols.pmod/X.pmod/Auth.pmod
@@ -1,7 +1,33 @@
 /* Auth.pmod
  *
+ * $Id: Auth.pmod,v 1.2 1998/04/06 15:47:50 nisse Exp $
  */
 
+/*
+ *    px, a Pike interface to the X Window System
+ *
+ *    Copyright (C) 1998, Niels Möller, Per Hedbor, Marcus Comstedt,
+ *    Pontus Hagland, David Hedbor.
+ *
+ *    This program is free software; you can redistribute it and/or modify
+ *    it under the terms of the GNU General Public License as published by
+ *    the Free Software Foundation; either version 2 of the License, or
+ *    (at your option) any later version.
+ *
+ *    This program is distributed in the hope that it will be useful,
+ *    but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *    GNU General Public License for more details.
+ *
+ *    You should have received a copy of the GNU General Public License
+ *    along with this program; if not, write to the Free Software
+ *    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 
+ */
+
+/* Questions, bug fixes and bug reports can be sent to the pike
+ * mailing list, pike@idonex.se, or to the athors (see AUTHORS for
+ * email addresses. */
+
 class auth_file
 {
   mapping(int:mapping(string:mapping)) auth = ([]);
diff --git a/lib/modules/Protocols.pmod/X.pmod/Extensions.pmod b/lib/modules/Protocols.pmod/X.pmod/Extensions.pmod
index 6feb81d55392e32a8f99399ebf7dd10b7db92c2d..4ca56441805fe6195f46d691a122fe6bcf3c9d3b 100644
--- a/lib/modules/Protocols.pmod/X.pmod/Extensions.pmod
+++ b/lib/modules/Protocols.pmod/X.pmod/Extensions.pmod
@@ -1,4 +1,32 @@
-// Shaped windows.
+/* Shaped windows.
+ *
+ * $Id: Extensions.pmod,v 1.6 1998/04/06 15:47:52 nisse Exp $
+
+/*
+ *    px, a Pike interface to the X Window System
+ *
+ *    Copyright (C) 1998, Niels Möller, Per Hedbor, Marcus Comstedt,
+ *    Pontus Hagland, David Hedbor.
+ *
+ *    This program is free software; you can redistribute it and/or modify
+ *    it under the terms of the GNU General Public License as published by
+ *    the Free Software Foundation; either version 2 of the License, or
+ *    (at your option) any later version.
+ *
+ *    This program is distributed in the hope that it will be useful,
+ *    but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *    GNU General Public License for more details.
+ *
+ *    You should have received a copy of the GNU General Public License
+ *    along with this program; if not, write to the Free Software
+ *    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 
+ */
+
+/* Questions, bug fixes and bug reports can be sent to the pike
+ * mailing list, pike@idonex.se, or to the athors (see AUTHORS for
+ * email addresses. */
+
 static class extension
 {
   object dpy;
diff --git a/lib/modules/Protocols.pmod/X.pmod/Requests.pmod b/lib/modules/Protocols.pmod/X.pmod/Requests.pmod
index ca8187e05a7857ef6a4320296c96ff7633dae1bf..d7e7d4ed01618014df4587787382f863c8062bbb 100644
--- a/lib/modules/Protocols.pmod/X.pmod/Requests.pmod
+++ b/lib/modules/Protocols.pmod/X.pmod/Requests.pmod
@@ -1,7 +1,33 @@
 /* Requests.pike
  *
+ * $Id: Requests.pmod,v 1.24 1998/04/06 15:47:58 nisse Exp $
  */
 
+/*
+ *    px, a Pike interface to the X Window System
+ *
+ *    Copyright (C) 1998, Niels Möller, Per Hedbor, Marcus Comstedt,
+ *    Pontus Hagland, David Hedbor.
+ *
+ *    This program is free software; you can redistribute it and/or modify
+ *    it under the terms of the GNU General Public License as published by
+ *    the Free Software Foundation; either version 2 of the License, or
+ *    (at your option) any later version.
+ *
+ *    This program is distributed in the hope that it will be useful,
+ *    but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *    GNU General Public License for more details.
+ *
+ *    You should have received a copy of the GNU General Public License
+ *    along with this program; if not, write to the Free Software
+ *    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 
+ */
+
+/* Questions, bug fixes and bug reports can be sent to the pike
+ * mailing list, pike@idonex.se, or to the athors (see AUTHORS for
+ * email addresses. */
+
 #include "error.h"
 
 class request
diff --git a/lib/modules/Protocols.pmod/X.pmod/Types.pmod b/lib/modules/Protocols.pmod/X.pmod/Types.pmod
index 41f5fa2df4e78a5f0a999ceea66437a812703c6c..37f909e7943fe870289573c7aabc02f92c597325 100644
--- a/lib/modules/Protocols.pmod/X.pmod/Types.pmod
+++ b/lib/modules/Protocols.pmod/X.pmod/Types.pmod
@@ -1,7 +1,33 @@
 /* Types.pmod
  *
+ * $Id: Types.pmod,v 1.29 1998/04/06 15:47:59 nisse Exp $
  */
 
+/*
+ *    px, a Pike interface to the X Window System
+ *
+ *    Copyright (C) 1998, Niels Möller, Per Hedbor, Marcus Comstedt,
+ *    Pontus Hagland, David Hedbor.
+ *
+ *    This program is free software; you can redistribute it and/or modify
+ *    it under the terms of the GNU General Public License as published by
+ *    the Free Software Foundation; either version 2 of the License, or
+ *    (at your option) any later version.
+ *
+ *    This program is distributed in the hope that it will be useful,
+ *    but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *    GNU General Public License for more details.
+ *
+ *    You should have received a copy of the GNU General Public License
+ *    along with this program; if not, write to the Free Software
+ *    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 
+ */
+
+/* Questions, bug fixes and bug reports can be sent to the pike
+ * mailing list, pike@idonex.se, or to the athors (see AUTHORS for
+ * email addresses. */
+
 #include "error.h"
 
 class XResource
diff --git a/lib/modules/Protocols.pmod/X.pmod/XImage.pmod b/lib/modules/Protocols.pmod/X.pmod/XImage.pmod
index 82e1ff99c5411e2c8a7f39ab0e6ecb8634b2fa0a..d8467b999ed0bf691ca599eeab753c9e9db87a05 100644
--- a/lib/modules/Protocols.pmod/X.pmod/XImage.pmod
+++ b/lib/modules/Protocols.pmod/X.pmod/XImage.pmod
@@ -1,3 +1,33 @@
+/* XImage.pmod
+ *
+ * $Id: XImage.pmod,v 1.8 1998/04/06 15:48:02 nisse Exp $
+ */
+
+/*
+ *    px, a Pike interface to the X Window System
+ *
+ *    Copyright (C) 1998, Niels Möller, Per Hedbor, Marcus Comstedt,
+ *    Pontus Hagland, David Hedbor.
+ *
+ *    This program is free software; you can redistribute it and/or modify
+ *    it under the terms of the GNU General Public License as published by
+ *    the Free Software Foundation; either version 2 of the License, or
+ *    (at your option) any later version.
+ *
+ *    This program is distributed in the hope that it will be useful,
+ *    but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *    GNU General Public License for more details.
+ *
+ *    You should have received a copy of the GNU General Public License
+ *    along with this program; if not, write to the Free Software
+ *    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 
+ */
+
+/* Questions, bug fixes and bug reports can be sent to the pike
+ * mailing list, pike@idonex.se, or to the athors (see AUTHORS for
+ * email addresses. */
+
 #include "error.h"
 
 // Image --> X module.
diff --git a/lib/modules/Protocols.pmod/X.pmod/XTools.pmod b/lib/modules/Protocols.pmod/X.pmod/XTools.pmod
index 2b260b4eaa5577d4d855afb0c99b31b6443b9597..e822649cfcc4296d00ff626056506d43137faf17 100644
--- a/lib/modules/Protocols.pmod/X.pmod/XTools.pmod
+++ b/lib/modules/Protocols.pmod/X.pmod/XTools.pmod
@@ -1,9 +1,35 @@
 /* XTools.pmod
+ *
+ * $Id: XTools.pmod,v 1.3 1998/04/06 15:48:04 nisse Exp $
  *
  * Various tools that are higher level than raw X, but are lower level
  * than widgets.
  */
 
+/*
+ *    px, a Pike interface to the X Window System
+ *
+ *    Copyright (C) 1998, Niels Möller, Per Hedbor, Marcus Comstedt,
+ *    Pontus Hagland, David Hedbor.
+ *
+ *    This program is free software; you can redistribute it and/or modify
+ *    it under the terms of the GNU General Public License as published by
+ *    the Free Software Foundation; either version 2 of the License, or
+ *    (at your option) any later version.
+ *
+ *    This program is distributed in the hope that it will be useful,
+ *    but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *    GNU General Public License for more details.
+ *
+ *    You should have received a copy of the GNU General Public License
+ *    along with this program; if not, write to the Free Software
+ *    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 
+ */
+
+/* Questions, bug fixes and bug reports can be sent to the pike
+ * mailing list, pike@idonex.se, or to the athors (see AUTHORS for
+ * email addresses. */
 
 /* Steals and processes mousebutton events */
 class Button
diff --git a/lib/modules/Protocols.pmod/X.pmod/Xlib.pmod b/lib/modules/Protocols.pmod/X.pmod/Xlib.pmod
index 97ec8c4189871df3f2b57ed713700cc71a412581..f3738547bc4898c8370bac1cd4308c7b16d84586 100644
--- a/lib/modules/Protocols.pmod/X.pmod/Xlib.pmod
+++ b/lib/modules/Protocols.pmod/X.pmod/Xlib.pmod
@@ -1,7 +1,33 @@
 /* Xlib.pmod
  *
+ * $Id: Xlib.pmod,v 1.30 1998/04/06 15:48:06 nisse Exp $
  */
 
+/*
+ *    px, a Pike interface to the X Window System
+ *
+ *    Copyright (C) 1998, Niels Möller, Per Hedbor, Marcus Comstedt,
+ *    Pontus Hagland, David Hedbor.
+ *
+ *    This program is free software; you can redistribute it and/or modify
+ *    it under the terms of the GNU General Public License as published by
+ *    the Free Software Foundation; either version 2 of the License, or
+ *    (at your option) any later version.
+ *
+ *    This program is distributed in the hope that it will be useful,
+ *    but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *    GNU General Public License for more details.
+ *
+ *    You should have received a copy of the GNU General Public License
+ *    along with this program; if not, write to the Free Software
+ *    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 
+ */
+
+/* Questions, bug fixes and bug reports can be sent to the pike
+ * mailing list, pike@idonex.se, or to the athors (see AUTHORS for
+ * email addresses. */
+
 #include "error.h"
 
 // #define DEBUG
diff --git a/lib/modules/Protocols.pmod/X.pmod/_Types.pmod b/lib/modules/Protocols.pmod/X.pmod/_Types.pmod
index 406a4dd4c6defdd5883c9eed27d85d10d2621fd2..4da5619ae95b61fc29bf276c710fd9800bc001c7 100644
--- a/lib/modules/Protocols.pmod/X.pmod/_Types.pmod
+++ b/lib/modules/Protocols.pmod/X.pmod/_Types.pmod
@@ -1,6 +1,34 @@
 /* _Types.pmod
  *
- * Kludge for pike-0.5 */
+ * Kludge for pike-0.5
+ *
+ * $Id: _Types.pmod,v 1.2 1998/04/06 15:48:08 nisse Exp $
+ */
+
+/*
+ *    px, a Pike interface to the X Window System
+ *
+ *    Copyright (C) 1998, Niels Möller, Per Hedbor, Marcus Comstedt,
+ *    Pontus Hagland, David Hedbor.
+ *
+ *    This program is free software; you can redistribute it and/or modify
+ *    it under the terms of the GNU General Public License as published by
+ *    the Free Software Foundation; either version 2 of the License, or
+ *    (at your option) any later version.
+ *
+ *    This program is distributed in the hope that it will be useful,
+ *    but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *    GNU General Public License for more details.
+ *
+ *    You should have received a copy of the GNU General Public License
+ *    along with this program; if not, write to the Free Software
+ *    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 
+ */
+
+/* Questions, bug fixes and bug reports can be sent to the pike
+ * mailing list, pike@idonex.se, or to the athors (see AUTHORS for
+ * email addresses. */
 
 program pixmap_class;
 
diff --git a/lib/modules/Protocols.pmod/X.pmod/_Xlib.pmod b/lib/modules/Protocols.pmod/X.pmod/_Xlib.pmod
index 5cfbdc31bc4ea8c3c6b546e203a937952f1e194e..b1f1ec139117eb8a83f56776ddff8c1ff1e09887 100644
--- a/lib/modules/Protocols.pmod/X.pmod/_Xlib.pmod
+++ b/lib/modules/Protocols.pmod/X.pmod/_Xlib.pmod
@@ -1,8 +1,35 @@
 /* _Xlib.pmod
  *
- * kluge
+ * $Id: _Xlib.pmod,v 1.12 1998/04/06 15:48:10 nisse Exp $
+ *
+ * Kluge, should be in Xlib.pmod
+ */
+
+/*
+ *    px, a Pike interface to the X Window System
+ *
+ *    Copyright (C) 1998, Niels Möller, Per Hedbor, Marcus Comstedt,
+ *    Pontus Hagland, David Hedbor.
+ *
+ *    This program is free software; you can redistribute it and/or modify
+ *    it under the terms of the GNU General Public License as published by
+ *    the Free Software Foundation; either version 2 of the License, or
+ *    (at your option) any later version.
+ *
+ *    This program is distributed in the hope that it will be useful,
+ *    but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *    GNU General Public License for more details.
+ *
+ *    You should have received a copy of the GNU General Public License
+ *    along with this program; if not, write to the Free Software
+ *    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 
  */
 
+/* Questions, bug fixes and bug reports can be sent to the pike
+ * mailing list, pike@idonex.se, or to the athors (see AUTHORS for
+ * email addresses. */
+
 object display_re = Regexp("^([^:]*):([0-9]+)(.[0-9]+|)$");
 
 string pad(string s)