diff --git a/Ccs/editor.py b/Ccs/editor.py
index 0b48ea4be010d960de621c8914a89a94f83a8208..64a3773905d974afc7bb2facf311e4e6546399eb 100644
--- a/Ccs/editor.py
+++ b/Ccs/editor.py
@@ -55,6 +55,7 @@ UI_INFO = """
       <menuitem action='EditComment' />
       <separator />
       <menuitem action='EditPreferences' />
+      <menuitem action='EditStyle' />
     </menu>
     <menu action='ModulesMenu'>
       <menuitem action='Poolviewer' />
@@ -81,23 +82,23 @@ UI_INFO = """
 VTE_VERSION = "{}.{}.{}".format(Vte.MAJOR_VERSION, Vte.MINOR_VERSION, Vte.MICRO_VERSION)
 
 
-class SearchDialog(Gtk.Dialog):
-    def __init__(self, parent):
-        Gtk.Dialog.__init__(self, "Search", parent,
-                            Gtk.DialogFlags.MODAL, buttons=(Gtk.STOCK_FIND, Gtk.ResponseType.OK,
-                                                            Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL))
-
-        box = self.get_content_area()
-        box.set_spacing(5)
-        box.set_homogeneous(True)
-
-        label = Gtk.Label("Insert text you want to search for:")
-        box.add(label)
-
-        self.entry = Gtk.Entry()
-        box.add(self.entry)
-
-        self.show_all()
+# class SearchDialog(Gtk.Dialog):
+#     def __init__(self, parent):
+#         Gtk.Dialog.__init__(self, "Search", parent,
+#                             Gtk.DialogFlags.MODAL, buttons=(Gtk.STOCK_FIND, Gtk.ResponseType.OK,
+#                                                             Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL))
+#
+#         box = self.get_content_area()
+#         box.set_spacing(5)
+#         box.set_homogeneous(True)
+#
+#         label = Gtk.Label("Insert text you want to search for:")
+#         box.add(label)
+#
+#         self.entry = Gtk.Entry()
+#         box.add(self.entry)
+#
+#         self.show_all()
 
 
 class IPythonTerminal(Vte.Terminal):
@@ -182,6 +183,11 @@ class CcsEditor(Gtk.Window):
         self.editor_notebook = Gtk.Notebook(scrollable=True)
         self.grid.attach(self.editor_notebook, 0, 3, 3, 1)
 
+        if self.cfg.has_option('ccs-editor', 'color_scheme'):
+            self._update_style_schemes(self.cfg.get('ccs-editor', 'color_scheme'))
+        else:
+            self.style_scheme = None
+
         self.clipboard = Gtk.Clipboard.get(Gdk.SELECTION_CLIPBOARD)
 
         # self.connect('size-allocate', self.paned_check_resize)
