diff --git a/Tools/idle/ColorDelegator.py b/Tools/idle/ColorDelegator.py
index 8e4667a..e04526a 100644
--- a/Tools/idle/ColorDelegator.py
+++ b/Tools/idle/ColorDelegator.py
@@ -4,6 +4,7 @@
 import keyword
 from Tkinter import *
 from Delegator import Delegator
+import IdlePrefs
 
 #$ event <<toggle-auto-coloring>>
 #$ win <Control-slash>
@@ -50,19 +51,29 @@
                 apply(self.tag_configure, (tag,), cnf)
         self.tag_raise('sel')
 
+    cprefs = IdlePrefs.ColorPrefs()
+
     tagdefs = {
-        "COMMENT":    {"foreground": "#dd0000"},
-        "KEYWORD":    {"foreground": "#ff7700"},
-        "STRING":     {"foreground": "#00aa00"},
-        "DEFINITION": {"foreground": "#0000ff"},
+        "COMMENT":    {"foreground": cprefs.CComment[0],
+                       "background": cprefs.CComment[1]},
+        "KEYWORD":    {"foreground": cprefs.CKeyword[0],
+                       "background": cprefs.CKeyword[1]},
+        "STRING":     {"foreground": cprefs.CString[0],
+                       "background": cprefs.CString[1]},
+        "DEFINITION": {"foreground": cprefs.CDefinition[0],
+                       "background": cprefs.CDefinition[1]},
 
-        "SYNC":       {}, #{"background": "#ffff00"},
-        "TODO":       {}, #{"background": "#cccccc"},
+        "SYNC":       {"background": cprefs.CSync[0],
+                       "background": cprefs.CSync[1]},
+        "TODO":       {"background": cprefs.CTodo[0],
+                       "background": cprefs.CTodo[1]},
 
-        "BREAK":      {"background": "#FF7777"},
+        "BREAK":      {"background": cprefs.CBreak[0],
+                       "background": cprefs.CBreak[1]},
 
         # The following is used by ReplaceDialog:
-        "hit":        {"foreground": "#FFFFFF", "background": "#000000"},
+        "hit":        {"foreground": cprefs.CHit[0],
+                       "background": cprefs.CHit[1]},
         }
 
     def insert(self, index, chars, tags=None):
diff --git a/Tools/idle/EditorWindow.py b/Tools/idle/EditorWindow.py
index cea3fcd..2c19775 100644
--- a/Tools/idle/EditorWindow.py
+++ b/Tools/idle/EditorWindow.py
@@ -89,6 +89,7 @@
     vars = {}
 
     def __init__(self, flist=None, filename=None, key=None, root=None):
+        cprefs = self.ColorDelegator.cprefs
         self.flist = flist
         root = root or flist.root
         self.root = root
@@ -98,7 +99,12 @@
         self.top = top = self.Toplevel(root, menu=self.menubar)
         self.vbar = vbar = Scrollbar(top, name='vbar')
         self.text = text = Text(top, name='text', padx=5,
-                                background="white", wrap="none")
+                                foreground=cprefs.CNormal[0],
+                                background=cprefs.CNormal[1], 
+                                highlightcolor=cprefs.CHilite[0],
+                                highlightbackground=cprefs.CHilite[1],
+                                insertbackground=cprefs.CCursor[1],
+                                wrap="none")
 
         self.createmenubar()
         self.apply_bindings()
diff --git a/Tools/idle/IdlePrefs.py b/Tools/idle/IdlePrefs.py
new file mode 100644
index 0000000..7ca74ca
--- /dev/null
+++ b/Tools/idle/IdlePrefs.py
@@ -0,0 +1,65 @@
+# Created on 4/15/99 by Loren Luke
+#
+# Color Prefs for idle
+
+class ColorPrefs:
+    CNormal     = "yellow", None
+    CKeyword    = "medium sea green", None
+    CComment    = "white", None
+    CString     = "DarkOrange1", None
+    CDefinition = "wheat1", None
+    CHilite     = "#000068", "#006868"
+    CSync       = "yellow", None
+    CTodo       = "aquamarine4", None
+    CBreak      = "white", None
+    CHit        = "#000068", None
+    CStdIn      = "yellow", None
+    CStdOut     = "yellow", None
+    CStdErr     = "firebrick3", None
+    CConsole    = "yellow", None
+    CError      = "white", "red"
+    CCursor     = None, "yellow"
+    
+    def __init__(self, fg="yellow", bg="DodgerBlue4", ud=1):
+        self.Default = fg, bg
+        
+        # Use Default Colors?
+        if ud == 1:
+            # Use Default fg, bg Colors
+            # Define Screen Colors...
+            # format: x = (fg, bg)
+            self.CBreak      = "white", "#680000"
+            self.CComment    = "white", self.Default[1]
+            self.CConsole    = self.Default
+            self.CCursor     = None, self.Default[0]
+            self.CDefinition = "wheat1", self.Default[1]
+            self.CError      = "white", "red"
+            self.CHilite     = "#000068", "#006868"
+            self.CHit        = "#000068", "#006868"
+            self.CKeyword    = "medium sea green", self.Default[1]
+            self.CNormal     = "yellow", self.Default[1]
+            self.CStdErr     = "firebrick3", self.Default[1]
+            self.CStdIn      = self.Default
+            self.CStdOut     = self.Default
+            self.CString     = "DarkOrange1", self.Default[1]
+            self.CSync       = self.Default
+            self.CTodo       = "aquamarine4", self.Default[1]
+        else:
+            #Define Screen Colors...
+            # format: x = (fg, bg)
+            self.CBreak      = "white", None
+            self.CComment    = "white", None
+            self.CConsole    = "yellow", None
+            self.CCursor     = None, "yellow"
+            self.CDefinition = "wheat1", None
+            self.CError      = "white", "red"
+            self.CHilite     = "#000068", "#006868"
+            self.CHit        = "#000068", None
+            self.CKeyword    = "medium sea green", None
+            self.CNormal     = "yellow", None
+            self.CStdErr     = "firebrick3", None
+            self.CStdIn      = "yellow", None
+            self.CStdOut     = "yellow", None
+            self.CString     = "DarkOrange1", None
+            self.CSync       = "yellow", None
+            self.CTodo       = "aquamarine4", None
diff --git a/Tools/idle/PyShell.py b/Tools/idle/PyShell.py
index 8bee5d5..f83ee0c 100644
--- a/Tools/idle/PyShell.py
+++ b/Tools/idle/PyShell.py
@@ -113,14 +113,21 @@
         ColorDelegator.recolorize_main(self)
 
     tagdefs = ColorDelegator.tagdefs.copy()
+    cprefs = ColorDelegator.cprefs
 
     tagdefs.update({
-        ##"stdin":   {"background": "yellow"},
-        "stdout":  {"foreground": "blue"},
-        "stderr":  {"foreground": "#007700"},
-        "console": {"foreground": "#770000"},
-        "ERROR":   {"background": "#FF7777"},
-        None:      {"foreground": "purple"}, # default
+        "stdin":   {"foreground": cprefs.CStdIn[0],
+                    "background": cprefs.CStdIn[1]},
+        "stdout":  {"foreground": cprefs.CStdOut[0],
+                    "background": cprefs.CStdOut[1]},
+        "stderr":  {"foreground": cprefs.CStdErr[0],
+                    "background": cprefs.CStdErr[1]},
+        "console": {"foreground": cprefs.CConsole[0],
+                    "background": cprefs.CConsole[1]},
+        "ERROR":   {"background": cprefs.CError[0],
+                    "background": cprefs.CError[1]},
+        None:      {"foreground": cprefs.CNormal[0],
+                    "background": cprefs.CNormal[1]},
     })
 
 