@@ -269,7 +275,6 @@ class CcsEditor(Gtk.Window):
         @return: -
         """
 
-        ######
         # This function exists in every app, but is different here, be careful!
 
         self.my_bus_name = My_Bus_Name
@@ -322,10 +327,9 @@ class CcsEditor(Gtk.Window):
                                          " = dbus.SessionBus().get_object('" + str(My_Bus_Name) +
                                          "', '/MessageListener')")
 
-        #####
         # Connect to all running applications for terminal
         our_con = []
-        #Search for all applications
+        # Search for all applications
         for service in dbus.SessionBus().list_names():
             if service.startswith('com'):
                 our_con.append(service)
@@ -383,7 +387,6 @@ class CcsEditor(Gtk.Window):
                             self._to_console_via_socket("editor" + str(service[-1]) +
                                                         " = dbus.SessionBus().get_object('" + str(service) +
                                                         "', '/MessageListener')")
-        return
 
     def restart_terminal(self):
 
@@ -642,21 +645,9 @@ class CcsEditor(Gtk.Window):
         action.connect("activate", cfl.start_config_editor)
         action_group.add_action(action)
 
-    # def create_pool_menu(self, action_group):
-    #     action = Gtk.Action(name="PoolMenu", label="_Pool", tooltip=None, stock_id=None, sensitive=False)
-    #     action_group.add_action(action)
-    #
-    #     action = Gtk.Action(name="SelectConfig", label="_Select Configuration", tooltip=None, stock_id=None)
-    #     action.connect("activate", self._on_select_pool_config)
-    #     action_group.add_action(action)
-    #
-    #     action = Gtk.Action(name="EditConfig", label="_Edit Configuration", tooltip=None, stock_id=None)
-    #     action.connect("activate", self._on_edit_pool_config)
-    #     action_group.add_action(action)
-    #
-    #     action = Gtk.Action(name="CreateConfig", label="_Create Configuration", tooltip=None, stock_id=None)
-    #     action.connect("activate", self._on_create_pool_config)
-    #     action_group.add_action(action)
+        action = Gtk.Action(name="EditStyle", label="Set Editor Style", tooltip=None)
+        action.connect("activate", self._on_set_style)
+        action_group.add_action(action)
 
     def create_modules_menu(self, action_group):
         action = Gtk.Action(name="ModulesMenu", label="_Modules", tooltip=None, stock_id=None)
@@ -837,8 +828,6 @@ class CcsEditor(Gtk.Window):
         view = scrolled_window.get_child()
         return view
 
-    """ TODO: unsaved buffer warning on delete/destroy """
-
     def notebook_open_tab(self, filename=None):
 
         label = Gtk.Label()
@@ -1102,12 +1091,6 @@ class CcsEditor(Gtk.Window):
 
         toolbar.add(Gtk.SeparatorToolItem())
 
-        # button_reset_ns = Gtk.ToolButton()
-        # button_reset_ns.set_icon_name("edit-clear")
-        # button_reset_ns.set_tooltip_text('Reset console namespace')
-        # button_reset_ns.connect('clicked', self.reset_ns)
-        # toolbar.add(button_reset_ns)
-
         return toolbar
 
     def create_action_buttons(self, toolbar, targets, nbutt=10):
@@ -1315,7 +1298,8 @@ class CcsEditor(Gtk.Window):
         scrolledwindow.set_hexpand(True)
         scrolledwindow.set_vexpand(True)
 
-        textview = GtkSource.View(buffer=GtkSource.Buffer())
+        textview = GtkSource.View()
+        textview.set_buffer(GtkSource.Buffer())
 
         textview.set_wrap_mode(Gtk.WrapMode.WORD)
 
@@ -1353,6 +1337,9 @@ class CcsEditor(Gtk.Window):
 
         textbuffer.set_language(language)
 
+        if self.style_scheme is not None:
+            textbuffer.set_style_scheme(self.style_scheme)
+
         scrolledwindow.add(textview)
 
         return scrolledwindow
@@ -1595,34 +1582,12 @@ class CcsEditor(Gtk.Window):
         self.searchbar.set_search_mode(not self.searchbar.get_search_mode())
         if self.searchbar.get_search_mode():
             self.searchbar.get_child().get_child().get_children()[1].get_children()[0].get_children()[0].grab_focus()
-        '''
-        view = self._get_active_view()
-        textbuffer = view.get_buffer()
-
-        tag_clear = textbuffer.create_tag(background='white')
-        textbuffer.apply_tag(tag_clear, *textbuffer.get_bounds())
-
-        dialog = SearchDialog(self)
-
-        response = dialog.run()
-
-        if response == Gtk.ResponseType.OK:
-            cursor_mark = textbuffer.get_insert()
-            start = textbuffer.get_iter_at_mark(cursor_mark)
-
-            if start.get_offset() == textbuffer.get_char_count():
-                start = textbuffer.get_start_iter()
-
-            self.search_and_mark(textbuffer, dialog.entry.get_text(), start)
-
-        dialog.destroy()
-        '''
 
     def search_and_mark(self, searchentry, start=None, direction='next'):
         searchtext = searchentry.get_text()
         view = self._get_active_view()
         textbuffer = view.get_buffer()
-        if start == None:
+        if start is None:
             start, end = textbuffer.get_bounds()
         else:
             start = textbuffer.get_iter_at_mark(start)
@@ -1737,6 +1702,29 @@ class CcsEditor(Gtk.Window):
         self.log_file = file
         return True
 
+    def _on_set_style(self, widget):
+        dialog = StyleChooserDialog(scheme=self.style_scheme)
+
+        response = dialog.run()
+        if response == Gtk.ResponseType.OK:
+            style = dialog.styleschemechooser.get_style_scheme().get_id()
+            style_manager = GtkSource.StyleSchemeManager.get_default()
+            scheme = style_manager.get_scheme(style)
+            self._update_style_schemes(scheme)
+            self.cfg.save_option_to_file('ccs-editor', 'color_scheme', style)
+
+        dialog.destroy()
+
+    def _update_style_schemes(self, scheme):
+        if isinstance(scheme, str):
+            style_manager = GtkSource.StyleSchemeManager.get_default()
+            scheme = style_manager.get_scheme(scheme)
+
+        self.style_scheme = scheme
+        for tab in self.editor_notebook:
+            buf = tab.get_child().get_buffer()
+            buf.set_style_scheme(scheme)
+
 
 class UnsavedBufferDialog(Gtk.MessageDialog):
     def __init__(self, parent=None, msg=None):
@@ -1787,6 +1775,20 @@ class ActionWindow(Gtk.Window):
         self.show_all()
 
 
+class StyleChooserDialog(Gtk.Dialog):
+
+    def __init__(self, scheme=None):
+        super(StyleChooserDialog, self).__init__(title='Choose Style', use_header_bar=True)
+
+        self.styleschemechooser = GtkSource.StyleSchemeChooserWidget()
+        self.styleschemechooser.set_style_scheme(scheme)
+        self.get_content_area().add(self.styleschemechooser)
+
+        self.add_buttons(Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL, Gtk.STOCK_OK, Gtk.ResponseType.OK)
+
+        self.show_all()
+
+
 if __name__ == "__main__":
 
     DBusGMainLoop(set_as_default=True)