[gnome-builder/wip/chergert/razzledazzle: 5/20] dazzle: rip out internals and move to dazzle



commit e2036322ccd8d0207e62d10811411f8f01d7b9ac
Author: Christian Hergert <chergert redhat com>
Date:   Thu Jun 1 02:12:43 2017 -0700

    dazzle: rip out internals and move to dazzle
    
    This is a large change-set, and there is still more we can do, but this
    gets the bulk of things using dazzle instead of egg and pnl. It also
    rips out a few things from libide which were placed in Dazzel.

 contrib/egg/egg-animation.c                        | 1251 --------------------
 contrib/egg/egg-animation.h                        |   81 --
 contrib/egg/egg-binding-group.c                    |  638 ----------
 contrib/egg/egg-binding-group.h                    |   59 -
 contrib/egg/egg-box.c                              |  130 --
 contrib/egg/egg-box.h                              |   42 -
 contrib/egg/egg-centering-bin.c                    |  322 -----
 contrib/egg/egg-centering-bin.h                    |   39 -
 contrib/egg/egg-column-layout.c                    |  710 -----------
 contrib/egg/egg-column-layout.h                    |   51 -
 contrib/egg/egg-counter.c                          |  632 ----------
 contrib/egg/egg-counter.h                          |  289 -----
 contrib/egg/egg-date-time.c                        |   70 --
 contrib/egg/egg-date-time.h                        |   30 -
 contrib/egg/egg-elastic-bin.c                      |  278 -----
 contrib/egg/egg-elastic-bin.h                      |   44 -
 contrib/egg/egg-empty-state.c                      |  407 -------
 contrib/egg/egg-empty-state.h                      |   50 -
 contrib/egg/egg-empty-state.ui                     |   43 -
 contrib/egg/egg-entry-box.c                        |  143 ---
 contrib/egg/egg-entry-box.h                        |   34 -
 contrib/egg/egg-file-chooser-entry.c               |  568 ---------
 contrib/egg/egg-file-chooser-entry.h               |   48 -
 contrib/egg/egg-frame-source.c                     |  130 --
 contrib/egg/egg-frame-source.h                     |   32 -
 contrib/egg/egg-heap.c                             |  387 ------
 contrib/egg/egg-heap.h                             |   55 -
 contrib/egg/egg-list-box.c                         |  342 ------
 contrib/egg/egg-list-box.h                         |   50 -
 contrib/egg/egg-menu-manager.c                     |  522 --------
 contrib/egg/egg-menu-manager.h                     |   44 -
 contrib/egg/egg-pill-box.c                         |  131 --
 contrib/egg/egg-pill-box.h                         |   37 -
 contrib/egg/egg-pill-box.ui                        |   33 -
 contrib/egg/egg-priority-box.c                     |  266 -----
 contrib/egg/egg-priority-box.h                     |   44 -
 contrib/egg/egg-private.h                          |   38 -
 contrib/egg/egg-progress-button.c                  |  197 ---
 contrib/egg/egg-progress-button.h                  |   52 -
 contrib/egg/egg-radio-box.c                        |  510 --------
 contrib/egg/egg-radio-box.h                        |   50 -
 contrib/egg/egg-scrolled-window.c                  |  101 --
 contrib/egg/egg-scrolled-window.h                  |   32 -
 contrib/egg/egg-search-bar.c                       |  479 --------
 contrib/egg/egg-search-bar.h                       |   46 -
 contrib/egg/egg-settings-flag-action.c             |  311 -----
 contrib/egg/egg-settings-flag-action.h             |   36 -
 contrib/egg/egg-settings-sandwich.c                |  489 --------
 contrib/egg/egg-settings-sandwich.h                |   87 --
 contrib/egg/egg-signal-group.c                     |  770 ------------
 contrib/egg/egg-signal-group.h                     |   66 -
 contrib/egg/egg-simple-label.c                     |  390 ------
 contrib/egg/egg-simple-label.h                     |   50 -
 contrib/egg/egg-simple-popover.c                   |  415 -------
 contrib/egg/egg-simple-popover.h                   |   90 --
 contrib/egg/egg-simple-popover.ui                  |   55 -
 contrib/egg/egg-slider.c                           |  976 ---------------
 contrib/egg/egg-slider.h                           |   56 -
 contrib/egg/egg-state-machine-buildable.c          |  686 -----------
 contrib/egg/egg-state-machine-buildable.h          |   30 -
 contrib/egg/egg-state-machine.c                    |  746 ------------
 contrib/egg/egg-state-machine.h                    |   78 --
 contrib/egg/egg-suggestion-entry-buffer.c          |  408 -------
 contrib/egg/egg-suggestion-entry-buffer.h          |   52 -
 contrib/egg/egg-suggestion-entry.c                 |  663 -----------
 contrib/egg/egg-suggestion-entry.css               |   53 -
 contrib/egg/egg-suggestion-entry.h                 |   64 -
 contrib/egg/egg-suggestion-popover.c               |  831 -------------
 contrib/egg/egg-suggestion-popover.h               |   49 -
 contrib/egg/egg-suggestion-popover.ui              |   42 -
 contrib/egg/egg-suggestion-row.c                   |  209 ----
 contrib/egg/egg-suggestion-row.h                   |   49 -
 contrib/egg/egg-suggestion-row.ui                  |   53 -
 contrib/egg/egg-suggestion.c                       |  351 ------
 contrib/egg/egg-suggestion.h                       |   66 -
 contrib/egg/egg-task-cache.c                       | 1113 -----------------
 contrib/egg/egg-task-cache.h                       |   82 --
 contrib/egg/egg-three-grid.c                       |  804 -------------
 contrib/egg/egg-three-grid.h                       |   57 -
 contrib/egg/egg-widget-action-group.c              |  647 ----------
 contrib/egg/egg-widget-action-group.h              |   39 -
 contrib/egg/egg.gresource.xml                      |   11 -
 contrib/egg/meson.build                            |  133 ---
 contrib/egg/test-suggestion-buffer.c               |  102 --
 contrib/egg/test-suggestion.c                      |  325 -----
 contrib/rg/meson.build                             |    2 +-
 contrib/rg/rg-graph.c                              |   17 +-
 libide/application/ide-application-plugins.c       |    6 +-
 libide/application/ide-application-private.h       |    4 +-
 libide/application/ide-application.c               |   18 +-
 libide/application/ide-application.h               |    4 +-
 libide/buffers/ide-buffer-manager.c                |    8 +-
 libide/buffers/ide-buffer.c                        |   30 +-
 libide/buffers/ide-unsaved-files.c                 |   10 +-
 libide/buildsystem/ide-build-manager.c             |   22 +-
 libide/buildsystem/ide-build-pipeline.c            |   23 +-
 libide/buildsystem/ide-build-stage.c               |    6 +-
 libide/buildsystem/ide-build-stage.h               |    8 +-
 libide/buildui/ide-build-configuration-view.c      |    4 +-
 libide/buildui/ide-build-configuration-view.h      |    5 +-
 libide/buildui/ide-build-configuration-view.ui     |    2 +-
 libide/buildui/ide-build-log-panel.c               |    7 +-
 libide/buildui/ide-build-panel.c                   |    2 +-
 libide/buildui/ide-build-panel.ui                  |    2 +-
 libide/buildui/ide-build-workbench-addin.c         |    2 +-
 libide/diagnostics/ide-diagnostic.c                |    8 +-
 libide/diagnostics/ide-diagnostics.c               |    8 +-
 libide/diagnostics/ide-fixit.c                     |    8 +-
 libide/diagnostics/ide-source-location.c           |    8 +-
 libide/diagnostics/ide-source-range.c              |    8 +-
 libide/editor/ide-editor-frame.c                   |    3 +-
 libide/editor/ide-editor-layout-stack-controls.c   |   44 +-
 libide/editor/ide-editor-layout-stack-controls.h   |   15 +-
 libide/editor/ide-editor-layout-stack-controls.ui  |    6 +-
 libide/editor/ide-editor-perspective.c             |   12 +-
 libide/editor/ide-editor-view-private.h            |    3 +-
 libide/editor/ide-editor-view.c                    |    2 +-
 libide/editor/ide-editor-view.ui                   |    2 +-
 libide/files/ide-file-settings.c                   |    8 +-
 libide/files/ide-file.c                            |    8 +-
 libide/greeter/ide-greeter-perspective.c           |   29 +-
 libide/greeter/ide-greeter-perspective.ui          |    8 +-
 libide/greeter/ide-greeter-project-row.c           |   24 +-
 libide/gsettings/ide-gsettings-file-settings.c     |   10 +-
 libide/highlighting/ide-highlight-engine.c         |   24 +-
 libide/highlighting/ide-highlight-index.c          |    8 +-
 libide/ide.h                                       |    5 +-
 libide/langserv/ide-langserv-client.c              |   34 +-
 libide/langserv/ide-langserv-diagnostic-provider.c |   10 +-
 libide/langserv/ide-langserv-highlighter.c         |   12 +-
 libide/meson.build                                 |  102 +-
 libide/plugins/ide-extension-adapter.c             |   12 +-
 libide/preferences/ide-preferences-builtin.c       |    6 +-
 libide/preferences/ide-preferences-flow-box.c      |    4 +-
 libide/preferences/ide-preferences-flow-box.h      |    4 +-
 libide/preferences/ide-preferences-group.ui        |    2 +-
 libide/search/ide-pattern-spec.c                   |    8 +-
 libide/sourceview/ide-completion-results.c         |    8 +-
 libide/sourceview/ide-cursor.c                     |   24 +-
 libide/sourceview/ide-source-map.c                 |   26 +-
 libide/sourceview/ide-source-view-movements.c      |    6 +-
 libide/sourceview/ide-source-view.c                |  187 ++--
 libide/subprocess/ide-breakout-subprocess.c        |    8 +-
 libide/symbols/ide-symbol.c                        |    8 +-
 libide/theatrics/ide-box-theatric.c                |  420 -------
 libide/theatrics/ide-box-theatric.h                |   33 -
 libide/threading/ide-thread-pool.c                 |   16 +-
 libide/transfers/ide-transfer-button.c             |    8 +-
 libide/transfers/ide-transfer-button.h             |    8 +-
 libide/transfers/ide-transfer-row.c                |   22 +-
 libide/transfers/ide-transfers-button.c            |   11 +-
 libide/tree/ide-tree-node.c                        |    8 +-
 libide/util/ide-cairo.c                            |   84 --
 libide/util/ide-cairo.h                            |   68 --
 libide/util/ide-directory-reaper.c                 |  415 -------
 libide/util/ide-directory-reaper.h                 |   54 -
 libide/util/ide-file-manager.c                     |  191 ---
 libide/util/ide-file-manager.h                     |   31 -
 libide/util/ide-gdk.c                              |  143 ---
 libide/util/ide-gdk.h                              |   33 -
 libide/util/ide-glib.c                             |   44 -
 libide/util/ide-glib.h                             |    5 -
 libide/util/ide-gtk.c                              |   18 +-
 libide/util/ide-pango.c                            |  189 ---
 libide/util/ide-pango.h                            |   30 -
 libide/util/ide-ref-ptr.c                          |    8 +-
 libide/util/ide-rgba.c                             |  217 ----
 libide/util/ide-rgba.h                             |   32 -
 libide/util/ide-settings.c                         |   44 +-
 libide/workbench/ide-layout-pane.c                 |   10 +-
 libide/workbench/ide-layout-tab.c                  |    4 +-
 libide/workbench/ide-layout-tab.ui                 |    2 +-
 libide/workbench/ide-omni-bar.c                    |   66 +-
 libide/workbench/ide-omni-bar.ui                   |    2 +-
 libide/workbench/ide-workbench-header-bar.c        |    6 +-
 libide/workbench/ide-workbench-header-bar.ui       |    4 +-
 libide/workbench/ide-workbench.ui                  |    2 +-
 libide/workers/ide-worker-manager.c                |    8 +-
 libide/workers/ide-worker-process.c                |    8 +-
 meson.build                                        |    2 -
 plugins/autotools/ide-makecache-target.c           |    8 +-
 plugins/autotools/ide-makecache.c                  |   44 +-
 plugins/clang/ide-clang-service.c                  |   27 +-
 plugins/clang/ide-clang-translation-unit.c         |    8 +-
 plugins/create-project/gbp-create-project-widget.c |   31 +-
 .../create-project/gbp-create-project-widget.ui    |    8 +-
 plugins/ctags/ide-ctags-completion-item.c          |    8 +-
 plugins/ctags/ide-ctags-index.c                    |   20 +-
 plugins/ctags/ide-ctags-service.c                  |   26 +-
 plugins/eslint/eslint_plugin/__init__.py           |    2 +-
 plugins/flatpak/gbp-flatpak-clone-widget.c         |    7 +-
 plugins/flatpak/gbp-flatpak-pipeline-addin.c       |    2 +-
 plugins/gettext/ide-gettext-diagnostic-provider.c  |   22 +-
 plugins/git/ide-git-buffer-change-monitor.c        |   31 +-
 plugins/git/ide-git-clone-widget.c                 |   14 +-
 plugins/git/ide-git-clone-widget.ui                |    2 +-
 plugins/git/ide-git-remote-callbacks.c             |   12 +-
 plugins/rustup/rustup_plugin/__init__.py           |    6 +-
 plugins/support/ide-support.c                      |    8 +-
 plugins/symbol-tree/symbol-tree-panel.c            |   27 +-
 plugins/symbol-tree/symbol-tree-panel.ui           |    2 +-
 plugins/terminal/gb-terminal.c                     |   13 +-
 plugins/xml-pack/ide-xml-highlighter.c             |   20 +-
 plugins/xml-pack/ide-xml-service.c                 |   33 +-
 plugins/xml-pack/ide-xml-tree-builder.c            |    2 +-
 tests/meson.build                                  |   90 --
 tests/test-ide-indenter.c                          |    3 +-
 tests/test-vim.c                                   |    3 +-
 tools/ide-list-build-flags.c                       |  152 ---
 tools/ide-list-counters.c                          |  111 --
 tools/ide-list-devices.c                           |  131 --
 tools/ide-list-file-settings.c                     |  238 ----
 tools/ide-list-files.c                             |  149 ---
 tools/ide-mine-projects.c                          |  110 --
 tools/ide-search.c                                 |  149 ---
 tools/meson.build                                  |    6 -
 216 files changed, 730 insertions(+), 25006 deletions(-)
---
diff --git a/contrib/rg/meson.build b/contrib/rg/meson.build
index 1f5f370..23e6c45 100644
--- a/contrib/rg/meson.build
+++ b/contrib/rg/meson.build
@@ -22,7 +22,7 @@ librg_sources = [
 librg_deps = [
   libgio_dep,
   libgtk_dep,
-  libegg_dep,
+  libdazzle_dep,
 ]
 
 librg_link_args = '-Wl,--version-script=' + join_paths(meson.current_source_dir(), 'rg.map')
diff --git a/contrib/rg/rg-graph.c b/contrib/rg/rg-graph.c
index fae62f5..ff1aab9 100644
--- a/contrib/rg/rg-graph.c
+++ b/contrib/rg/rg-graph.c
@@ -16,16 +16,15 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+#include <dazzle.h>
 #include <glib/gi18n.h>
 
-#include "egg-signal-group.h"
-
 #include "rg-graph.h"
 
 typedef struct
 {
   RgTable         *table;
-  EggSignalGroup  *table_signals;
+  DzlSignalGroup  *table_signals;
   GPtrArray       *renderers;
   cairo_surface_t *surface;
   guint            tick_handler;
@@ -87,7 +86,7 @@ rg_graph_set_table (RgGraph *self,
 
   if (g_set_object (&priv->table, table))
     {
-      egg_signal_group_set_target (priv->table_signals, table);
+      dzl_signal_group_set_target (priv->table_signals, table);
       gtk_widget_queue_allocate (GTK_WIDGET (self));
       g_object_notify_by_pspec (G_OBJECT (self), properties [PROP_TABLE]);
     }
@@ -388,27 +387,27 @@ rg_graph_init (RgGraph *self)
 
   priv->renderers = g_ptr_array_new_with_free_func (g_object_unref);
 
-  priv->table_signals = egg_signal_group_new (RG_TYPE_TABLE);
+  priv->table_signals = dzl_signal_group_new (RG_TYPE_TABLE);
 
-  egg_signal_group_connect_object (priv->table_signals,
+  dzl_signal_group_connect_object (priv->table_signals,
                                    "notify::value-max",
                                    G_CALLBACK (gtk_widget_queue_allocate),
                                    self,
                                    G_CONNECT_SWAPPED);
 
-  egg_signal_group_connect_object (priv->table_signals,
+  dzl_signal_group_connect_object (priv->table_signals,
                                    "notify::value-min",
                                    G_CALLBACK (gtk_widget_queue_allocate),
                                    self,
                                    G_CONNECT_SWAPPED);
 
-  egg_signal_group_connect_object (priv->table_signals,
+  dzl_signal_group_connect_object (priv->table_signals,
                                    "notify::timespan",
                                    G_CALLBACK (gtk_widget_queue_allocate),
                                    self,
                                    G_CONNECT_SWAPPED);
 
-  egg_signal_group_connect_object (priv->table_signals,
+  dzl_signal_group_connect_object (priv->table_signals,
                                    "changed",
                                    G_CALLBACK (rg_graph__table_changed),
                                    self,
diff --git a/libide/application/ide-application-plugins.c b/libide/application/ide-application-plugins.c
index fae1e23..10d9469 100644
--- a/libide/application/ide-application-plugins.c
+++ b/libide/application/ide-application-plugins.c
@@ -406,7 +406,7 @@ ide_application_load_plugin_menus (IdeApplication *self,
    */
   module_name = peas_plugin_info_get_module_name (plugin_info);
   path = g_strdup_printf ("/org/gnome/builder/plugins/%s/gtk/menus.ui", module_name);
-  merge_id = egg_menu_manager_add_resource (self->menu_manager, path, NULL);
+  merge_id = dzl_menu_manager_add_resource (self->menu_manager, path, NULL);
   if (merge_id != 0)
     g_hash_table_insert (self->merge_ids, g_strdup (module_name), GINT_TO_POINTER (merge_id));
   g_free (path);
@@ -420,7 +420,7 @@ ide_application_load_plugin_menus (IdeApplication *self,
       path = g_strdup_printf ("%s/gtk/menus.ui", peas_plugin_info_get_data_dir (plugin_info));
       if (g_file_test (path, G_FILE_TEST_IS_REGULAR))
         {
-          merge_id = egg_menu_manager_add_filename (self->menu_manager, path, NULL);
+          merge_id = dzl_menu_manager_add_filename (self->menu_manager, path, NULL);
           if (merge_id != 0)
             g_hash_table_insert (self->merge_ids, g_strdup (module_name), GINT_TO_POINTER (merge_id));
         }
@@ -443,7 +443,7 @@ ide_application_unload_plugin_menus (IdeApplication *self,
   module_name = peas_plugin_info_get_module_name (plugin_info);
   merge_id = GPOINTER_TO_INT (g_hash_table_lookup (self->merge_ids, module_name));
   if (merge_id != 0)
-    egg_menu_manager_remove (self->menu_manager, merge_id);
+    dzl_menu_manager_remove (self->menu_manager, merge_id);
   g_hash_table_remove (self->merge_ids, module_name);
 }
 
diff --git a/libide/application/ide-application-private.h b/libide/application/ide-application-private.h
index 044fb37..eafb0d8 100644
--- a/libide/application/ide-application-private.h
+++ b/libide/application/ide-application-private.h
@@ -19,7 +19,7 @@
 #ifndef IDE_APPLICATION_PRIVATE_H
 #define IDE_APPLICATION_PRIVATE_H
 
-#include <egg-menu-manager.h>
+#include <dazzle.h>
 #include <gio/gio.h>
 #include <libpeas/peas.h>
 
@@ -55,7 +55,7 @@ struct _IdeApplication
 
   IdeThemeManager     *theme_manager;
 
-  EggMenuManager      *menu_manager;
+  DzlMenuManager      *menu_manager;
   GHashTable          *merge_ids;
 
   GHashTable          *plugin_css;
diff --git a/libide/application/ide-application.c b/libide/application/ide-application.c
index 425d94a..d4cb49c 100644
--- a/libide/application/ide-application.c
+++ b/libide/application/ide-application.c
@@ -172,12 +172,12 @@ ide_application_register_plugin_accessories (IdeApplication *self)
 
   g_assert (IDE_IS_APPLICATION (self));
 
-  self->menu_manager = egg_menu_manager_new ();
-  egg_menu_manager_add_resource (self->menu_manager, "/org/gnome/builder/gtk/menus.ui", NULL);
+  self->menu_manager = dzl_menu_manager_new ();
+  dzl_menu_manager_add_resource (self->menu_manager, "/org/gnome/builder/gtk/menus.ui", NULL);
 
   ide_application_init_plugin_accessories (self);
 
-  app_menu = egg_menu_manager_get_menu_by_id (self->menu_manager, "app-menu");
+  app_menu = dzl_menu_manager_get_menu_by_id (self->menu_manager, "app-menu");
   gtk_application_set_app_menu (GTK_APPLICATION (self), G_MENU_MODEL (app_menu));
 
   IDE_EXIT;
@@ -450,11 +450,11 @@ ide_application_shutdown (GApplication *application)
 
   for (guint i = 0; i < self->reapers->len; i++)
     {
-      IdeDirectoryReaper *reaper = g_ptr_array_index (self->reapers, i);
+      DzlDirectoryReaper *reaper = g_ptr_array_index (self->reapers, i);
 
-      g_assert (IDE_IS_DIRECTORY_REAPER (reaper));
+      g_assert (DZL_IS_DIRECTORY_REAPER (reaper));
 
-      ide_directory_reaper_execute (reaper, NULL, NULL);
+      dzl_directory_reaper_execute (reaper, NULL, NULL);
     }
 }
 
@@ -775,7 +775,7 @@ ide_application_get_menu_by_id (IdeApplication *self,
   g_return_val_if_fail (id != NULL, NULL);
 
   if (self->menu_manager != NULL)
-    return egg_menu_manager_get_menu_by_id (self->menu_manager, id);
+    return dzl_menu_manager_get_menu_by_id (self->menu_manager, id);
 
   g_critical ("%s() called by non-UI process", G_STRFUNC);
 
@@ -862,10 +862,10 @@ ide_application_get_main_thread (void)
 
 void
 ide_application_add_reaper (IdeApplication     *self,
-                            IdeDirectoryReaper *reaper)
+                            DzlDirectoryReaper *reaper)
 {
   g_return_if_fail (IDE_IS_APPLICATION (self));
-  g_return_if_fail (IDE_IS_DIRECTORY_REAPER (reaper));
+  g_return_if_fail (DZL_IS_DIRECTORY_REAPER (reaper));
 
   g_ptr_array_add (self->reapers, g_object_ref (reaper));
 }
diff --git a/libide/application/ide-application.h b/libide/application/ide-application.h
index 76edede..b310657 100644
--- a/libide/application/ide-application.h
+++ b/libide/application/ide-application.h
@@ -19,10 +19,10 @@
 #ifndef IDE_APPLICATION_H
 #define IDE_APPLICATION_H
 
+#include <dazzle.h>
 #include <gtk/gtk.h>
 
 #include "projects/ide-recent-projects.h"
-#include "util/ide-directory-reaper.h"
 
 G_BEGIN_DECLS
 
@@ -60,7 +60,7 @@ GMenu              *ide_application_get_menu_by_id       (IdeApplication       *
 gboolean            ide_application_open_project         (IdeApplication       *self,
                                                           GFile                *file);
 void                ide_application_add_reaper           (IdeApplication       *self,
-                                                          IdeDirectoryReaper   *reaper);
+                                                          DzlDirectoryReaper   *reaper);
 
 G_END_DECLS
 
diff --git a/libide/buffers/ide-buffer-manager.c b/libide/buffers/ide-buffer-manager.c
index fdd3bba..b7c1ba4 100644
--- a/libide/buffers/ide-buffer-manager.c
+++ b/libide/buffers/ide-buffer-manager.c
@@ -18,7 +18,7 @@
 
 #define G_LOG_DOMAIN "ide-buffer-manager"
 
-#include <egg-counter.h>
+#include <dazzle.h>
 #include <gtksourceview/gtksource.h>
 #include <glib/gi18n.h>
 
@@ -101,7 +101,7 @@ static void list_model_iface_init (GListModelInterface *iface);
 G_DEFINE_TYPE_EXTENDED (IdeBufferManager, ide_buffer_manager, IDE_TYPE_OBJECT, 0,
                         G_IMPLEMENT_INTERFACE (G_TYPE_LIST_MODEL, list_model_iface_init))
 
-EGG_DEFINE_COUNTER (registered, "IdeBufferManager", "Registered Buffers",
+DZL_DEFINE_COUNTER (registered, "IdeBufferManager", "Registered Buffers",
                     "The number of buffers registered with the buffer manager.")
 
 enum {
@@ -402,7 +402,7 @@ ide_buffer_manager_add_buffer (IdeBufferManager *self,
                            self,
                            (G_CONNECT_SWAPPED | G_CONNECT_AFTER));
 
-  EGG_COUNTER_INC (registered);
+  DZL_COUNTER_INC (registered);
 
   g_list_model_items_changed (G_LIST_MODEL (self), self->buffers->len - 1, 0, 1);
 
@@ -471,7 +471,7 @@ ide_buffer_manager_remove_buffer (IdeBufferManager *self,
 
   g_object_unref (buffer);
 
-  EGG_COUNTER_DEC (registered);
+  DZL_COUNTER_DEC (registered);
 
   g_list_model_items_changed (G_LIST_MODEL (self), position, 1, 0);
 
diff --git a/libide/buffers/ide-buffer.c b/libide/buffers/ide-buffer.c
index 839b7f5..a412634 100644
--- a/libide/buffers/ide-buffer.c
+++ b/libide/buffers/ide-buffer.c
@@ -18,8 +18,8 @@
 
 #define G_LOG_DOMAIN "ide-buffer"
 
-#include <egg-counter.h>
-#include <egg-signal-group.h>
+#include <dazzle.h>
+#include <dazzle.h>
 #include <glib/gi18n.h>
 #include <gspell/gspell.h>
 
@@ -73,7 +73,7 @@ typedef struct
   IdeContext             *context;
   IdeDiagnostics         *diagnostics;
   GHashTable             *diagnostics_line_cache;
-  EggSignalGroup         *diagnostics_manager_signals;
+  DzlSignalGroup         *diagnostics_manager_signals;
   IdeFile                *file;
   GBytes                 *content;
   IdeBufferChangeMonitor *change_monitor;
@@ -84,7 +84,7 @@ typedef struct
   GspellChecker          *spellchecker;
   gchar                  *title;
 
-  EggSignalGroup         *file_signals;
+  DzlSignalGroup         *file_signals;
 
   GFileMonitor           *file_monitor;
 
@@ -110,7 +110,7 @@ typedef struct
 
 G_DEFINE_TYPE_WITH_PRIVATE (IdeBuffer, ide_buffer, GTK_SOURCE_TYPE_BUFFER)
 
-EGG_DEFINE_COUNTER (instances, "IdeBuffer", "Instances", "Number of IdeBuffer instances.")
+DZL_DEFINE_COUNTER (instances, "IdeBuffer", "Instances", "Number of IdeBuffer instances.")
 
 enum {
   PROP_0,
@@ -297,7 +297,7 @@ ide_buffer_set_context (IdeBuffer  *self,
 
   diagnostics_manager = ide_context_get_diagnostics_manager (context);
 
-  egg_signal_group_set_target (priv->diagnostics_manager_signals, diagnostics_manager);
+  dzl_signal_group_set_target (priv->diagnostics_manager_signals, diagnostics_manager);
 }
 
 void
@@ -1306,7 +1306,7 @@ ide_buffer_dispose (GObject *object)
       g_clear_object (&priv->change_monitor);
     }
 
-  egg_signal_group_set_target (priv->diagnostics_manager_signals, NULL);
+  dzl_signal_group_set_target (priv->diagnostics_manager_signals, NULL);
 
   g_clear_pointer (&priv->diagnostics_line_cache, g_hash_table_unref);
   g_clear_pointer (&priv->diagnostics, ide_diagnostics_unref);
@@ -1349,7 +1349,7 @@ ide_buffer_finalize (GObject *object)
 
   G_OBJECT_CLASS (ide_buffer_parent_class)->finalize (object);
 
-  EGG_COUNTER_DEC (instances);
+  DZL_COUNTER_DEC (instances);
 
   IDE_EXIT;
 }
@@ -1618,13 +1618,13 @@ ide_buffer_init (IdeBuffer *self)
 
   priv->highlight_diagnostics = TRUE;
 
-  priv->file_signals = egg_signal_group_new (IDE_TYPE_FILE);
-  egg_signal_group_connect_object (priv->file_signals,
+  priv->file_signals = dzl_signal_group_new (IDE_TYPE_FILE);
+  dzl_signal_group_connect_object (priv->file_signals,
                                    "notify::language",
                                    G_CALLBACK (ide_buffer__file_notify_language),
                                    self,
                                    G_CONNECT_SWAPPED);
-  egg_signal_group_connect_object (priv->file_signals,
+  dzl_signal_group_connect_object (priv->file_signals,
                                    "notify::file",
                                    G_CALLBACK (ide_buffer__file_notify_file),
                                    self,
@@ -1632,14 +1632,14 @@ ide_buffer_init (IdeBuffer *self)
 
   priv->diagnostics_line_cache = g_hash_table_new (g_direct_hash, g_direct_equal);
 
-  priv->diagnostics_manager_signals = egg_signal_group_new (IDE_TYPE_DIAGNOSTICS_MANAGER);
-  egg_signal_group_connect_object (priv->diagnostics_manager_signals,
+  priv->diagnostics_manager_signals = dzl_signal_group_new (IDE_TYPE_DIAGNOSTICS_MANAGER);
+  dzl_signal_group_connect_object (priv->diagnostics_manager_signals,
                                    "changed",
                                    G_CALLBACK (ide_buffer__diagnostics_manager__changed),
                                    self,
                                    G_CONNECT_SWAPPED);
 
-  EGG_COUNTER_INC (instances);
+  DZL_COUNTER_INC (instances);
 
   IDE_EXIT;
 }
@@ -1708,7 +1708,7 @@ ide_buffer_set_file (IdeBuffer *self,
 
   if (g_set_object (&priv->file, file))
     {
-      egg_signal_group_set_target (priv->file_signals, file);
+      dzl_signal_group_set_target (priv->file_signals, file);
       ide_file_load_settings_async (priv->file,
                                     NULL,
                                     ide_buffer__file_load_settings_cb,
diff --git a/libide/buffers/ide-unsaved-files.c b/libide/buffers/ide-unsaved-files.c
index 132c5cd..77a9c09 100644
--- a/libide/buffers/ide-unsaved-files.c
+++ b/libide/buffers/ide-unsaved-files.c
@@ -18,6 +18,7 @@
 
 #define G_LOG_DOMAIN "ide-unsaved-files"
 
+#include <dazzle.h>
 #include <errno.h>
 #include <fcntl.h>
 #include <glib/gstdio.h>
@@ -31,7 +32,6 @@
 #include "buffers/ide-unsaved-file.h"
 #include "buffers/ide-unsaved-files.h"
 #include "projects/ide-project.h"
-#include "util/ide-directory-reaper.h"
 
 typedef struct
 {
@@ -726,7 +726,7 @@ ide_unsaved_files_set_context (IdeObject  *object,
                                IdeContext *context)
 {
   IdeUnsavedFiles *self = (IdeUnsavedFiles *)object;
-  g_autoptr(IdeDirectoryReaper) reaper = NULL;
+  g_autoptr(DzlDirectoryReaper) reaper = NULL;
   g_autoptr(GFile) buffersdir = NULL;
   g_autofree gchar *path = NULL;
 
@@ -735,7 +735,7 @@ ide_unsaved_files_set_context (IdeObject  *object,
 
   IDE_OBJECT_CLASS (ide_unsaved_files_parent_class)->set_context (object, context);
 
-  reaper = ide_directory_reaper_new ();
+  reaper = dzl_directory_reaper_new ();
 
   /*
    * Setup a reaper to cleanup old files in case that we left some around
@@ -743,10 +743,10 @@ ide_unsaved_files_set_context (IdeObject  *object,
    */
   path = get_buffers_dir ();
   buffersdir = g_file_new_for_path (path);
-  ide_directory_reaper_add_directory (reaper, buffersdir, G_TIME_SPAN_DAY);
+  dzl_directory_reaper_add_directory (reaper, buffersdir, G_TIME_SPAN_DAY);
 
   /* Now cleanup the old files */
-  ide_directory_reaper_execute_async (reaper, NULL, NULL, NULL);
+  dzl_directory_reaper_execute_async (reaper, NULL, NULL, NULL);
 }
 
 static void
diff --git a/libide/buildsystem/ide-build-manager.c b/libide/buildsystem/ide-build-manager.c
index d8e39e8..333b5c5 100644
--- a/libide/buildsystem/ide-build-manager.c
+++ b/libide/buildsystem/ide-build-manager.c
@@ -18,7 +18,7 @@
 
 #define G_LOG_DOMAIN "ide-build-manager"
 
-#include <egg-signal-group.h>
+#include <dazzle.h>
 
 #include "ide-context.h"
 #include "ide-debug.h"
@@ -39,7 +39,7 @@ struct _IdeBuildManager
   GDateTime        *last_build_time;
   GCancellable     *cancellable;
   GActionGroup     *actions;
-  EggSignalGroup   *pipeline_signals;
+  DzlSignalGroup   *pipeline_signals;
 
   GTimer           *running_time;
 
@@ -124,7 +124,7 @@ ide_build_manager_start_timer (IdeBuildManager *self)
     self->running_time = g_timer_new ();
 
   /*
-   * We use the EggFrameSource for our timer callback because we only want to
+   * We use the DzlFrameSource for our timer callback because we only want to
    * update at a rate somewhat close to a typical monitor refresh rate.
    * Additionally, we want to handle drift (which that source does) so that we
    * don't constantly fall behind.
@@ -318,7 +318,7 @@ failure:
   if (pipeline == self->pipeline)
     {
       g_clear_object (&self->pipeline);
-      egg_signal_group_set_target (self->pipeline_signals, NULL);
+      dzl_signal_group_set_target (self->pipeline_signals, NULL);
     }
 
   IDE_EXIT;
@@ -392,7 +392,7 @@ ide_build_manager_invalidate_pipeline (IdeBuildManager *self)
                                  "context", context,
                                  "configuration", config,
                                  NULL);
-  egg_signal_group_set_target (self->pipeline_signals, self->pipeline);
+  dzl_signal_group_set_target (self->pipeline_signals, self->pipeline);
 
   /*
    * This next part of the pipeline setup is asynchronous, as we need to
@@ -820,33 +820,33 @@ ide_build_manager_init (IdeBuildManager *self)
 
   ide_build_manager_update_action_enabled (self);
 
-  self->pipeline_signals = egg_signal_group_new (IDE_TYPE_BUILD_PIPELINE);
+  self->pipeline_signals = dzl_signal_group_new (IDE_TYPE_BUILD_PIPELINE);
 
-  egg_signal_group_connect_object (self->pipeline_signals,
+  dzl_signal_group_connect_object (self->pipeline_signals,
                                    "diagnostic",
                                    G_CALLBACK (ide_build_manager_handle_diagnostic),
                                    self,
                                    G_CONNECT_SWAPPED);
 
-  egg_signal_group_connect_object (self->pipeline_signals,
+  dzl_signal_group_connect_object (self->pipeline_signals,
                                    "notify::busy",
                                    G_CALLBACK (ide_build_manager_notify_busy),
                                    self,
                                    G_CONNECT_SWAPPED);
 
-  egg_signal_group_connect_object (self->pipeline_signals,
+  dzl_signal_group_connect_object (self->pipeline_signals,
                                    "notify::message",
                                    G_CALLBACK (ide_build_manager_notify_message),
                                    self,
                                    G_CONNECT_SWAPPED);
 
-  egg_signal_group_connect_object (self->pipeline_signals,
+  dzl_signal_group_connect_object (self->pipeline_signals,
                                    "started",
                                    G_CALLBACK (ide_build_manager_pipeline_started),
                                    self,
                                    G_CONNECT_SWAPPED);
 
-  egg_signal_group_connect_object (self->pipeline_signals,
+  dzl_signal_group_connect_object (self->pipeline_signals,
                                    "finished",
                                    G_CALLBACK (ide_build_manager_pipeline_finished),
                                    self,
diff --git a/libide/buildsystem/ide-build-pipeline.c b/libide/buildsystem/ide-build-pipeline.c
index b6b7290..1d0afae 100644
--- a/libide/buildsystem/ide-build-pipeline.c
+++ b/libide/buildsystem/ide-build-pipeline.c
@@ -19,7 +19,7 @@
 #define G_LOG_DOMAIN "ide-build-pipeline"
 
 #include <glib/gi18n.h>
-#include <egg-counter.h>
+#include <dazzle.h>
 #include <libpeas/peas.h>
 #include <string.h>
 
@@ -44,10 +44,9 @@
 #include "plugins/ide-extension-util.h"
 #include "projects/ide-project.h"
 #include "runtimes/ide-runtime.h"
-#include "util/ide-directory-reaper.h"
 #include "vcs/ide-vcs.h"
 
-EGG_DEFINE_COUNTER (Instances, "Pipeline", "N Pipelines", "Number of Pipeline instances")
+DZL_DEFINE_COUNTER (Instances, "Pipeline", "N Pipelines", "Number of Pipeline instances")
 
 /**
  * SECTION:idebuildpipeline
@@ -959,7 +958,7 @@ ide_build_pipeline_finalize (GObject *object)
 
   G_OBJECT_CLASS (ide_build_pipeline_parent_class)->finalize (object);
 
-  EGG_COUNTER_DEC (Instances);
+  DZL_COUNTER_DEC (Instances);
 
   IDE_EXIT;
 }
@@ -1192,7 +1191,7 @@ ide_build_pipeline_class_init (IdeBuildPipelineClass *klass)
 static void
 ide_build_pipeline_init (IdeBuildPipeline *self)
 {
-  EGG_COUNTER_INC (Instances);
+  DZL_COUNTER_INC (Instances);
 
   self->position = -1;
 
@@ -2566,7 +2565,7 @@ ide_build_pipeline_reaper_cb (GObject      *object,
                               GAsyncResult *result,
                               gpointer      user_data)
 {
-  IdeDirectoryReaper *reaper = (IdeDirectoryReaper *)object;
+  DzlDirectoryReaper *reaper = (DzlDirectoryReaper *)object;
   IdeBuildPipeline *self;
   g_autoptr(GTask) task = user_data;
   g_autoptr(GError) error = NULL;
@@ -2575,7 +2574,7 @@ ide_build_pipeline_reaper_cb (GObject      *object,
 
   IDE_ENTRY;
 
-  g_assert (IDE_IS_DIRECTORY_REAPER (reaper));
+  g_assert (DZL_IS_DIRECTORY_REAPER (reaper));
   g_assert (G_IS_ASYNC_RESULT (result));
   g_assert (G_IS_TASK (task));
 
@@ -2592,7 +2591,7 @@ ide_build_pipeline_reaper_cb (GObject      *object,
   g_assert (IDE_IS_BUILD_PIPELINE (self));
 
   /* Make sure our reaper completed or else we bail */
-  if (!ide_directory_reaper_execute_finish (reaper, result, &error))
+  if (!dzl_directory_reaper_execute_finish (reaper, result, &error))
     {
       g_task_return_error (task, g_steal_pointer (&error));
       IDE_EXIT;
@@ -2614,7 +2613,7 @@ static void
 ide_build_pipeline_tick_rebuild (IdeBuildPipeline *self,
                                  GTask            *task)
 {
-  g_autoptr(IdeDirectoryReaper) reaper = NULL;
+  g_autoptr(DzlDirectoryReaper) reaper = NULL;
   GCancellable *cancellable;
 
   IDE_ENTRY;
@@ -2632,7 +2631,7 @@ ide_build_pipeline_tick_rebuild (IdeBuildPipeline *self,
   }
 #endif
 
-  reaper = ide_directory_reaper_new ();
+  reaper = dzl_directory_reaper_new ();
 
   /*
    * Check if we can remove the builddir. We don't want to do this if it is the
@@ -2642,7 +2641,7 @@ ide_build_pipeline_tick_rebuild (IdeBuildPipeline *self,
     {
       g_autoptr(GFile) builddir = g_file_new_for_path (self->builddir);
 
-      ide_directory_reaper_add_directory (reaper, builddir, 0);
+      dzl_directory_reaper_add_directory (reaper, builddir, 0);
     }
 
   /*
@@ -2661,7 +2660,7 @@ ide_build_pipeline_tick_rebuild (IdeBuildPipeline *self,
   g_assert (!cancellable || G_IS_CANCELLABLE (cancellable));
 
   /* Now execute the reaper to clean up the build files. */
-  ide_directory_reaper_execute_async (reaper,
+  dzl_directory_reaper_execute_async (reaper,
                                       cancellable,
                                       ide_build_pipeline_reaper_cb,
                                       g_object_ref (task));
diff --git a/libide/buildsystem/ide-build-stage.c b/libide/buildsystem/ide-build-stage.c
index e0742be..7654213 100644
--- a/libide/buildsystem/ide-build-stage.c
+++ b/libide/buildsystem/ide-build-stage.c
@@ -469,7 +469,7 @@ ide_build_stage_class_init (IdeBuildStageClass *klass)
                   G_SIGNAL_RUN_LAST,
                   G_STRUCT_OFFSET (IdeBuildStageClass, reap),
                   NULL, NULL, NULL,
-                  G_TYPE_NONE, 1, IDE_TYPE_DIRECTORY_REAPER);
+                  G_TYPE_NONE, 1, DZL_TYPE_DIRECTORY_REAPER);
 }
 
 static void
@@ -971,12 +971,12 @@ ide_build_stage_clean_finish (IdeBuildStage  *self,
 
 void
 ide_build_stage_emit_reap (IdeBuildStage      *self,
-                           IdeDirectoryReaper *reaper)
+                           DzlDirectoryReaper *reaper)
 {
   IDE_ENTRY;
 
   g_return_if_fail (IDE_IS_BUILD_STAGE (self));
-  g_return_if_fail (IDE_IS_DIRECTORY_REAPER (reaper));
+  g_return_if_fail (DZL_IS_DIRECTORY_REAPER (reaper));
 
   g_signal_emit (self, signals [REAP], 0, reaper);
 
diff --git a/libide/buildsystem/ide-build-stage.h b/libide/buildsystem/ide-build-stage.h
index 57e6b6a..ec9adcf 100644
--- a/libide/buildsystem/ide-build-stage.h
+++ b/libide/buildsystem/ide-build-stage.h
@@ -19,13 +19,13 @@
 #ifndef IDE_BUILD_STAGE_H
 #define IDE_BUILD_STAGE_H
 
+#include <dazzle.h>
 #include <gio/gio.h>
 
 #include "ide-types.h"
 #include "ide-object.h"
 
 #include "buildsystem/ide-build-log.h"
-#include "util/ide-directory-reaper.h"
 
 G_BEGIN_DECLS
 
@@ -130,7 +130,7 @@ struct _IdeBuildStageClass
   /**
    * IdeBuildStage::reap:
    * @self: An #IdeBuildStage
-   * @reaper: An #IdeDirectoryReaper
+   * @reaper: An #DzlDirectoryReaper
    *
    * This signal is emitted when a request to rebuild the project has
    * occurred. This allows build stages to ensure that certain files are
@@ -139,7 +139,7 @@ struct _IdeBuildStageClass
    * as part of the next build.
    */
   void     (*reap)           (IdeBuildStage        *self,
-                              IdeDirectoryReaper   *reaper);
+                              DzlDirectoryReaper   *reaper);
 
 
   /**
@@ -219,7 +219,7 @@ gboolean       ide_build_stage_chain            (IdeBuildStage        *self,
 void           ide_build_stage_pause            (IdeBuildStage        *self);
 void           ide_build_stage_unpause          (IdeBuildStage        *self);
 void           ide_build_stage_emit_reap        (IdeBuildStage        *self,
-                                                 IdeDirectoryReaper   *reaper);
+                                                 DzlDirectoryReaper   *reaper);
 
 G_END_DECLS
 
diff --git a/libide/buildui/ide-build-configuration-view.c b/libide/buildui/ide-build-configuration-view.c
index e36ec46..913a785 100644
--- a/libide/buildui/ide-build-configuration-view.c
+++ b/libide/buildui/ide-build-configuration-view.c
@@ -28,7 +28,7 @@
 
 struct _IdeBuildConfigurationView
 {
-  EggColumnLayout       parent_instance;
+  DzlColumnLayout       parent_instance;
 
   IdeConfiguration     *configuration;
 
@@ -50,7 +50,7 @@ enum {
   LAST_PROP
 };
 
-G_DEFINE_TYPE (IdeBuildConfigurationView, ide_build_configuration_view, EGG_TYPE_COLUMN_LAYOUT)
+G_DEFINE_TYPE (IdeBuildConfigurationView, ide_build_configuration_view, DZL_TYPE_COLUMN_LAYOUT)
 
 static GParamSpec *properties [LAST_PROP];
 
diff --git a/libide/buildui/ide-build-configuration-view.h b/libide/buildui/ide-build-configuration-view.h
index 2adea17..b79dcb6 100644
--- a/libide/buildui/ide-build-configuration-view.h
+++ b/libide/buildui/ide-build-configuration-view.h
@@ -20,14 +20,13 @@
 #define IDE_BUILD_CONFIGURATION_VIEW_H
 
 #include <ide.h>
-
-#include "egg-column-layout.h"
+#include <dazzle.h>
 
 G_BEGIN_DECLS
 
 #define IDE_TYPE_BUILD_CONFIGURATION_VIEW (ide_build_configuration_view_get_type())
 
-G_DECLARE_FINAL_TYPE (IdeBuildConfigurationView, ide_build_configuration_view, IDE, 
BUILD_CONFIGURATION_VIEW, EggColumnLayout)
+G_DECLARE_FINAL_TYPE (IdeBuildConfigurationView, ide_build_configuration_view, IDE, 
BUILD_CONFIGURATION_VIEW, DzlColumnLayout)
 
 IdeConfiguration *ide_build_configuration_view_get_configuration (IdeBuildConfigurationView *self);
 void              ide_build_configuration_view_set_configuration (IdeBuildConfigurationView *self,
diff --git a/libide/buildui/ide-build-configuration-view.ui b/libide/buildui/ide-build-configuration-view.ui
index 2ea8e21..6d1d28b 100644
--- a/libide/buildui/ide-build-configuration-view.ui
+++ b/libide/buildui/ide-build-configuration-view.ui
@@ -1,5 +1,5 @@
 <interface>
-  <template class="IdeBuildConfigurationView" parent="EggColumnLayout">
+  <template class="IdeBuildConfigurationView" parent="DzlColumnLayout">
     <property name="border-width">24</property>
     <child>
       <object class="GtkBox">
diff --git a/libide/buildui/ide-build-log-panel.c b/libide/buildui/ide-build-log-panel.c
index a7b5266..f717246 100644
--- a/libide/buildui/ide-build-log-panel.c
+++ b/libide/buildui/ide-build-log-panel.c
@@ -18,13 +18,10 @@
 
 #define G_LOG_DOMAIN "ide-build-log-panel"
 
+#include <dazzle.h>
 #include <glib/gi18n.h>
 #include <ide.h>
 
-#include "util/ide-pango.h"
-
-#include "egg-signal-group.h"
-
 #include "ide-build-log-panel.h"
 
 typedef struct _ColorCodeState
@@ -603,7 +600,7 @@ ide_build_log_panel_changed_font_name (IdeBuildLogPanel *self,
       gchar *fragment;
       gchar *css;
 
-      fragment = ide_pango_font_description_to_css (font_desc);
+      fragment = dzl_pango_font_description_to_css (font_desc);
       css = g_strdup_printf ("textview { %s }", fragment);
 
       gtk_css_provider_load_from_data (self->css, css, -1, NULL);
diff --git a/libide/buildui/ide-build-panel.c b/libide/buildui/ide-build-panel.c
index c31800d..e643160 100644
--- a/libide/buildui/ide-build-panel.c
+++ b/libide/buildui/ide-build-panel.c
@@ -162,7 +162,7 @@ ide_build_panel_update_running_time (IdeBuildPanel *self)
       build_manager = ide_context_get_build_manager (context);
 
       span = ide_build_manager_get_running_time (build_manager);
-      text = ide_g_time_span_to_label (span);
+      text = dzl_g_time_span_to_label (span);
     }
 
   gtk_label_set_label (self->running_time_label, text);
diff --git a/libide/buildui/ide-build-panel.ui b/libide/buildui/ide-build-panel.ui
index c2dc8a5..c060b36 100644
--- a/libide/buildui/ide-build-panel.ui
+++ b/libide/buildui/ide-build-panel.ui
@@ -141,7 +141,7 @@
           <object class="GtkStack" id="stack">
             <property name="visible">true</property>
             <child>
-              <object class="EggEmptyState">
+              <object class="DzlEmptyState">
                 <property name="border-width">12</property>
                 <property name="icon-name">builder-build-symbolic</property>
                 <property name="margin-top">12</property>
diff --git a/libide/buildui/ide-build-workbench-addin.c b/libide/buildui/ide-build-workbench-addin.c
index 46c4440..87acb1f 100644
--- a/libide/buildui/ide-build-workbench-addin.c
+++ b/libide/buildui/ide-build-workbench-addin.c
@@ -18,7 +18,7 @@
 
 #define G_LOG_DOMAIN "ide-build-workbench-addin"
 
-#include <egg-binding-group.h>
+#include <dazzle.h>
 #include <glib/gi18n.h>
 
 #include "ide-build-log-panel.h"
diff --git a/libide/diagnostics/ide-diagnostic.c b/libide/diagnostics/ide-diagnostic.c
index ef9297f..3eff6b6 100644
--- a/libide/diagnostics/ide-diagnostic.c
+++ b/libide/diagnostics/ide-diagnostic.c
@@ -18,7 +18,7 @@
 
 #define G_LOG_DOMAIN "ide-diagnostic"
 
-#include "egg-counter.h"
+#include "dazzle.h"
 
 #include "ide-internal.h"
 
@@ -29,7 +29,7 @@
 
 G_DEFINE_BOXED_TYPE (IdeDiagnostic, ide_diagnostic, ide_diagnostic_ref, ide_diagnostic_unref)
 
-EGG_DEFINE_COUNTER (instances, "IdeDiagnostic", "Instances", "Number of IdeDiagnostic")
+DZL_DEFINE_COUNTER (instances, "IdeDiagnostic", "Instances", "Number of IdeDiagnostic")
 
 struct _IdeDiagnostic
 {
@@ -86,7 +86,7 @@ ide_diagnostic_unref (IdeDiagnostic *self)
       g_clear_pointer (&self->fixits, g_ptr_array_unref);
       g_free (self);
 
-      EGG_COUNTER_DEC (instances);
+      DZL_COUNTER_DEC (instances);
     }
 }
 
@@ -221,7 +221,7 @@ ide_diagnostic_new (IdeDiagnosticSeverity  severity,
   ret->text = g_strdup (text);
   ret->location = location ? ide_source_location_ref (location) : NULL;
 
-  EGG_COUNTER_INC (instances);
+  DZL_COUNTER_INC (instances);
 
   return ret;
 }
diff --git a/libide/diagnostics/ide-diagnostics.c b/libide/diagnostics/ide-diagnostics.c
index 140e082..f6df90e 100644
--- a/libide/diagnostics/ide-diagnostics.c
+++ b/libide/diagnostics/ide-diagnostics.c
@@ -18,14 +18,14 @@
 
 #define G_LOG_DOMAIN "ide-diagnostics"
 
-#include "egg-counter.h"
+#include "dazzle.h"
 
 #include "ide-diagnostic.h"
 #include "ide-diagnostics.h"
 
 G_DEFINE_BOXED_TYPE (IdeDiagnostics, ide_diagnostics, ide_diagnostics_ref, ide_diagnostics_unref)
 
-EGG_DEFINE_COUNTER (instances, "IdeDiagnostics", "Instances", "Number of IdeDiagnostics")
+DZL_DEFINE_COUNTER (instances, "IdeDiagnostics", "Instances", "Number of IdeDiagnostics")
 
 struct _IdeDiagnostics
 {
@@ -54,7 +54,7 @@ ide_diagnostics_new (GPtrArray *ar)
   ret->ref_count = 1;
   ret->diagnostics = ar;
 
-  EGG_COUNTER_INC (instances);
+  DZL_COUNTER_INC (instances);
 
   return ret;
 }
@@ -81,7 +81,7 @@ ide_diagnostics_unref (IdeDiagnostics *self)
       g_clear_pointer (&self->diagnostics, g_ptr_array_unref);
       g_slice_free (IdeDiagnostics, self);
 
-      EGG_COUNTER_DEC (instances);
+      DZL_COUNTER_DEC (instances);
     }
 }
 
diff --git a/libide/diagnostics/ide-fixit.c b/libide/diagnostics/ide-fixit.c
index c6a706d..467ab2f 100644
--- a/libide/diagnostics/ide-fixit.c
+++ b/libide/diagnostics/ide-fixit.c
@@ -16,7 +16,7 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#include "egg-counter.h"
+#include "dazzle.h"
 
 #include "ide-fixit.h"
 #include "ide-source-range.h"
@@ -30,7 +30,7 @@ struct _IdeFixit
   gchar          *text;
 };
 
-EGG_DEFINE_COUNTER (instances, "IdeFixit", "Instances", "Number of fixit instances")
+DZL_DEFINE_COUNTER (instances, "IdeFixit", "Instances", "Number of fixit instances")
 
 IdeFixit *
 _ide_fixit_new (IdeSourceRange *source_range,
@@ -46,7 +46,7 @@ _ide_fixit_new (IdeSourceRange *source_range,
   self->range = ide_source_range_ref (source_range);
   self->text = g_strdup (replacement_text);
 
-  EGG_COUNTER_INC (instances);
+  DZL_COUNTER_INC (instances);
 
   return self;
 }
@@ -58,7 +58,7 @@ ide_fixit_destroy (IdeFixit *self)
   g_clear_pointer (&self->text, g_free);
   g_slice_free (IdeFixit, self);
 
-  EGG_COUNTER_DEC (instances);
+  DZL_COUNTER_DEC (instances);
 }
 
 IdeFixit *
diff --git a/libide/diagnostics/ide-source-location.c b/libide/diagnostics/ide-source-location.c
index 3780a76..e4c11de 100644
--- a/libide/diagnostics/ide-source-location.c
+++ b/libide/diagnostics/ide-source-location.c
@@ -18,7 +18,7 @@
 
 #define G_LOG_DOMAIN "ide-source-location"
 
-#include <egg-counter.h>
+#include <dazzle.h>
 
 #include "files/ide-file.h"
 #include "diagnostics/ide-source-location.h"
@@ -35,7 +35,7 @@ struct _IdeSourceLocation
   IdeFile       *file;
 };
 
-EGG_DEFINE_COUNTER (instances, "IdeSourceLocation", "Instances", "Number of IdeSourceLocation")
+DZL_DEFINE_COUNTER (instances, "IdeSourceLocation", "Instances", "Number of IdeSourceLocation")
 
 /**
  * ide_source_location_ref:
@@ -69,7 +69,7 @@ ide_source_location_unref (IdeSourceLocation *self)
     {
       g_clear_object (&self->file);
       g_slice_free (IdeSourceLocation, self);
-      EGG_COUNTER_DEC (instances);
+      DZL_COUNTER_DEC (instances);
     }
 }
 
@@ -162,7 +162,7 @@ ide_source_location_new (IdeFile *file,
   ret->line_offset = MIN (G_MAXINT, line_offset);
   ret->offset = offset;
 
-  EGG_COUNTER_INC (instances);
+  DZL_COUNTER_INC (instances);
 
   return ret;
 }
diff --git a/libide/diagnostics/ide-source-range.c b/libide/diagnostics/ide-source-range.c
index 9550481..7806ac1 100644
--- a/libide/diagnostics/ide-source-range.c
+++ b/libide/diagnostics/ide-source-range.c
@@ -18,7 +18,7 @@
 
 #define G_LOG_DOMAIN "ide-source-range"
 
-#include <egg-counter.h>
+#include <dazzle.h>
 
 #include "diagnostics/ide-source-location.h"
 #include "diagnostics/ide-source-range.h"
@@ -26,7 +26,7 @@
 
 G_DEFINE_BOXED_TYPE (IdeSourceRange, ide_source_range, ide_source_range_ref, ide_source_range_unref)
 
-EGG_DEFINE_COUNTER (instances, "IdeSourceRange", "Instances", "Number of IdeSourceRange instances.")
+DZL_DEFINE_COUNTER (instances, "IdeSourceRange", "Instances", "Number of IdeSourceRange instances.")
 
 struct _IdeSourceRange
 {
@@ -52,7 +52,7 @@ ide_source_range_new (IdeSourceLocation *begin,
   ret->begin = ide_source_location_ref (begin);
   ret->end = ide_source_location_ref (end);
 
-  EGG_COUNTER_INC (instances);
+  DZL_COUNTER_INC (instances);
 
   return ret;
 }
@@ -125,6 +125,6 @@ ide_source_range_unref (IdeSourceRange *self)
       ide_source_location_unref (self->end);
       g_slice_free (IdeSourceRange, self);
 
-      EGG_COUNTER_DEC (instances);
+      DZL_COUNTER_DEC (instances);
     }
 }
diff --git a/libide/editor/ide-editor-frame.c b/libide/editor/ide-editor-frame.c
index e42795a..89eea54 100644
--- a/libide/editor/ide-editor-frame.c
+++ b/libide/editor/ide-editor-frame.c
@@ -18,6 +18,7 @@
 
 #define G_LOG_DOMAIN "ide-editor-frame"
 
+#include <dazzle.h>
 #include <glib/gi18n.h>
 
 #include "ide-debug.h"
@@ -738,7 +739,7 @@ ide_editor_frame__drag_data_received (IdeEditorFrame    *self,
   switch (info)
     {
     case TARGET_URI_LIST:
-      uri_list = ide_dnd_get_uri_list (selection_data);
+      uri_list = dzl_dnd_get_uri_list (selection_data);
 
       if (uri_list)
         {
diff --git a/libide/editor/ide-editor-layout-stack-controls.c 
b/libide/editor/ide-editor-layout-stack-controls.c
index 26e1a19..43b18e6 100644
--- a/libide/editor/ide-editor-layout-stack-controls.c
+++ b/libide/editor/ide-editor-layout-stack-controls.c
@@ -76,10 +76,10 @@ document_cursor_moved (IdeEditorLayoutStackControls *self,
   gtk_text_buffer_get_iter_at_mark (buffer, &bounds, mark);
 
   g_snprintf (str, sizeof str, "%d", line + 1);
-  egg_simple_label_set_label (self->line_label, str);
+  dzl_simple_label_set_label (self->line_label, str);
 
   g_snprintf (str, sizeof str, "%d", column + 1);
-  egg_simple_label_set_label (self->column_label, str);
+  dzl_simple_label_set_label (self->column_label, str);
 
   if (!gtk_widget_has_focus (GTK_WIDGET (source_view)) ||
       gtk_text_iter_equal (&bounds, iter) ||
@@ -103,12 +103,12 @@ document_cursor_moved (IdeEditorLayoutStackControls *self,
 static void
 goto_line_activate (IdeEditorLayoutStackControls *self,
                     const gchar                  *text,
-                    EggSimplePopover             *popover)
+                    DzlSimplePopover             *popover)
 {
   gint64 value;
 
   g_assert (IDE_IS_EDITOR_LAYOUT_STACK_CONTROLS (self));
-  g_assert (EGG_IS_SIMPLE_POPOVER (popover));
+  g_assert (DZL_IS_SIMPLE_POPOVER (popover));
 
   if (self->view == NULL)
     return;
@@ -136,10 +136,10 @@ goto_line_insert_text (IdeEditorLayoutStackControls *self,
                        guint                         position,
                        const gchar                  *chars,
                        guint                         n_chars,
-                       EggSimplePopover             *popover)
+                       DzlSimplePopover             *popover)
 {
   g_assert (IDE_IS_EDITOR_LAYOUT_STACK_CONTROLS (self));
-  g_assert (EGG_IS_SIMPLE_POPOVER (popover));
+  g_assert (DZL_IS_SIMPLE_POPOVER (popover));
   g_assert (chars != NULL);
 
   for (; *chars; chars = g_utf8_next_char (chars))
@@ -153,7 +153,7 @@ goto_line_insert_text (IdeEditorLayoutStackControls *self,
 
 static void
 goto_line_changed (IdeEditorLayoutStackControls *self,
-                   EggSimplePopover             *popover)
+                   DzlSimplePopover             *popover)
 {
   gchar *message;
   const gchar *text;
@@ -161,12 +161,12 @@ goto_line_changed (IdeEditorLayoutStackControls *self,
   GtkTextIter end;
 
   g_assert (IDE_IS_EDITOR_LAYOUT_STACK_CONTROLS (self));
-  g_assert (EGG_IS_SIMPLE_POPOVER (popover));
+  g_assert (DZL_IS_SIMPLE_POPOVER (popover));
 
   if (self->view == NULL)
     return;
 
-  text = egg_simple_popover_get_text (popover);
+  text = dzl_simple_popover_get_text (popover);
 
   gtk_text_buffer_get_bounds (GTK_TEXT_BUFFER (self->view->document), &begin, &end);
 
@@ -180,8 +180,8 @@ goto_line_changed (IdeEditorLayoutStackControls *self,
         {
           if (value <= gtk_text_iter_get_line (&end) + 1)
             {
-              egg_simple_popover_set_message (popover, NULL);
-              egg_simple_popover_set_ready (popover, TRUE);
+              dzl_simple_popover_set_message (popover, NULL);
+              dzl_simple_popover_set_ready (popover, TRUE);
               return;
             }
         }
@@ -190,8 +190,8 @@ goto_line_changed (IdeEditorLayoutStackControls *self,
   /* translators: the user selected a number outside the value range for the document. */
   message = g_strdup_printf (_("Provide a number between 1 and %u"),
                              gtk_text_iter_get_line (&end) + 1);
-  egg_simple_popover_set_message (popover, message);
-  egg_simple_popover_set_ready (popover, FALSE);
+  dzl_simple_popover_set_message (popover, message);
+  dzl_simple_popover_set_ready (popover, FALSE);
 
   g_free (message);
 }
@@ -274,20 +274,20 @@ ide_editor_layout_stack_controls_init (IdeEditorLayoutStackControls *self)
                            self,
                            G_CONNECT_SWAPPED);
 
-  self->document_bindings = egg_binding_group_new ();
+  self->document_bindings = dzl_binding_group_new ();
 
-  egg_binding_group_bind (self->document_bindings, "has-diagnostics",
+  dzl_binding_group_bind (self->document_bindings, "has-diagnostics",
                           self->warning_button, "visible",
                           G_BINDING_SYNC_CREATE);
 
-  egg_binding_group_bind_full (self->document_bindings, "language",
+  dzl_binding_group_bind_full (self->document_bindings, "language",
                                self->tweak_button, "label",
                                G_BINDING_SYNC_CREATE,
                                language_to_string, NULL, NULL, NULL);
 
-  self->document_signals = egg_signal_group_new (IDE_TYPE_BUFFER);
+  self->document_signals = dzl_signal_group_new (IDE_TYPE_BUFFER);
 
-  egg_signal_group_connect_object (self->document_signals,
+  dzl_signal_group_connect_object (self->document_signals,
                                    "cursor-moved",
                                    G_CALLBACK (document_cursor_moved),
                                    self,
@@ -304,8 +304,8 @@ ide_editor_layout_stack_controls_set_view (IdeEditorLayoutStackControls *self,
   if (self->view == view)
     return;
 
-  egg_binding_group_set_source (self->document_bindings, NULL);
-  egg_signal_group_set_target (self->document_signals, NULL);
+  dzl_binding_group_set_source (self->document_bindings, NULL);
+  dzl_signal_group_set_target (self->document_signals, NULL);
 
   if (self->view != NULL)
     {
@@ -322,7 +322,7 @@ ide_editor_layout_stack_controls_set_view (IdeEditorLayoutStackControls *self,
                         "destroy",
                         G_CALLBACK (gtk_widget_destroyed),
                         &self->view);
-      egg_binding_group_set_source (self->document_bindings, view->document);
-      egg_signal_group_set_target (self->document_signals, view->document);
+      dzl_binding_group_set_source (self->document_bindings, view->document);
+      dzl_signal_group_set_target (self->document_signals, view->document);
     }
 }
diff --git a/libide/editor/ide-editor-layout-stack-controls.h 
b/libide/editor/ide-editor-layout-stack-controls.h
index f5ffda3..642ede8 100644
--- a/libide/editor/ide-editor-layout-stack-controls.h
+++ b/libide/editor/ide-editor-layout-stack-controls.h
@@ -20,10 +20,7 @@
 #define IDE_EDITOR_LAYOUT_STACK_CONTROLS_H
 
 #include <gtk/gtk.h>
-#include <egg-binding-group.h>
-#include <egg-signal-group.h>
-#include <egg-simple-label.h>
-#include <egg-simple-popover.h>
+#include <dazzle.h>
 
 #include "editor/ide-editor-frame.h"
 #include "editor/ide-editor-tweak-widget.h"
@@ -41,14 +38,14 @@ struct _IdeEditorLayoutStackControls
   GtkBox                parent_instance;
 
   IdeEditorView        *view;
-  EggBindingGroup      *document_bindings;
-  EggSignalGroup       *document_signals;
+  DzlBindingGroup      *document_bindings;
+  DzlSignalGroup       *document_signals;
 
-  EggSimplePopover     *goto_line_popover;
+  DzlSimplePopover     *goto_line_popover;
   GtkMenuButton        *goto_line_button;
   GtkButton            *warning_button;
-  EggSimpleLabel       *line_label;
-  EggSimpleLabel       *column_label;
+  DzlSimpleLabel       *line_label;
+  DzlSimpleLabel       *column_label;
   GtkLabel             *range_label;
   GtkMenuButton        *tweak_button;
   IdeEditorTweakWidget *tweak_widget;
diff --git a/libide/editor/ide-editor-layout-stack-controls.ui 
b/libide/editor/ide-editor-layout-stack-controls.ui
index 6b2f5ff..434a3de 100644
--- a/libide/editor/ide-editor-layout-stack-controls.ui
+++ b/libide/editor/ide-editor-layout-stack-controls.ui
@@ -47,7 +47,7 @@
               </object>
             </child>
             <child>
-              <object class="EggSimpleLabel" id="line_label">
+              <object class="DzlSimpleLabel" id="line_label">
                 <property name="label">1</property>
                 <property name="width-chars">3</property>
                 <property name="xalign">1.0</property>
@@ -59,7 +59,7 @@
               </packing>
             </child>
             <child>
-              <object class="EggSimpleLabel" id="column_label">
+              <object class="DzlSimpleLabel" id="column_label">
                 <property name="label">1</property>
                 <property name="width-chars">3</property>
                 <property name="xalign">0.0</property>
@@ -110,7 +110,7 @@
       </object>
     </child>
   </object>
-  <object class="EggSimplePopover" id="goto_line_popover">
+  <object class="DzlSimplePopover" id="goto_line_popover">
     <property name="title" translatable="yes">Go to Line</property>
     <property name="button-text" translatable="yes">Go</property>
   </object>
diff --git a/libide/editor/ide-editor-perspective.c b/libide/editor/ide-editor-perspective.c
index 9c871d9..ee0ff3c 100644
--- a/libide/editor/ide-editor-perspective.c
+++ b/libide/editor/ide-editor-perspective.c
@@ -18,7 +18,7 @@
 
 #define G_LOG_DOMAIN "ide-editor-perspective"
 
-#include <egg-signal-group.h>
+#include <dazzle.h>
 #include <glib/gi18n.h>
 
 #include "ide-context.h"
@@ -46,7 +46,7 @@ struct _IdeEditorPerspective
   IdeLayoutGrid         *grid;
   GSimpleActionGroup    *actions;
 
-  EggSignalGroup        *buffer_manager_signals;
+  DzlSignalGroup        *buffer_manager_signals;
 
   gint                   right_pane_position;
   guint                  spellchecker_opened : 1;
@@ -159,7 +159,7 @@ ide_editor_perspective_context_set (GtkWidget  *widget,
   if (context != NULL)
     buffer_manager = ide_context_get_buffer_manager (context);
 
-  egg_signal_group_set_target (self->buffer_manager_signals, buffer_manager);
+  dzl_signal_group_set_target (self->buffer_manager_signals, buffer_manager);
 }
 
 static void
@@ -468,15 +468,15 @@ ide_editor_perspective_init (IdeEditorPerspective *self)
   GActionGroup *actions;
   guint i;
 
-  self->buffer_manager_signals = egg_signal_group_new (IDE_TYPE_BUFFER_MANAGER);
+  self->buffer_manager_signals = dzl_signal_group_new (IDE_TYPE_BUFFER_MANAGER);
 
-  egg_signal_group_connect_object (self->buffer_manager_signals,
+  dzl_signal_group_connect_object (self->buffer_manager_signals,
                                    "load-buffer",
                                    G_CALLBACK (ide_editor_perspective_load_buffer),
                                    self,
                                    G_CONNECT_SWAPPED);
 
-  egg_signal_group_connect_object (self->buffer_manager_signals,
+  dzl_signal_group_connect_object (self->buffer_manager_signals,
                                    "notify::focus-buffer",
                                    G_CALLBACK (ide_editor_perspective_notify_focus_buffer),
                                    self,
diff --git a/libide/editor/ide-editor-view-private.h b/libide/editor/ide-editor-view-private.h
index 1046b72..1666bdb 100644
--- a/libide/editor/ide-editor-view-private.h
+++ b/libide/editor/ide-editor-view-private.h
@@ -19,8 +19,7 @@
 #ifndef IDE_EDITOR_VIEW_PRIVATE_H
 #define IDE_EDITOR_VIEW_PRIVATE_H
 
-#include <egg-simple-label.h>
-#include <egg-simple-popover.h>
+#include <dazzle.h>
 #include <libpeas/peas.h>
 #include <gtk/gtk.h>
 
diff --git a/libide/editor/ide-editor-view.c b/libide/editor/ide-editor-view.c
index ee9acf7..9d873ab 100644
--- a/libide/editor/ide-editor-view.c
+++ b/libide/editor/ide-editor-view.c
@@ -18,7 +18,7 @@
 
 #define G_LOG_DOMAIN "ide-editor-view"
 
-#include <egg-simple-popover.h>
+#include <dazzle.h>
 #include <glib/gi18n.h>
 #include <glib/gprintf.h>
 
diff --git a/libide/editor/ide-editor-view.ui b/libide/editor/ide-editor-view.ui
index 3e93b4f..ea4f32b 100644
--- a/libide/editor/ide-editor-view.ui
+++ b/libide/editor/ide-editor-view.ui
@@ -96,7 +96,7 @@
       </object>
     </child>
   </object>
-  <object class="EggSimplePopover" id="goto_line_popover">
+  <object class="DzlSimplePopover" id="goto_line_popover">
     <property name="title" translatable="yes">Go to Line</property>
     <property name="button-text" translatable="yes">Go</property>
   </object>
diff --git a/libide/files/ide-file-settings.c b/libide/files/ide-file-settings.c
index 3273e12..e65b409 100644
--- a/libide/files/ide-file-settings.c
+++ b/libide/files/ide-file-settings.c
@@ -21,7 +21,7 @@
 #include <glib/gi18n.h>
 #include <gtksourceview/gtksource.h>
 
-#include "egg-counter.h"
+#include "dazzle.h"
 
 #include "ide-enums.h"
 #include "ide-file.h"
@@ -38,7 +38,7 @@
  * We do that over and over again until we have all the aspects of the object defined.
  */
 
-EGG_DEFINE_COUNTER (instances, "IdeFileSettings", "Instances", "Number of IdeFileSettings instances.")
+DZL_DEFINE_COUNTER (instances, "IdeFileSettings", "Instances", "Number of IdeFileSettings instances.")
 
 typedef struct
 {
@@ -206,7 +206,7 @@ ide_file_settings_finalize (GObject *object)
 
   G_OBJECT_CLASS (ide_file_settings_parent_class)->finalize (object);
 
-  EGG_COUNTER_DEC (instances);
+  DZL_COUNTER_DEC (instances);
 }
 
 static void
@@ -325,7 +325,7 @@ ide_file_settings_init (IdeFileSettings *self)
 {
   IdeFileSettingsPrivate *priv = ide_file_settings_get_instance_private (self);
 
-  EGG_COUNTER_INC (instances);
+  DZL_COUNTER_INC (instances);
 
   priv->indent_style = IDE_INDENT_STYLE_SPACES;
   priv->indent_width = -1;
diff --git a/libide/files/ide-file.c b/libide/files/ide-file.c
index bd7e0b0..81fbccc 100644
--- a/libide/files/ide-file.c
+++ b/libide/files/ide-file.c
@@ -18,7 +18,7 @@
 
 #define G_LOG_DOMAIN "ide-file"
 
-#include <egg-counter.h>
+#include <dazzle.h>
 #include <glib/gi18n.h>
 #include <gtksourceview/gtksource.h>
 
@@ -52,7 +52,7 @@ enum {
   LAST_PROP
 };
 
-EGG_DEFINE_COUNTER (instances, "IdeFile", "Instances", "Number of IdeFile instances.")
+DZL_DEFINE_COUNTER (instances, "IdeFile", "Instances", "Number of IdeFile instances.")
 
 G_DEFINE_TYPE (IdeFile, ide_file, IDE_TYPE_OBJECT)
 
@@ -390,7 +390,7 @@ ide_file_finalize (GObject *object)
 
   G_OBJECT_CLASS (ide_file_parent_class)->finalize (object);
 
-  EGG_COUNTER_DEC (instances);
+  DZL_COUNTER_DEC (instances);
 
   IDE_EXIT;
 }
@@ -511,7 +511,7 @@ ide_file_class_init (IdeFileClass *klass)
 static void
 ide_file_init (IdeFile *file)
 {
-  EGG_COUNTER_INC (instances);
+  DZL_COUNTER_INC (instances);
 }
 
 static gboolean
diff --git a/libide/greeter/ide-greeter-perspective.c b/libide/greeter/ide-greeter-perspective.c
index 60ff705..29996d4 100644
--- a/libide/greeter/ide-greeter-perspective.c
+++ b/libide/greeter/ide-greeter-perspective.c
@@ -18,10 +18,7 @@
 
 #define G_LOG_DOMAIN "ide-greeter-perspective"
 
-#include <egg-priority-box.h>
-#include <egg-search-bar.h>
-#include <egg-signal-group.h>
-#include <egg-state-machine.h>
+#include <dazzle.h>
 #include <glib/gi18n.h>
 #include <libpeas/peas.h>
 
@@ -41,7 +38,7 @@ struct _IdeGreeterPerspective
 {
   GtkBin                parent_instance;
 
-  EggSignalGroup       *signal_group;
+  DzlSignalGroup       *signal_group;
   IdeRecentProjects    *recent_projects;
   IdePatternSpec       *pattern_spec;
   GActionMap           *actions;
@@ -69,9 +66,9 @@ struct _IdeGreeterPerspective
   GtkListBox           *other_projects_list_box;
   GtkButton            *remove_button;
   GtkSearchEntry       *search_entry;
-  EggStateMachine      *state_machine;
+  DzlStateMachine      *state_machine;
   GtkScrolledWindow    *scrolled_window;
-  EggPriorityBox       *genesis_buttons;
+  DzlPriorityBox       *genesis_buttons;
 
   gint                  selected_count;
 };
@@ -397,7 +394,7 @@ ide_greeter_perspective_set_recent_projects (IdeGreeterPerspective *self,
 
   if (g_set_object (&self->recent_projects, recent_projects))
     {
-      egg_signal_group_set_target (self->signal_group, recent_projects);
+      dzl_signal_group_set_target (self->signal_group, recent_projects);
 
       if (recent_projects != NULL)
         {
@@ -487,7 +484,7 @@ ide_greeter_perspective__row_activated (IdeGreeterPerspective *self,
   g_assert (IDE_IS_GREETER_PROJECT_ROW (row));
   g_assert (GTK_IS_LIST_BOX (list_box));
 
-  if (ide_str_equal0 (egg_state_machine_get_state (self->state_machine), "selection"))
+  if (ide_str_equal0 (dzl_state_machine_get_state (self->state_machine), "selection"))
     {
       gboolean selected = FALSE;
 
@@ -597,7 +594,7 @@ delete_selected_rows (GSimpleAction *action,
   self->selected_count = 0;
   g_simple_action_set_enabled (G_SIMPLE_ACTION (action), FALSE);
 
-  egg_state_machine_set_state (self->state_machine, "browse");
+  dzl_state_machine_set_state (self->state_machine, "browse");
 
   ide_greeter_perspective_apply_filter_all (self);
 }
@@ -780,7 +777,7 @@ ide_greeter_perspective_cancel_clicked (IdeGreeterPerspective *self,
   g_assert (IDE_IS_GREETER_PERSPECTIVE (self));
   g_assert (GTK_IS_BUTTON (cancel_button));
 
-  egg_state_machine_set_state (self->state_machine, "browse");
+  dzl_state_machine_set_state (self->state_machine, "browse");
   ide_greeter_perspective_apply_filter_all (self);
 }
 
@@ -795,7 +792,7 @@ ide_greeter_perspective_show_genesis_view (IdeGreeterPerspective *self,
 
   addin = gtk_stack_get_child_by_name (self->genesis_stack, genesis_addin_name);
   gtk_stack_set_visible_child (self->genesis_stack, addin);
-  egg_state_machine_set_state (self->state_machine, "genesis");
+  dzl_state_machine_set_state (self->state_machine, "genesis");
 
   if (manifest != NULL)
     {
@@ -827,7 +824,7 @@ ide_greeter_perspective_genesis_cancel_clicked (IdeGreeterPerspective *self,
   g_assert (GTK_IS_BUTTON (genesis_cancel_button));
 
   g_cancellable_cancel (self->cancellable);
-  egg_state_machine_set_state (self->state_machine, "browse");
+  dzl_state_machine_set_state (self->state_machine, "browse");
   ide_greeter_perspective_apply_filter_all (self);
 }
 
@@ -1222,8 +1219,8 @@ ide_greeter_perspective_init (IdeGreeterPerspective *self)
   };
   GAction *action;
 
-  self->signal_group = egg_signal_group_new (IDE_TYPE_RECENT_PROJECTS);
-  egg_signal_group_connect_object (self->signal_group,
+  self->signal_group = dzl_signal_group_new (IDE_TYPE_RECENT_PROJECTS);
+  dzl_signal_group_connect_object (self->signal_group,
                                    "items-changed",
                                    G_CALLBACK (recent_projects_items_changed),
                                    self,
@@ -1324,7 +1321,7 @@ ide_greeter_perspective_init (IdeGreeterPerspective *self)
 
   self->actions = G_ACTION_MAP (g_simple_action_group_new ());
 
-  action = egg_state_machine_create_action (self->state_machine, "state");
+  action = dzl_state_machine_create_action (self->state_machine, "state");
   g_action_map_add_action (self->actions, action);
   g_object_unref (action);
 
diff --git a/libide/greeter/ide-greeter-perspective.ui b/libide/greeter/ide-greeter-perspective.ui
index 2d047b3..478be18 100644
--- a/libide/greeter/ide-greeter-perspective.ui
+++ b/libide/greeter/ide-greeter-perspective.ui
@@ -47,7 +47,7 @@
                     <property name="expand">true</property>
                     <property name="visible">true</property>
                     <child>
-                      <object class="EggEmptyState">
+                      <object class="DzlEmptyState">
                         <property name="icon-name">org.gnome.Builder-symbolic</property>
                         <property name="subtitle" translatable="yes" comments="the action:// link is used to 
jump to the new-project view">Why not &lt;a href="action://app.new-project"&gt;create a new 
project&lt;/a&gt;?</property>
                         <property name="title" translatable="yes">No projects found</property>
@@ -71,7 +71,7 @@
                                 <property name="expand">true</property>
                                 <property name="visible">true</property>
                                 <child>
-                                  <object class="EggBox">
+                                  <object class="DzlBox">
                                     <property name="halign">center</property>
                                     <property name="hexpand">false</property>
                                     <property name="margin-bottom">32</property>
@@ -320,7 +320,7 @@
       </object>
     </child>
     <child>
-      <object class="EggPriorityBox" id="genesis_buttons">
+      <object class="DzlPriorityBox" id="genesis_buttons">
         <property name="homogeneous">true</property>
         <property name="spacing">6</property>
         <property name="visible">true</property>
@@ -387,7 +387,7 @@
       </packing>
     </child>
   </object>
-  <object class="EggStateMachine" id="state_machine">
+  <object class="DzlStateMachine" id="state_machine">
     <property name="state">browse</property>
     <states>
       <state name="browse">
diff --git a/libide/greeter/ide-greeter-project-row.c b/libide/greeter/ide-greeter-project-row.c
index 0ed387e..70ce67f 100644
--- a/libide/greeter/ide-greeter-project-row.c
+++ b/libide/greeter/ide-greeter-project-row.c
@@ -18,9 +18,7 @@
 
 #define G_LOG_DOMAIN "ide-greeter-project-row"
 
-#include <egg-binding-group.h>
-#include <egg-date-time.h>
-#include <egg-pill-box.h>
+#include <dazzle.h>
 #include <glib/gi18n.h>
 
 #include "greeter/ide-greeter-project-row.h"
@@ -31,7 +29,7 @@ struct _IdeGreeterProjectRow
   GtkListBoxRow    parent_instance;
 
   IdeProjectInfo  *project_info;
-  EggBindingGroup *bindings;
+  DzlBindingGroup *bindings;
   gchar           *search_text;
 
   GtkLabel        *date_label;
@@ -159,7 +157,7 @@ ide_greeter_project_row_add_tags (IdeGreeterProjectRow *self,
           const gchar *name = languages [i - 1];
           GtkWidget *pill;
 
-          pill = g_object_new (EGG_TYPE_PILL_BOX,
+          pill = g_object_new (DZL_TYPE_PILL_BOX,
                                "visible", TRUE,
                                "label", name,
                                NULL);
@@ -172,7 +170,7 @@ ide_greeter_project_row_add_tags (IdeGreeterProjectRow *self,
     {
       GtkWidget *pill;
 
-      pill = g_object_new (EGG_TYPE_PILL_BOX,
+      pill = g_object_new (DZL_TYPE_PILL_BOX,
                            "visible", TRUE,
                            "label", build_system_name,
                            NULL);
@@ -189,7 +187,7 @@ ide_greeter_project_row_set_project_info (IdeGreeterProjectRow *self,
 
   if (g_set_object (&self->project_info, project_info))
     {
-      egg_binding_group_set_source (self->bindings, project_info);
+      dzl_binding_group_set_source (self->bindings, project_info);
 
       if (project_info != NULL)
         {
@@ -216,7 +214,7 @@ humanize_date_time (GBinding     *binding,
   if (!(dt = g_value_get_boxed (from_value)))
     return FALSE;
 
-  str = egg_date_time_format_for_display (dt);
+  str = dzl_g_date_time_format_for_display (dt);
   g_value_take_string (to_value, str);
 
   return TRUE;
@@ -376,14 +374,14 @@ ide_greeter_project_row_init (IdeGreeterProjectRow *self)
 {
   gtk_widget_init_template (GTK_WIDGET (self));
 
-  self->bindings = egg_binding_group_new ();
+  self->bindings = dzl_binding_group_new ();
 
-  egg_binding_group_bind (self->bindings, "name", self->title_label, "label", 0);
-  egg_binding_group_bind_full (self->bindings, "last-modified-at", self->date_label, "label", 0,
+  dzl_binding_group_bind (self->bindings, "name", self->title_label, "label", 0);
+  dzl_binding_group_bind_full (self->bindings, "last-modified-at", self->date_label, "label", 0,
                                humanize_date_time, NULL, NULL, NULL);
-  egg_binding_group_bind_full (self->bindings, "directory", self->location_label, "label", 0,
+  dzl_binding_group_bind_full (self->bindings, "directory", self->location_label, "label", 0,
                                truncate_location, NULL, NULL, NULL);
-  egg_binding_group_bind (self->bindings, "description", self->description_label, "label", 0);
+  dzl_binding_group_bind (self->bindings, "description", self->description_label, "label", 0);
 
   g_object_bind_property (self->checkbox, "active", self, "selected", 0);
 }
diff --git a/libide/gsettings/ide-gsettings-file-settings.c b/libide/gsettings/ide-gsettings-file-settings.c
index ab675c8..883db2b 100644
--- a/libide/gsettings/ide-gsettings-file-settings.c
+++ b/libide/gsettings/ide-gsettings-file-settings.c
@@ -18,7 +18,7 @@
 
 #define G_LOG_DOMAIN "ide-gsettings-file-settings"
 
-#include <egg-signal-group.h>
+#include <dazzle.h>
 #include <glib/gi18n.h>
 
 #include "ide-context.h"
@@ -34,7 +34,7 @@ struct _IdeGsettingsFileSettings
   IdeFileSettings  parent_instance;
 
   IdeSettings     *language_settings;
-  EggSignalGroup  *signal_group;
+  DzlSignalGroup  *signal_group;
 };
 
 typedef struct
@@ -129,7 +129,7 @@ ide_gsettings_file_settings_constructed (GObject *object)
   if (file == NULL)
     IDE_EXIT;
 
-  egg_signal_group_set_target (self->signal_group, file);
+  dzl_signal_group_set_target (self->signal_group, file);
   file_notify_language_cb (self, NULL, file);
 
   IDE_EXIT;
@@ -158,8 +158,8 @@ ide_gsettings_file_settings_class_init (IdeGsettingsFileSettingsClass *klass)
 static void
 ide_gsettings_file_settings_init (IdeGsettingsFileSettings *self)
 {
-  self->signal_group = egg_signal_group_new (IDE_TYPE_FILE);
-  egg_signal_group_connect_object (self->signal_group,
+  self->signal_group = dzl_signal_group_new (IDE_TYPE_FILE);
+  dzl_signal_group_connect_object (self->signal_group,
                                    "notify::language",
                                    G_CALLBACK (file_notify_language_cb),
                                    self,
diff --git a/libide/highlighting/ide-highlight-engine.c b/libide/highlighting/ide-highlight-engine.c
index 34f4182..8bd8a24 100644
--- a/libide/highlighting/ide-highlight-engine.c
+++ b/libide/highlighting/ide-highlight-engine.c
@@ -18,7 +18,7 @@
 
 #define G_LOG_DOMAIN "ide-highlight-engine"
 
-#include <egg-signal-group.h>
+#include <dazzle.h>
 #include <glib/gi18n.h>
 #include <string.h>
 
@@ -36,7 +36,7 @@ struct _IdeHighlightEngine
 {
   IdeObject            parent_instance;
 
-  EggSignalGroup      *signal_group;
+  DzlSignalGroup      *signal_group;
   IdeBuffer           *buffer;
   IdeHighlighter      *highlighter;
   GSettings           *settings;
@@ -629,7 +629,7 @@ ide_highlight_engine_clear (IdeHighlightEngine *self)
 static void
 ide_highlight_engine__bind_buffer_cb (IdeHighlightEngine *self,
                                       IdeBuffer          *buffer,
-                                      EggSignalGroup     *group)
+                                      DzlSignalGroup     *group)
 {
   GtkTextBuffer *text_buffer = (GtkTextBuffer *)buffer;
   GtkTextIter begin;
@@ -639,7 +639,7 @@ ide_highlight_engine__bind_buffer_cb (IdeHighlightEngine *self,
 
   g_assert (IDE_IS_HIGHLIGHT_ENGINE (self));
   g_assert (IDE_IS_BUFFER (buffer));
-  g_assert (EGG_IS_SIGNAL_GROUP (group));
+  g_assert (DZL_IS_SIGNAL_GROUP (group));
 
   ide_set_weak_pointer (&self->buffer, buffer);
 
@@ -657,7 +657,7 @@ ide_highlight_engine__bind_buffer_cb (IdeHighlightEngine *self,
 
 static void
 ide_highlight_engine__unbind_buffer_cb (IdeHighlightEngine  *self,
-                                        EggSignalGroup      *group)
+                                        DzlSignalGroup      *group)
 {
   GtkTextBuffer *text_buffer;
   GtkTextTagTable *tag_table;
@@ -668,7 +668,7 @@ ide_highlight_engine__unbind_buffer_cb (IdeHighlightEngine  *self,
   IDE_ENTRY;
 
   g_assert (IDE_IS_HIGHLIGHT_ENGINE (self));
-  g_assert (EGG_IS_SIGNAL_GROUP (group));
+  g_assert (DZL_IS_SIGNAL_GROUP (group));
 
   text_buffer = GTK_TEXT_BUFFER (self->buffer);
 
@@ -721,7 +721,7 @@ ide_highlight_engine_set_buffer (IdeHighlightEngine *self,
    */
   if (!buffer || IDE_IS_BUFFER (buffer))
     {
-      egg_signal_group_set_target (self->signal_group, buffer);
+      dzl_signal_group_set_target (self->signal_group, buffer);
       g_object_notify_by_pspec (G_OBJECT (self), properties [PROP_BUFFER]);
     }
 }
@@ -877,27 +877,27 @@ ide_highlight_engine_init (IdeHighlightEngine *self)
 {
   self->settings = g_settings_new ("org.gnome.builder.code-insight");
   self->enabled = g_settings_get_boolean (self->settings, "semantic-highlighting");
-  self->signal_group = egg_signal_group_new (IDE_TYPE_BUFFER);
+  self->signal_group = dzl_signal_group_new (IDE_TYPE_BUFFER);
 
-  egg_signal_group_connect_object (self->signal_group,
+  dzl_signal_group_connect_object (self->signal_group,
                                    "insert-text",
                                    G_CALLBACK (ide_highlight_engine__buffer_insert_text_cb),
                                    self,
                                    G_CONNECT_SWAPPED | G_CONNECT_AFTER);
 
-  egg_signal_group_connect_object (self->signal_group,
+  dzl_signal_group_connect_object (self->signal_group,
                                    "delete-range",
                                    G_CALLBACK (ide_highlight_engine__buffer_delete_range_cb),
                                    self,
                                    G_CONNECT_SWAPPED | G_CONNECT_AFTER);
 
-  egg_signal_group_connect_object (self->signal_group,
+  dzl_signal_group_connect_object (self->signal_group,
                                    "notify::language",
                                    G_CALLBACK (ide_highlight_engine__notify_language_cb),
                                    self,
                                    G_CONNECT_SWAPPED);
 
-  egg_signal_group_connect_object (self->signal_group,
+  dzl_signal_group_connect_object (self->signal_group,
                                    "notify::style-scheme",
                                    G_CALLBACK (ide_highlight_engine__notify_style_scheme_cb),
                                    self,
diff --git a/libide/highlighting/ide-highlight-index.c b/libide/highlighting/ide-highlight-index.c
index 1e90686..9e4dfc2 100644
--- a/libide/highlighting/ide-highlight-index.c
+++ b/libide/highlighting/ide-highlight-index.c
@@ -18,7 +18,7 @@
 
 #define G_LOG_DOMAIN "ide-highlight-index"
 
-#include <egg-counter.h>
+#include <dazzle.h>
 #include <string.h>
 
 #include "ide-debug.h"
@@ -29,7 +29,7 @@
 G_DEFINE_BOXED_TYPE (IdeHighlightIndex, ide_highlight_index,
                      ide_highlight_index_ref, ide_highlight_index_unref)
 
-EGG_DEFINE_COUNTER (instances, "IdeHighlightIndex", "Instances", "Number of indexes")
+DZL_DEFINE_COUNTER (instances, "IdeHighlightIndex", "Instances", "Number of indexes")
 
 struct _IdeHighlightIndex
 {
@@ -53,7 +53,7 @@ ide_highlight_index_new (void)
   ret->strings = g_string_chunk_new (ide_get_system_page_size ());
   ret->index = g_hash_table_new (g_str_hash, g_str_equal);
 
-  EGG_COUNTER_INC (instances);
+  DZL_COUNTER_INC (instances);
 
   return ret;
 }
@@ -121,7 +121,7 @@ ide_highlight_index_finalize (IdeHighlightIndex *self)
   g_hash_table_unref (self->index);
   g_free (self);
 
-  EGG_COUNTER_DEC (instances);
+  DZL_COUNTER_DEC (instances);
 
   IDE_EXIT;
 }
diff --git a/libide/ide.h b/libide/ide.h
index e9e8d3d..dac2139 100644
--- a/libide/ide.h
+++ b/libide/ide.h
@@ -19,7 +19,7 @@
 #ifndef IDE_H
 #define IDE_H
 
-#include <gio/gio.h>
+#include <dazzle.h>
 
 G_BEGIN_DECLS
 
@@ -152,10 +152,7 @@ G_BEGIN_DECLS
 #include "tree/ide-tree-node.h"
 #include "tree/ide-tree-types.h"
 #include "tree/ide-tree.h"
-#include "util/ide-directory-reaper.h"
-#include "util/ide-file-manager.h"
 #include "util/ide-flatpak.h"
-#include "util/ide-glib.h"
 #include "util/ide-gtk.h"
 #include "util/ide-line-reader.h"
 #include "util/ide-list-inline.h"
diff --git a/libide/langserv/ide-langserv-client.c b/libide/langserv/ide-langserv-client.c
index 900e252..db4c822 100644
--- a/libide/langserv/ide-langserv-client.c
+++ b/libide/langserv/ide-langserv-client.c
@@ -18,8 +18,8 @@
 
 #define G_LOG_DOMAIN "ide-langserv-client"
 
-#include <egg-counter.h>
-#include <egg-signal-group.h>
+#include <dazzle.h>
+#include <dazzle.h>
 #include <jsonrpc-glib.h>
 #include <unistd.h>
 
@@ -38,8 +38,8 @@
 
 typedef struct
 {
-  EggSignalGroup *buffer_manager_signals;
-  EggSignalGroup *project_signals;
+  DzlSignalGroup *buffer_manager_signals;
+  DzlSignalGroup *project_signals;
   JsonrpcClient  *rpc_client;
   GIOStream      *io_stream;
   GHashTable     *diagnostics_by_file;
@@ -371,13 +371,13 @@ ide_langserv_client_buffer_unloaded (IdeLangservClient *self,
 static void
 ide_langserv_client_buffer_manager_bind (IdeLangservClient *self,
                                          IdeBufferManager  *buffer_manager,
-                                         EggSignalGroup    *signal_group)
+                                         DzlSignalGroup    *signal_group)
 {
   guint n_items;
 
   g_assert (IDE_IS_LANGSERV_CLIENT (self));
   g_assert (IDE_IS_BUFFER_MANAGER (buffer_manager));
-  g_assert (EGG_IS_SIGNAL_GROUP (signal_group));
+  g_assert (DZL_IS_SIGNAL_GROUP (signal_group));
 
   n_items = g_list_model_get_n_items (G_LIST_MODEL (buffer_manager));
 
@@ -392,10 +392,10 @@ ide_langserv_client_buffer_manager_bind (IdeLangservClient *self,
 
 static void
 ide_langserv_client_buffer_manager_unbind (IdeLangservClient *self,
-                                           EggSignalGroup    *signal_group)
+                                           DzlSignalGroup    *signal_group)
 {
   g_assert (IDE_IS_LANGSERV_CLIENT (self));
-  g_assert (EGG_IS_SIGNAL_GROUP (signal_group));
+  g_assert (DZL_IS_SIGNAL_GROUP (signal_group));
 
   /* TODO: We need to track everything we've notified so that we
    *       can notify the peer to release its resources.
@@ -803,19 +803,19 @@ ide_langserv_client_init (IdeLangservClient *self)
                                                      g_object_unref,
                                                      (GDestroyNotify)ide_diagnostics_unref);
 
-  priv->buffer_manager_signals = egg_signal_group_new (IDE_TYPE_BUFFER_MANAGER);
+  priv->buffer_manager_signals = dzl_signal_group_new (IDE_TYPE_BUFFER_MANAGER);
 
-  egg_signal_group_connect_object (priv->buffer_manager_signals,
+  dzl_signal_group_connect_object (priv->buffer_manager_signals,
                                    "buffer-loaded",
                                    G_CALLBACK (ide_langserv_client_buffer_loaded),
                                    self,
                                    G_CONNECT_SWAPPED);
-  egg_signal_group_connect_object (priv->buffer_manager_signals,
+  dzl_signal_group_connect_object (priv->buffer_manager_signals,
                                    "buffer-saved",
                                    G_CALLBACK (ide_langserv_client_buffer_saved),
                                    self,
                                    G_CONNECT_SWAPPED);
-  egg_signal_group_connect_object (priv->buffer_manager_signals,
+  dzl_signal_group_connect_object (priv->buffer_manager_signals,
                                    "buffer-unloaded",
                                    G_CALLBACK (ide_langserv_client_buffer_unloaded),
                                    self,
@@ -832,14 +832,14 @@ ide_langserv_client_init (IdeLangservClient *self)
                            self,
                            G_CONNECT_SWAPPED);
 
-  priv->project_signals = egg_signal_group_new (IDE_TYPE_PROJECT);
+  priv->project_signals = dzl_signal_group_new (IDE_TYPE_PROJECT);
 
-  egg_signal_group_connect_object (priv->project_signals,
+  dzl_signal_group_connect_object (priv->project_signals,
                                    "file-trashed",
                                    G_CALLBACK (ide_langserv_client_project_file_trashed),
                                    self,
                                    G_CONNECT_SWAPPED);
-  egg_signal_group_connect_object (priv->project_signals,
+  dzl_signal_group_connect_object (priv->project_signals,
                                    "file-renamed",
                                    G_CALLBACK (ide_langserv_client_project_file_renamed),
                                    self,
@@ -884,10 +884,10 @@ ide_langserv_client_initialize_cb (GObject      *object,
   context = ide_object_get_context (IDE_OBJECT (self));
 
   buffer_manager = ide_context_get_buffer_manager (context);
-  egg_signal_group_set_target (priv->buffer_manager_signals, buffer_manager);
+  dzl_signal_group_set_target (priv->buffer_manager_signals, buffer_manager);
 
   project = ide_context_get_project (context);
-  egg_signal_group_set_target (priv->project_signals, project);
+  dzl_signal_group_set_target (priv->project_signals, project);
 
   IDE_EXIT;
 }
diff --git a/libide/langserv/ide-langserv-diagnostic-provider.c 
b/libide/langserv/ide-langserv-diagnostic-provider.c
index a006475..3dba3e7 100644
--- a/libide/langserv/ide-langserv-diagnostic-provider.c
+++ b/libide/langserv/ide-langserv-diagnostic-provider.c
@@ -18,7 +18,7 @@
 
 #define G_LOG_DOMAIN "ide-langserv-diagnostic-provider"
 
-#include <egg-signal-group.h>
+#include <dazzle.h>
 #include <json-glib/json-glib.h>
 
 #include "ide-context.h"
@@ -33,7 +33,7 @@
 typedef struct
 {
   IdeLangservClient *client;
-  EggSignalGroup    *client_signals;
+  DzlSignalGroup    *client_signals;
 } IdeLangservDiagnosticProviderPrivate;
 
 static void diagnostic_provider_iface_init (IdeDiagnosticProviderInterface *iface);
@@ -207,9 +207,9 @@ ide_langserv_diagnostic_provider_init (IdeLangservDiagnosticProvider *self)
 {
   IdeLangservDiagnosticProviderPrivate *priv = ide_langserv_diagnostic_provider_get_instance_private (self);
 
-  priv->client_signals = egg_signal_group_new (IDE_TYPE_LANGSERV_CLIENT);
+  priv->client_signals = dzl_signal_group_new (IDE_TYPE_LANGSERV_CLIENT);
 
-  egg_signal_group_connect_object (priv->client_signals,
+  dzl_signal_group_connect_object (priv->client_signals,
                                    "published-diagnostics",
                                    G_CALLBACK (ide_diagnostic_provider_emit_invalidated),
                                    self,
@@ -250,7 +250,7 @@ ide_langserv_diagnostic_provider_set_client (IdeLangservDiagnosticProvider *self
 
   if (g_set_object (&priv->client, client))
     {
-      egg_signal_group_set_target (priv->client_signals, client);
+      dzl_signal_group_set_target (priv->client_signals, client);
       g_object_notify_by_pspec (G_OBJECT (self), properties [PROP_CLIENT]);
     }
 }
diff --git a/libide/langserv/ide-langserv-highlighter.c b/libide/langserv/ide-langserv-highlighter.c
index 1b6bc1e..87bcca5 100644
--- a/libide/langserv/ide-langserv-highlighter.c
+++ b/libide/langserv/ide-langserv-highlighter.c
@@ -18,7 +18,7 @@
 
 #define G_LOG_DOMAIN "ide-langserv-highlighter"
 
-#include <egg-signal-group.h>
+#include <dazzle.h>
 #include <jsonrpc-glib.h>
 
 #include "ide-debug.h"
@@ -43,7 +43,7 @@ typedef struct
 
   IdeLangservClient  *client;
   IdeHighlightIndex  *index;
-  EggSignalGroup     *buffer_signals;
+  DzlSignalGroup     *buffer_signals;
 
   guint               queued_update;
 
@@ -340,7 +340,7 @@ ide_langserv_highlighter_init (IdeLangservHighlighter *self)
 {
   IdeLangservHighlighterPrivate *priv = ide_langserv_highlighter_get_instance_private (self);
 
-  priv->buffer_signals = egg_signal_group_new (IDE_TYPE_BUFFER);
+  priv->buffer_signals = dzl_signal_group_new (IDE_TYPE_BUFFER);
 
   /*
    * We sort of cheat here by using ::line-flags-changed instead of :;changed
@@ -350,7 +350,7 @@ ide_langserv_highlighter_init (IdeLangservHighlighter *self)
    * where the language server gives us an empty set back (or at least with
    * the rust language server).
    */
-  egg_signal_group_connect_object (priv->buffer_signals,
+  dzl_signal_group_connect_object (priv->buffer_signals,
                                    "line-flags-changed",
                                    G_CALLBACK (ide_langserv_highlighter_buffer_line_flags_changed),
                                    self,
@@ -495,14 +495,14 @@ ide_langserv_highlighter_set_engine (IdeHighlighter     *highlighter,
 
   priv->engine = engine;
 
-  egg_signal_group_set_target (priv->buffer_signals, NULL);
+  dzl_signal_group_set_target (priv->buffer_signals, NULL);
 
   if (engine != NULL)
     {
       IdeBuffer *buffer;
 
       buffer = ide_highlight_engine_get_buffer (engine);
-      egg_signal_group_set_target (priv->buffer_signals, buffer);
+      dzl_signal_group_set_target (priv->buffer_signals, buffer);
       ide_langserv_highlighter_queue_update (self);
     }
 
diff --git a/libide/meson.build b/libide/meson.build
index 3ab6fee..a00f897 100644
--- a/libide/meson.build
+++ b/libide/meson.build
@@ -181,19 +181,12 @@ libide_public_headers = [
   'tree/ide-tree-node.h',
   'tree/ide-tree-types.h',
   'tree/ide-tree.h',
-  'util/ide-cairo.h',
-  'util/ide-dnd.h',
-  'util/ide-directory-reaper.h',
-  'util/ide-file-manager.h',
   'util/ide-flatpak.h',
-  'util/ide-glib.h',
   'util/ide-gtk.h',
   'util/ide-line-reader.h',
   'util/ide-list-inline.h',
-  'util/ide-pango.h',
   'util/ide-posix.h',
   'util/ide-progress.h',
-  'util/ide-rgba.h',
   'util/ide-settings.h',
   'util/ide-uri.h',
   'vcs/ide-vcs-config.h',
@@ -397,18 +390,11 @@ libide_public_sources = [
   'tree/ide-tree-builder.c',
   'tree/ide-tree-node.c',
   'tree/ide-tree.c',
-  'util/ide-cairo.c',
-  'util/ide-dnd.c',
-  'util/ide-directory-reaper.c',
-  'util/ide-file-manager.c',
   'util/ide-flatpak.c',
-  'util/ide-glib.c',
   'util/ide-gtk.c',
   'util/ide-line-reader.c',
-  'util/ide-pango.c',
   'util/ide-posix.c',
   'util/ide-progress.c',
-  'util/ide-rgba.c',
   'util/ide-settings.c',
   'util/ide-uri.c',
   'vcs/ide-vcs-config.c',
@@ -573,8 +559,6 @@ libide_sources = libide_generated_headers + libide_public_sources + [
   'subprocess/ide-breakout-subprocess-private.h',
   'subprocess/ide-simple-subprocess.c',
   'subprocess/ide-simple-subprocess.h',
-  'theatrics/ide-box-theatric.c',
-  'theatrics/ide-box-theatric.h',
   'theming/ide-css-provider.c',
   'theming/ide-css-provider.h',
   'theming/ide-theme-manager.c',
@@ -586,8 +570,8 @@ libide_sources = libide_generated_headers + libide_public_sources + [
   'util/ide-battery-monitor.h',
   'util/ide-doc-seq.c',
   'util/ide-doc-seq.h',
-  'util/ide-gdk.c',
-  'util/ide-gdk.h',
+  'util/ide-glib.c',
+  'util/ide-glib.h',
   'util/ide-ref-ptr.c',
   'util/ide-ref-ptr.h',
   'util/ide-window-settings.c',
@@ -625,7 +609,7 @@ libide_deps = [
   libgiounix_dep,
   libgtk_dep,
   libpeas_dep,
-  libegg_dep,
+  libdazzle_dep,
   libtmpl_dep,
   libxml_dep,
   libsearch_dep,
@@ -690,81 +674,67 @@ libide = shared_library('ide-' + libide_api_version,
   libide_resources + libide_icons_resources + libide_sources,
   dependencies: libide_deps,
   link_depends: 'ide.map',
-  c_args: libide_args,
-  link_args: [
-    '-Wl,--version-script,' + join_paths(meson.current_source_dir(), 'ide.map'),
-  ],
-  install: true,
-  install_dir: pkglibdir,
+        c_args: libide_args,
+     link_args: [ '-Wl,--version-script,' + join_paths(meson.current_source_dir(), 'ide.map') ],
+       install: true,
+   install_dir: pkglibdir,
 )
 
 libide_dep = declare_dependency(
-  sources: libide_generated_headers,
-  dependencies: [
-    libdazzle_dep,
-    libgio_dep,
-    libgtk_dep,
-    libgtksource_dep,
-    libegg_dep,
-    libjson_glib_dep,
-  ],
-  link_with: libide,
+              sources: libide_generated_headers,
+         dependencies: [ libdazzle_dep,
+                         libgio_dep,
+                         libgtk_dep,
+                         libgtksource_dep,
+                         libdazzle_dep,
+                         libjson_glib_dep ],
+            link_with: libide,
   include_directories: include_directories('.'),
 )
 
 # Doesn't link to libide
 libide_plugin_dep = declare_dependency(
-  sources: libide_generated_headers,
-  dependencies: [
-    libdazzle_dep,
-    libgio_dep,
-    libgtk_dep,
-    libgtksource_dep,
-    libegg_dep,
-    libjson_glib_dep,
-  ],
+              sources: libide_generated_headers,
   include_directories: include_directories('.'),
+         dependencies: [ libdazzle_dep,
+                         libgio_dep,
+                         libgtk_dep,
+                         libgtksource_dep,
+                         libdazzle_dep,
+                         libjson_glib_dep ],
 )
 
 if get_option('with_introspection')
 
   libide_gir = gnome.generate_gir(libide,
-    sources: libide_generated_headers + libide_public_headers + libide_public_sources,
-    nsversion: libide_api_version,
-    namespace: 'Ide',
-    symbol_prefix: 'ide',
-    identifier_prefix: 'Ide',
-    link_with: [
-      libegg, libtmpl,
-    ],
-    includes: [
-      libegg_gir[0], 'Gio-2.0', 'GtkSource-3.0',
-      'Peas-1.0', 'Dazzle-1.0', libtmpl_gir[0],
-      'Json-1.0'],
-    install: true,
-    install_dir_gir: pkggirdir,
+                sources: libide_generated_headers + libide_public_headers + libide_public_sources,
+              nsversion: libide_api_version,
+              namespace: 'Ide',
+          symbol_prefix: 'ide',
+      identifier_prefix: 'Ide',
+              link_with: [ libtmpl ],
+               includes: [ 'Gio-2.0', 'GtkSource-3.0', 'Peas-1.0', 'Dazzle-1.0', 'Json-1.0', libtmpl_gir[0] 
],
+                install: true,
+        install_dir_gir: pkggirdir,
     install_dir_typelib: pkgtypelibdir,
-    extra_args: [
-      '--c-include=ide.h',
-    ]
+             extra_args: [ '--c-include=ide.h' ]
   )
 
   if get_option('with_vapi')
 
     libide_vapi = gnome.generate_vapi('libide-' + libide_api_version,
-      sources: libide_gir[0],
-      packages: [
+          sources: libide_gir[0],
+          install: true,
+      install_dir: pkgvapidir,
+         packages: [
         'gio-2.0',
         'gtk+-3.0',
         'gtksourceview-3.0',
         'libpeas-1.0',
         'json-glib-1.0',
         'libdazzle-1.0',
-        libegg_vapi,
         libtmpl_vapi,
       ],
-      install: true,
-      install_dir: pkgvapidir,
     )
 
   endif
diff --git a/libide/plugins/ide-extension-adapter.c b/libide/plugins/ide-extension-adapter.c
index 042a094..4f2f237 100644
--- a/libide/plugins/ide-extension-adapter.c
+++ b/libide/plugins/ide-extension-adapter.c
@@ -20,7 +20,7 @@
 
 #include <glib/gi18n.h>
 
-#include "egg-signal-group.h"
+#include "dazzle.h"
 
 #include "ide-extension-adapter.h"
 #include "ide-extension-util.h"
@@ -34,7 +34,7 @@ struct _IdeExtensionAdapter
   gchar          *key;
   gchar          *value;
   GObject        *extension;
-  EggSignalGroup *settings_signals;
+  DzlSignalGroup *settings_signals;
   GSettings      *settings;
 
   PeasPluginInfo *plugin_info;
@@ -78,13 +78,13 @@ ide_extension_adapter_monitor (IdeExtensionAdapter *self,
 {
   g_assert (self != NULL);
 
-  egg_signal_group_set_target (self->settings_signals, NULL);
+  dzl_signal_group_set_target (self->settings_signals, NULL);
   g_clear_object (&self->settings);
 
   if (plugin_info != NULL)
     {
       self->settings = ide_extension_adapter_get_settings (self, plugin_info);
-      egg_signal_group_set_target (self->settings_signals, self->settings);
+      dzl_signal_group_set_target (self->settings_signals, self->settings);
     }
 }
 
@@ -441,8 +441,8 @@ ide_extension_adapter_init (IdeExtensionAdapter *self)
 {
   self->interface_type = G_TYPE_INVALID;
 
-  self->settings_signals = egg_signal_group_new (G_TYPE_SETTINGS);
-  egg_signal_group_connect_object (self->settings_signals,
+  self->settings_signals = dzl_signal_group_new (G_TYPE_SETTINGS);
+  dzl_signal_group_connect_object (self->settings_signals,
                                    "changed::disabled",
                                    G_CALLBACK (ide_extension_adapter__changed_disabled),
                                    self,
diff --git a/libide/preferences/ide-preferences-builtin.c b/libide/preferences/ide-preferences-builtin.c
index 7e3d27a..9fed1fe 100644
--- a/libide/preferences/ide-preferences-builtin.c
+++ b/libide/preferences/ide-preferences-builtin.c
@@ -18,7 +18,7 @@
 
 #define G_LOG_DOMAIN "ide-preferences-builtin"
 
-#include <egg-column-layout.h>
+#include <dazzle.h>
 #include <glib/gi18n.h>
 #include <gtksourceview/gtksource.h>
 #include <libpeas/peas.h>
@@ -311,11 +311,11 @@ ide_preferences_builtin_register_languages (IdePreferences *preferences)
                            group,
                            0);
 
-  flow = gtk_widget_get_ancestor (group, EGG_TYPE_COLUMN_LAYOUT);
+  flow = gtk_widget_get_ancestor (group, DZL_TYPE_COLUMN_LAYOUT);
 
   g_assert (flow != NULL);
 
-  egg_column_layout_set_max_columns (EGG_COLUMN_LAYOUT (flow), 1);
+  dzl_column_layout_set_max_columns (DZL_COLUMN_LAYOUT (flow), 1);
 
   ide_preferences_add_page (preferences, "languages.id", NULL, 0);
 
diff --git a/libide/preferences/ide-preferences-flow-box.c b/libide/preferences/ide-preferences-flow-box.c
index 0adfc98..a2a9283 100644
--- a/libide/preferences/ide-preferences-flow-box.c
+++ b/libide/preferences/ide-preferences-flow-box.c
@@ -20,10 +20,10 @@
 
 struct _IdePreferencesFlowBox
 {
-  EggColumnLayout parent;
+  DzlColumnLayout parent;
 };
 
-G_DEFINE_TYPE (IdePreferencesFlowBox, ide_preferences_flow_box, EGG_TYPE_COLUMN_LAYOUT)
+G_DEFINE_TYPE (IdePreferencesFlowBox, ide_preferences_flow_box, DZL_TYPE_COLUMN_LAYOUT)
 
 static void
 ide_preferences_flow_box_class_init (IdePreferencesFlowBoxClass *klass)
diff --git a/libide/preferences/ide-preferences-flow-box.h b/libide/preferences/ide-preferences-flow-box.h
index 809103f..62953b1 100644
--- a/libide/preferences/ide-preferences-flow-box.h
+++ b/libide/preferences/ide-preferences-flow-box.h
@@ -19,13 +19,13 @@
 #ifndef IDE_PREFERENCES_FLOW_BOX_H
 #define IDE_PREFERENCES_FLOW_BOX_H
 
-#include "egg-column-layout.h"
+#include <dazzle.h>
 
 G_BEGIN_DECLS
 
 #define IDE_TYPE_PREFERENCES_FLOW_BOX (ide_preferences_flow_box_get_type())
 
-G_DECLARE_FINAL_TYPE (IdePreferencesFlowBox, ide_preferences_flow_box, IDE, PREFERENCES_FLOW_BOX, 
EggColumnLayout)
+G_DECLARE_FINAL_TYPE (IdePreferencesFlowBox, ide_preferences_flow_box, IDE, PREFERENCES_FLOW_BOX, 
DzlColumnLayout)
 
 GtkWidget *ide_preferences_flow_box_new (void);
 
diff --git a/libide/preferences/ide-preferences-group.ui b/libide/preferences/ide-preferences-group.ui
index 16e6ea3..08d5dea 100644
--- a/libide/preferences/ide-preferences-group.ui
+++ b/libide/preferences/ide-preferences-group.ui
@@ -33,7 +33,7 @@
             <child>
               <object class="GtkFrame" id="list_box_frame">
                 <child>
-                  <object class="EggScrolledWindow">
+                  <object class="DzlScrolledWindow">
                     <!-- propagate-natural-height on GtkScrolledWindow doesn't work for
                          us because it doesn't seem to take into account HfW properly. -->
                     <property name="visible">true</property>
diff --git a/libide/search/ide-pattern-spec.c b/libide/search/ide-pattern-spec.c
index e9bfcc8..09aaac3 100644
--- a/libide/search/ide-pattern-spec.c
+++ b/libide/search/ide-pattern-spec.c
@@ -23,13 +23,13 @@
 #endif
 #include <string.h>
 
-#include "egg-counter.h"
+#include "dazzle.h"
 
 #include "ide-pattern-spec.h"
 
 G_DEFINE_BOXED_TYPE (IdePatternSpec, ide_pattern_spec, ide_pattern_spec_ref, ide_pattern_spec_unref)
 
-EGG_DEFINE_COUNTER (instances, "IdePatternSpec", "Instances", "Number of IdePatternSpec")
+DZL_DEFINE_COUNTER (instances, "IdePatternSpec", "Instances", "Number of IdePatternSpec")
 
 /**
  * SECTION:idepatternspec:
@@ -72,7 +72,7 @@ ide_pattern_spec_new (const gchar *needle)
         }
     }
 
-  EGG_COUNTER_INC (instances);
+  DZL_COUNTER_INC (instances);
 
   return self;
 }
@@ -92,7 +92,7 @@ ide_pattern_spec_free (IdePatternSpec *self)
   g_free (self->needle);
   g_free (self);
 
-  EGG_COUNTER_DEC (instances);
+  DZL_COUNTER_DEC (instances);
 }
 
 static inline gboolean
diff --git a/libide/sourceview/ide-completion-results.c b/libide/sourceview/ide-completion-results.c
index d436161..89948e1 100644
--- a/libide/sourceview/ide-completion-results.c
+++ b/libide/sourceview/ide-completion-results.c
@@ -18,7 +18,7 @@
 
 #define G_LOG_DOMAIN "ide-completion-results"
 
-#include <egg-counter.h>
+#include <dazzle.h>
 #include <string.h>
 
 #include "ide-debug.h"
@@ -85,7 +85,7 @@ typedef struct
 
 G_DEFINE_TYPE_WITH_PRIVATE (IdeCompletionResults, ide_completion_results, G_TYPE_OBJECT)
 
-EGG_DEFINE_COUNTER (instances, "IdeCompletionResults", "Instances", "Number of IdeCompletionResults")
+DZL_DEFINE_COUNTER (instances, "IdeCompletionResults", "Instances", "Number of IdeCompletionResults")
 
 #define GET_ITEM(i) ((IdeCompletionItem *)(g_ptr_array_index((priv)->results, (i))))
 #define GET_ITEM_LINK(item) (&((IdeCompletionItem *)(item))->link)
@@ -139,7 +139,7 @@ ide_completion_results_finalize (GObject *object)
 
   G_OBJECT_CLASS (ide_completion_results_parent_class)->finalize (object);
 
-  EGG_COUNTER_DEC (instances);
+  DZL_COUNTER_DEC (instances);
 }
 
 const gchar *
@@ -446,7 +446,7 @@ ide_completion_results_init (IdeCompletionResults *self)
 {
   IdeCompletionResultsPrivate *priv = ide_completion_results_get_instance_private (self);
 
-  EGG_COUNTER_INC (instances);
+  DZL_COUNTER_INC (instances);
 
   priv->results = g_ptr_array_new_with_free_func (g_object_unref);
   priv->head = NULL;
diff --git a/libide/sourceview/ide-cursor.c b/libide/sourceview/ide-cursor.c
index ebbd82c..3672f4b 100644
--- a/libide/sourceview/ide-cursor.c
+++ b/libide/sourceview/ide-cursor.c
@@ -18,7 +18,7 @@
 
 #define G_LOG_DOMAIN "ide-cursor"
 
-#include <egg-signal-group.h>
+#include <dazzle.h>
 
 #include "ide-macros.h"
 
@@ -37,7 +37,7 @@ struct _IdeCursor
 
   GtkTextTag                  *highlight_tag;
 
-  EggSignalGroup              *operations_signals;
+  DzlSignalGroup              *operations_signals;
 
   guint                        overwrite : 1;
 };
@@ -89,7 +89,7 @@ ide_cursor_dispose (GObject *object)
 
   if (self->operations_signals != NULL)
     {
-      egg_signal_group_set_target (self->operations_signals, NULL);
+      dzl_signal_group_set_target (self->operations_signals, NULL);
       g_clear_object (&self->operations_signals);
     }
 
@@ -737,7 +737,7 @@ ide_cursor_constructed (GObject *object)
 
   self->overwrite = gtk_text_view_get_overwrite (text_view);
 
-  egg_signal_group_set_target (self->operations_signals, self->source_view);
+  dzl_signal_group_set_target (self->operations_signals, self->source_view);
 }
 
 static void
@@ -805,39 +805,39 @@ ide_cursor_init (IdeCursor *self)
                                       "underline", PANGO_UNDERLINE_SINGLE,
                                       NULL);
 
-  self->operations_signals = egg_signal_group_new (IDE_TYPE_SOURCE_VIEW);
+  self->operations_signals = dzl_signal_group_new (IDE_TYPE_SOURCE_VIEW);
 
-  egg_signal_group_connect_object (self->operations_signals,
+  dzl_signal_group_connect_object (self->operations_signals,
                                    "move-cursor",
                                    G_CALLBACK (ide_cursor_move_cursor),
                                    self,
                                    G_CONNECT_AFTER);
-  egg_signal_group_connect_object (self->operations_signals,
+  dzl_signal_group_connect_object (self->operations_signals,
                                    "delete-from-cursor",
                                    G_CALLBACK (ide_cursor_delete_from_cursor),
                                    self,
                                    G_CONNECT_AFTER);
-  egg_signal_group_connect_object (self->operations_signals,
+  dzl_signal_group_connect_object (self->operations_signals,
                                    "backspace",
                                    G_CALLBACK (ide_cursor_backspace),
                                    self,
                                    G_CONNECT_AFTER);
-  egg_signal_group_connect_object (self->operations_signals,
+  dzl_signal_group_connect_object (self->operations_signals,
                                    "toggle-overwrite",
                                    G_CALLBACK (ide_cursor_toggle_overwrite),
                                    self,
                                    G_CONNECT_AFTER);
-  egg_signal_group_connect_object (self->operations_signals,
+  dzl_signal_group_connect_object (self->operations_signals,
                                    "movement",
                                    G_CALLBACK (ide_cursor_movement),
                                    self,
                                    G_CONNECT_AFTER);
-  egg_signal_group_connect_object (self->operations_signals,
+  dzl_signal_group_connect_object (self->operations_signals,
                                    "select-inner",
                                    G_CALLBACK (ide_cursor_select_inner),
                                    self,
                                    G_CONNECT_AFTER);
-  egg_signal_group_connect_object (self->operations_signals,
+  dzl_signal_group_connect_object (self->operations_signals,
                                    "delete-selection",
                                    G_CALLBACK (ide_cursor_delete_selection),
                                    self,
diff --git a/libide/sourceview/ide-source-map.c b/libide/sourceview/ide-source-map.c
index 80cb61d..4daf746 100644
--- a/libide/sourceview/ide-source-map.c
+++ b/libide/sourceview/ide-source-map.c
@@ -18,7 +18,7 @@
 
 #define G_LOG_DOMAIN "ide-source-map"
 
-#include <egg-signal-group.h>
+#include <dazzle.h>
 #include <glib/gi18n.h>
 
 #include "ide-macros.h"
@@ -34,8 +34,8 @@ struct _IdeSourceMap
 {
   GtkSourceMap               parent_instance;
 
-  EggSignalGroup            *view_signals;
-  EggSignalGroup            *buffer_signals;
+  DzlSignalGroup            *view_signals;
+  DzlSignalGroup            *buffer_signals;
   GtkSourceGutterRenderer   *line_renderer;
   guint                      delayed_conceal_timeout;
   guint                      show_map : 1;
@@ -194,7 +194,7 @@ ide_source_map__view_notify_buffer (IdeSourceMap  *self,
 
   buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (view));
   if (IDE_IS_BUFFER (buffer))
-    egg_signal_group_set_target (self->buffer_signals, buffer);
+    dzl_signal_group_set_target (self->buffer_signals, buffer);
 }
 
 static gboolean
@@ -230,7 +230,7 @@ ide_source_map__view_changed (IdeSourceMap *self,
   g_object_bind_property_full (view, "font-desc", self, "font-desc", G_BINDING_SYNC_CREATE,
                                shrink_font, NULL, NULL, NULL);
 
-  egg_signal_group_set_target (self->view_signals, view);
+  dzl_signal_group_set_target (self->view_signals, view);
 }
 
 static void
@@ -289,41 +289,41 @@ ide_source_map_init (IdeSourceMap *self)
   gtk_widget_add_events (GTK_WIDGET (self), GDK_ENTER_NOTIFY_MASK | GDK_LEAVE_NOTIFY_MASK);
 
   /* Buffer */
-  self->buffer_signals = egg_signal_group_new (IDE_TYPE_BUFFER);
-  egg_signal_group_connect_object (self->buffer_signals,
+  self->buffer_signals = dzl_signal_group_new (IDE_TYPE_BUFFER);
+  dzl_signal_group_connect_object (self->buffer_signals,
                                    "line-flags-changed",
                                    G_CALLBACK (ide_source_map__buffer_line_flags_changed),
                                    self,
                                    G_CONNECT_SWAPPED);
 
   /* View */
-  self->view_signals = egg_signal_group_new (GTK_SOURCE_TYPE_VIEW);
+  self->view_signals = dzl_signal_group_new (GTK_SOURCE_TYPE_VIEW);
 
-  egg_signal_group_connect_object (self->view_signals,
+  dzl_signal_group_connect_object (self->view_signals,
                                    "notify::buffer",
                                    G_CALLBACK (ide_source_map__view_notify_buffer),
                                    self,
                                    G_CONNECT_SWAPPED);
 
-  egg_signal_group_connect_object (self->view_signals,
+  dzl_signal_group_connect_object (self->view_signals,
                                    "enter-notify-event",
                                    G_CALLBACK (ide_source_map__enter_notify_event),
                                    self,
                                    G_CONNECT_SWAPPED);
 
-  egg_signal_group_connect_object (self->view_signals,
+  dzl_signal_group_connect_object (self->view_signals,
                                    "leave-notify-event",
                                    G_CALLBACK (ide_source_map__leave_notify_event),
                                    self,
                                    G_CONNECT_SWAPPED);
 
-  egg_signal_group_connect_object (self->view_signals,
+  dzl_signal_group_connect_object (self->view_signals,
                                    "motion-notify-event",
                                    G_CALLBACK (ide_source_map__motion_notify_event),
                                    self,
                                    G_CONNECT_SWAPPED);
 
-  egg_signal_group_connect_object (self->view_signals,
+  dzl_signal_group_connect_object (self->view_signals,
                                    "scroll-event",
                                    G_CALLBACK (ide_source_map__scroll_event),
                                    self,
diff --git a/libide/sourceview/ide-source-view-movements.c b/libide/sourceview/ide-source-view-movements.c
index 69b3de5..47c0c5e 100644
--- a/libide/sourceview/ide-source-view-movements.c
+++ b/libide/sourceview/ide-source-view-movements.c
@@ -18,6 +18,7 @@
 
 #define G_LOG_DOMAIN "ide-source-view-movements"
 
+#include <dazzle.h>
 #include <string.h>
 
 #include "ide-enums.h"
@@ -27,7 +28,6 @@
 #include "sourceview/ide-source-iter.h"
 #include "sourceview/ide-source-view-movements.h"
 #include "sourceview/ide-text-iter.h"
-#include "util/ide-cairo.h"
 
 #define ANCHOR_BEGIN "SELECTION_ANCHOR_BEGIN"
 #define ANCHOR_END   "SELECTION_ANCHOR_END"
@@ -715,7 +715,7 @@ ide_source_view_movements_scroll_by_chars (Movement *mv,
 
   if (chars > 0 && (rect.x < (gint)new_value))
     gtk_text_view_get_iter_at_location (text_view, &mv->insert, new_value, rect.y);
-  else if (_ide_cairo_rectangle_x2 (&rect) > (gint)(new_value + page_size))
+  else if (dzl_cairo_rectangle_x2 (&rect) > (gint)(new_value + page_size))
     gtk_text_view_get_iter_at_location (text_view, &mv->insert, new_value + page_size - rect.width, rect.y);
 }
 
@@ -1419,7 +1419,7 @@ ide_source_view_movements_scroll_to_horizontal_bounds (Movement *mv)
       break;
 
     case IDE_SOURCE_VIEW_MOVEMENT_SCROLL_SCREEN_RIGHT:
-      offset = _ide_cairo_rectangle_x2 (&screen_rect) - _ide_cairo_rectangle_x2 (&insert_rect);
+      offset = dzl_cairo_rectangle_x2 (&screen_rect) - dzl_cairo_rectangle_x2 (&insert_rect);
       break;
 
     default:
diff --git a/libide/sourceview/ide-source-view.c b/libide/sourceview/ide-source-view.c
index 3507d9b..3d2595a 100644
--- a/libide/sourceview/ide-source-view.c
+++ b/libide/sourceview/ide-source-view.c
@@ -18,17 +18,11 @@
 
 #define G_LOG_DOMAIN "ide-source-view"
 
+#include <dazzle.h>
 #include <glib/gi18n.h>
 #include <stdlib.h>
 #include <gspell/gspell.h>
 
-#include <egg-animation.h>
-#include <egg-binding-group.h>
-#include <egg-counter.h>
-#include <egg-simple-popover.h>
-#include <egg-signal-group.h>
-#include <egg-widget-action-group.h>
-
 #include "ide-context.h"
 #include "ide-debug.h"
 #include "ide-enums.h"
@@ -66,12 +60,7 @@
 #include "sourceview/ide-cursor.h"
 #include "symbols/ide-symbol.h"
 #include "symbols/ide-symbol-resolver.h"
-#include "theatrics/ide-box-theatric.h"
-#include "util/ide-cairo.h"
-#include "util/ide-gdk.h"
 #include "util/ide-gtk.h"
-#include "util/ide-pango.h"
-#include "util/ide-rgba.h"
 #include "vcs/ide-vcs.h"
 #include "workbench/ide-workbench-private.h"
 
@@ -90,11 +79,11 @@
 
 #define ALL_ACCELS_MASK (GDK_CONTROL_MASK | GDK_SHIFT_MASK | GDK_MOD1_MASK)
 
-#define _GDK_RECTANGLE_X2(rect) _ide_cairo_rectangle_x2(rect)
-#define _GDK_RECTANGLE_Y2(rect) _ide_cairo_rectangle_y2(rect)
-#define _GDK_RECTANGLE_CONTAINS(rect,other) _ide_cairo_rectangle_contains_rectangle(rect,other)
-#define _GDK_RECTANGLE_CENTER_X(rect) _ide_cairo_rectangle_center(rect)
-#define _GDK_RECTANGLE_CENTER_Y(rect) _ide_cairo_rectangle_middle(rect)
+#define _GDK_RECTANGLE_X2(rect) dzl_cairo_rectangle_x2(rect)
+#define _GDK_RECTANGLE_Y2(rect) dzl_cairo_rectangle_y2(rect)
+#define _GDK_RECTANGLE_CONTAINS(rect,other) dzl_cairo_rectangle_contains_rectangle(rect,other)
+#define _GDK_RECTANGLE_CENTER_X(rect) dzl_cairo_rectangle_center(rect)
+#define _GDK_RECTANGLE_CENTER_Y(rect) dzl_cairo_rectangle_middle(rect)
 #define TRACE_RECTANGLE(name, rect) \
   IDE_TRACE_MSG ("%s = Rectangle(x=%d, y=%d, width=%d, height=%d)", \
                  name, (rect)->x, (rect)->y, (rect)->width, (rect)->height)
@@ -121,14 +110,14 @@ typedef struct
   GQueue                      *snippets;
   GtkSourceCompletionProvider *snippets_provider;
   GtkSourceSearchContext      *search_context;
-  EggAnimation                *hadj_animation;
-  EggAnimation                *vadj_animation;
+  DzlAnimation                *hadj_animation;
+  DzlAnimation                *vadj_animation;
 
   IdeExtensionSetAdapter      *completion_providers;
-  EggSignalGroup              *completion_providers_signals;
+  DzlSignalGroup              *completion_providers_signals;
 
-  EggBindingGroup             *file_setting_bindings;
-  EggSignalGroup              *buffer_signals;
+  DzlBindingGroup             *file_setting_bindings;
+  DzlSignalGroup              *buffer_signals;
 
   guint                        change_sequence;
 
@@ -219,7 +208,7 @@ typedef struct
 } DefinitionHighlightData;
 
 G_DEFINE_TYPE_WITH_PRIVATE (IdeSourceView, ide_source_view, GTK_SOURCE_TYPE_VIEW)
-EGG_DEFINE_COUNTER (instances, "IdeSourceView", "Instances", "Number of IdeSourceView instances")
+DZL_DEFINE_COUNTER (instances, "IdeSourceView", "Instances", "Number of IdeSourceView instances")
 
 enum {
   PROP_0,
@@ -509,7 +498,7 @@ ide_source_view_block_handlers (IdeSourceView *self)
 
   g_assert (IDE_IS_SOURCE_VIEW (self));
 
-  egg_signal_group_block (priv->buffer_signals);
+  dzl_signal_group_block (priv->buffer_signals);
 }
 
 static void
@@ -519,7 +508,7 @@ ide_source_view_unblock_handlers (IdeSourceView *self)
 
   g_assert (IDE_IS_SOURCE_VIEW (self));
 
-  egg_signal_group_unblock (priv->buffer_signals);
+  dzl_signal_group_unblock (priv->buffer_signals);
 }
 
 static void
@@ -594,7 +583,7 @@ animate_expand (IdeSourceView     *self,
                 const GtkTextIter *begin,
                 const GtkTextIter *end)
 {
-  IdeBoxTheatric *theatric;
+  DzlBoxTheatric *theatric;
   GtkAllocation alloc;
   GdkRectangle rect = { 0 };
 
@@ -606,7 +595,7 @@ animate_expand (IdeSourceView     *self,
   gtk_widget_get_allocation (GTK_WIDGET (self), &alloc);
   rect.height = MIN (rect.height, alloc.height - rect.y);
 
-  theatric = g_object_new (IDE_TYPE_BOX_THEATRIC,
+  theatric = g_object_new (DZL_TYPE_BOX_THEATRIC,
                            "alpha", 0.3,
                            "background", "#729fcf",
                            "height", rect.height,
@@ -616,8 +605,8 @@ animate_expand (IdeSourceView     *self,
                            "y", rect.y,
                            NULL);
 
-  egg_object_animate_full (theatric,
-                           EGG_ANIMATION_EASE_IN_CUBIC,
+  dzl_object_animate_full (theatric,
+                           DZL_ANIMATION_EASE_IN_CUBIC,
                            250,
                            gtk_widget_get_frame_clock (GTK_WIDGET (self)),
                            g_object_unref,
@@ -635,7 +624,7 @@ animate_shrink (IdeSourceView     *self,
                 const GtkTextIter *begin,
                 const GtkTextIter *end)
 {
-  IdeBoxTheatric *theatric;
+  DzlBoxTheatric *theatric;
   GtkAllocation alloc;
   GdkRectangle rect = { 0 };
   GdkRectangle char_rect = { 0 };
@@ -664,7 +653,7 @@ animate_shrink (IdeSourceView     *self,
                    (gtk_text_iter_starts_line (&copy_begin) &&
                     gtk_text_iter_starts_line (&copy_end)));
 
-  theatric = g_object_new (IDE_TYPE_BOX_THEATRIC,
+  theatric = g_object_new (DZL_TYPE_BOX_THEATRIC,
                            "alpha", 0.3,
                            "background", "#729fcf",
                            "height", rect.height,
@@ -675,8 +664,8 @@ animate_shrink (IdeSourceView     *self,
                            NULL);
 
   if (is_whole_line)
-    egg_object_animate_full (theatric,
-                             EGG_ANIMATION_EASE_OUT_QUAD,
+    dzl_object_animate_full (theatric,
+                             DZL_ANIMATION_EASE_OUT_QUAD,
                              150,
                              gtk_widget_get_frame_clock (GTK_WIDGET (self)),
                              g_object_unref,
@@ -688,8 +677,8 @@ animate_shrink (IdeSourceView     *self,
                              "alpha", 0.3,
                              NULL);
   else if (is_single_line)
-    egg_object_animate_full (theatric,
-                             EGG_ANIMATION_EASE_OUT_QUAD,
+    dzl_object_animate_full (theatric,
+                             DZL_ANIMATION_EASE_OUT_QUAD,
                              150,
                              gtk_widget_get_frame_clock (GTK_WIDGET (self)),
                              g_object_unref,
@@ -701,8 +690,8 @@ animate_shrink (IdeSourceView     *self,
                              "alpha", 0.3,
                              NULL);
   else
-    egg_object_animate_full (theatric,
-                             EGG_ANIMATION_EASE_OUT_QUAD,
+    dzl_object_animate_full (theatric,
+                             DZL_ANIMATION_EASE_OUT_QUAD,
                              150,
                              gtk_widget_get_frame_clock (GTK_WIDGET (self)),
                              g_object_unref,
@@ -881,7 +870,7 @@ ide_source_view_set_file_settings (IdeSourceView   *self,
 
   if (file_settings != ide_source_view_get_file_settings (self))
     {
-      egg_binding_group_set_source (priv->file_setting_bindings, file_settings);
+      dzl_binding_group_set_source (priv->file_setting_bindings, file_settings);
       g_object_notify_by_pspec (G_OBJECT (self), properties [PROP_FILE_SETTINGS]);
     }
 }
@@ -1035,8 +1024,8 @@ ide_source_view__buffer_notify_style_scheme_cb (IdeSourceView *self,
 
       g_object_get (search_match_style, "background", &background, NULL);
       gdk_rgba_parse (&color, background);
-      ide_rgba_shade (&color, &priv->bubble_color1, 0.8);
-      ide_rgba_shade (&color, &priv->bubble_color2, 1.1);
+      dzl_rgba_shade (&color, &priv->bubble_color1, 0.8);
+      dzl_rgba_shade (&color, &priv->bubble_color2, 1.1);
     }
   else
     {
@@ -1088,7 +1077,7 @@ ide_source_view__buffer_notify_style_scheme_cb (IdeSourceView *self,
     }
 
   priv->spellchecker_bubble_bg_color1 = spellchecker_bubble_bg;
-  ide_rgba_shade (&spellchecker_bubble_bg, &priv->spellchecker_bubble_bg_color2, 0.8);
+  dzl_rgba_shade (&spellchecker_bubble_bg, &priv->spellchecker_bubble_bg_color2, 0.8);
 
   priv->spellchecker_bubble_tag = gtk_text_buffer_create_tag (GTK_TEXT_BUFFER (priv->buffer), NULL,
                                                               "foreground-rgba", &spellchecker_bubble_fg,
@@ -1209,7 +1198,7 @@ ide_source_view_rebuild_css (IdeSourceView *self)
           font_desc = copy;
         }
 
-      str = ide_pango_font_description_to_css (font_desc);
+      str = dzl_pango_font_description_to_css (font_desc);
       css = g_strdup_printf ("textview { %s }", str ?: "");
       gtk_css_provider_load_from_data (priv->css_provider, css, -1, NULL);
 
@@ -1619,7 +1608,7 @@ ide_source_view__buffer__notify_can_redo (IdeSourceView *self,
                 NULL);
 
   group = gtk_widget_get_action_group (GTK_WIDGET (self), "sourceview");
-  egg_widget_action_group_set_action_enabled (EGG_WIDGET_ACTION_GROUP (group), "redo", can_redo);
+  dzl_widget_action_group_set_action_enabled (DZL_WIDGET_ACTION_GROUP (group), "redo", can_redo);
 }
 
 static void
@@ -1638,13 +1627,13 @@ ide_source_view__buffer__notify_can_undo (IdeSourceView *self,
                 NULL);
 
   group = gtk_widget_get_action_group (GTK_WIDGET (self), "sourceview");
-  egg_widget_action_group_set_action_enabled (EGG_WIDGET_ACTION_GROUP (group), "undo", can_undo);
+  dzl_widget_action_group_set_action_enabled (DZL_WIDGET_ACTION_GROUP (group), "undo", can_undo);
 }
 
 static void
 ide_source_view_bind_buffer (IdeSourceView  *self,
                              IdeBuffer      *buffer,
-                             EggSignalGroup *group)
+                             DzlSignalGroup *group)
 {
   IdeSourceViewPrivate *priv = ide_source_view_get_instance_private (self);
   GtkSourceSearchSettings *search_settings;
@@ -1656,7 +1645,7 @@ ide_source_view_bind_buffer (IdeSourceView  *self,
 
   g_assert (IDE_IS_SOURCE_VIEW (self));
   g_assert (IDE_IS_BUFFER (buffer));
-  g_assert (EGG_IS_SIGNAL_GROUP (group));
+  g_assert (DZL_IS_SIGNAL_GROUP (group));
 
   priv->buffer = buffer;
 
@@ -1687,7 +1676,7 @@ ide_source_view_bind_buffer (IdeSourceView  *self,
                                                               "Completion-Provider-Languages",
                                                               NULL);
 
-  egg_signal_group_set_target (priv->completion_providers_signals,
+  dzl_signal_group_set_target (priv->completion_providers_signals,
                                priv->completion_providers);
 
   ide_extension_set_adapter_foreach (priv->completion_providers,
@@ -1753,14 +1742,14 @@ ide_source_view_bind_buffer (IdeSourceView  *self,
 
 static void
 ide_source_view_unbind_buffer (IdeSourceView  *self,
-                               EggSignalGroup *group)
+                               DzlSignalGroup *group)
 {
   IdeSourceViewPrivate *priv = ide_source_view_get_instance_private (self);
 
   IDE_ENTRY;
 
   g_assert (IDE_IS_SOURCE_VIEW (self));
-  g_assert (EGG_IS_SIGNAL_GROUP (group));
+  g_assert (DZL_IS_SIGNAL_GROUP (group));
 
   if (priv->buffer == NULL)
     IDE_EXIT;
@@ -1780,7 +1769,7 @@ ide_source_view_unbind_buffer (IdeSourceView  *self,
                                      
(IdeExtensionSetAdapterForeachFunc)ide_source_view__completion_provider_removed,
                                      self);
 
-  egg_signal_group_set_target (priv->completion_providers_signals, NULL);
+  dzl_signal_group_set_target (priv->completion_providers_signals, NULL);
 
   if (priv->cursor != NULL)
     {
@@ -4515,7 +4504,7 @@ ide_source_view_real_reindent (IdeSourceView *self)
       gint cursor_offset;
 
       line = g_ptr_array_index (lines, i);
-      event = ide_gdk_synthesize_event_key (window, '\n');
+      event = dzl_gdk_synthesize_event_key (window, '\n');
       indent = ide_indenter_format (indenter, GTK_TEXT_VIEW (self), &begin, &end, &cursor_offset, event);
       gdk_event_free ((GdkEvent *)event);
 
@@ -4707,7 +4696,7 @@ ide_source_view_draw_snippet_background (IdeSourceView    *self,
 
   gtk_text_view_window_to_buffer_coords (text_view, GTK_TEXT_WINDOW_TEXT, r.x, r.y, &r.x, &r.y);
 
-  ide_cairo_rounded_rectangle (cr, &r, 5, 5);
+  dzl_cairo_rounded_rectangle (cr, &r, 5, 5);
 
   cairo_fill (cr);
 }
@@ -4758,7 +4747,7 @@ draw_bezel (cairo_t                     *cr,
   r.height = rect->height + (radius * 2);
 
   gdk_cairo_set_source_rgba (cr, rgba);
-  ide_cairo_rounded_rectangle (cr, &r, radius, radius);
+  dzl_cairo_rounded_rectangle (cr, &r, radius, radius);
   cairo_fill (cr);
 }
 
@@ -5809,17 +5798,17 @@ ide_source_view_real_select_all (IdeSourceView *self,
 
 static void
 ide_source_view_rename_changed (IdeSourceView    *self,
-                                EggSimplePopover *popover)
+                                DzlSimplePopover *popover)
 {
   const gchar *text;
 
   IDE_ENTRY;
 
   g_assert (IDE_IS_SOURCE_VIEW (self));
-  g_assert (EGG_IS_SIMPLE_POPOVER (popover));
+  g_assert (DZL_IS_SIMPLE_POPOVER (popover));
 
-  text = egg_simple_popover_get_text (popover);
-  egg_simple_popover_set_ready (popover, text != NULL);
+  text = dzl_simple_popover_get_text (popover);
+  dzl_simple_popover_set_ready (popover, text != NULL);
 
   IDE_EXIT;
 }
@@ -5890,7 +5879,7 @@ ide_source_view_rename_edits_cb (GObject      *object,
 static void
 ide_source_view_rename_activate (IdeSourceView    *self,
                                  const gchar      *text,
-                                 EggSimplePopover *popover)
+                                 DzlSimplePopover *popover)
 {
   IdeSourceViewPrivate *priv = ide_source_view_get_instance_private (self);
   g_autoptr(IdeSourceLocation) location = NULL;
@@ -5900,7 +5889,7 @@ ide_source_view_rename_activate (IdeSourceView    *self,
 
   g_assert (IDE_IS_SOURCE_VIEW (self));
   g_assert (text != NULL);
-  g_assert (EGG_IS_SIMPLE_POPOVER (popover));
+  g_assert (DZL_IS_SIMPLE_POPOVER (popover));
 
   if (NULL == (provider = ide_buffer_get_rename_provider (priv->buffer)))
     IDE_EXIT;
@@ -5928,7 +5917,7 @@ static void
 ide_source_view_real_begin_rename (IdeSourceView *self)
 {
   IdeRenameProvider *provider;
-  EggSimplePopover *popover;
+  DzlSimplePopover *popover;
   g_autofree gchar *uri = NULL;
   GtkTextBuffer *buffer;
   GtkTextMark *insert;
@@ -5964,7 +5953,7 @@ ide_source_view_real_begin_rename (IdeSourceView *self)
                                          GTK_TEXT_WINDOW_WIDGET,
                                          loc.x, loc.y, &loc.x, &loc.y);
 
-  popover = g_object_new (EGG_TYPE_SIMPLE_POPOVER,
+  popover = g_object_new (DZL_TYPE_SIMPLE_POPOVER,
                           "title", _("Rename symbol"),
                           "button-text", _("Rename"),
                           "relative-to", self,
@@ -6287,13 +6276,13 @@ ide_source_view_dispose (GObject *object)
 
   if (priv->hadj_animation)
     {
-      egg_animation_stop (priv->hadj_animation);
+      dzl_animation_stop (priv->hadj_animation);
       ide_clear_weak_pointer (&priv->hadj_animation);
     }
 
   if (priv->vadj_animation)
     {
-      egg_animation_stop (priv->vadj_animation);
+      dzl_animation_stop (priv->vadj_animation);
       ide_clear_weak_pointer (&priv->vadj_animation);
     }
 
@@ -6338,7 +6327,7 @@ ide_source_view_finalize (GObject *object)
   g_clear_pointer (&priv->include_regex, g_regex_unref);
   g_clear_pointer (&priv->saved_search_text, g_free);
 
-  EGG_COUNTER_DEC (instances);
+  DZL_COUNTER_DEC (instances);
 
   G_OBJECT_CLASS (ide_source_view_parent_class)->finalize (object);
 }
@@ -7489,7 +7478,7 @@ ide_source_view_init (IdeSourceView *self)
                                      0,
                                      NULL);
 
-  EGG_COUNTER_INC (instances);
+  DZL_COUNTER_INC (instances);
 
   priv->target_line_column = 0;
   priv->snippets = g_queue_new ();
@@ -7500,107 +7489,107 @@ ide_source_view_init (IdeSourceView *self)
   priv->command_str = g_string_sized_new (32);
   priv->overscroll_num_lines = DEFAULT_OVERSCROLL_NUM_LINES;
 
-  priv->completion_providers_signals = egg_signal_group_new (IDE_TYPE_EXTENSION_SET_ADAPTER);
+  priv->completion_providers_signals = dzl_signal_group_new (IDE_TYPE_EXTENSION_SET_ADAPTER);
 
-  egg_signal_group_connect_object (priv->completion_providers_signals,
+  dzl_signal_group_connect_object (priv->completion_providers_signals,
                                    "extension-added",
                                    G_CALLBACK (ide_source_view__completion_provider_added),
                                    self,
                                    0);
 
-  egg_signal_group_connect_object (priv->completion_providers_signals,
+  dzl_signal_group_connect_object (priv->completion_providers_signals,
                                    "extension-removed",
                                    G_CALLBACK (ide_source_view__completion_provider_removed),
                                    self,
                                    0);
 
-  priv->file_setting_bindings = egg_binding_group_new ();
-  egg_binding_group_bind (priv->file_setting_bindings, "indent-width",
+  priv->file_setting_bindings = dzl_binding_group_new ();
+  dzl_binding_group_bind (priv->file_setting_bindings, "indent-width",
                           self, "indent-width", G_BINDING_SYNC_CREATE);
-  egg_binding_group_bind (priv->file_setting_bindings, "tab-width",
+  dzl_binding_group_bind (priv->file_setting_bindings, "tab-width",
                           self, "tab-width", G_BINDING_SYNC_CREATE);
-  egg_binding_group_bind (priv->file_setting_bindings, "right-margin-position",
+  dzl_binding_group_bind (priv->file_setting_bindings, "right-margin-position",
                           self, "right-margin-position", G_BINDING_SYNC_CREATE);
-  egg_binding_group_bind (priv->file_setting_bindings, "indent-style",
+  dzl_binding_group_bind (priv->file_setting_bindings, "indent-style",
                           self, "indent-style", G_BINDING_SYNC_CREATE);
-  egg_binding_group_bind (priv->file_setting_bindings, "show-right-margin",
+  dzl_binding_group_bind (priv->file_setting_bindings, "show-right-margin",
                           self, "show-right-margin", G_BINDING_SYNC_CREATE);
-  egg_binding_group_bind (priv->file_setting_bindings, "overwrite-braces",
+  dzl_binding_group_bind (priv->file_setting_bindings, "overwrite-braces",
                           self, "overwrite-braces", G_BINDING_SYNC_CREATE);
 
-  priv->buffer_signals = egg_signal_group_new (IDE_TYPE_BUFFER);
+  priv->buffer_signals = dzl_signal_group_new (IDE_TYPE_BUFFER);
 
-  egg_signal_group_connect_object (priv->buffer_signals,
+  dzl_signal_group_connect_object (priv->buffer_signals,
                                    "changed",
                                    G_CALLBACK (ide_source_view__buffer_changed_cb),
                                    self,
                                    G_CONNECT_SWAPPED);
-  egg_signal_group_connect_object (priv->buffer_signals,
+  dzl_signal_group_connect_object (priv->buffer_signals,
                                    "line-flags-changed",
                                    G_CALLBACK (ide_source_view__buffer_line_flags_changed_cb),
                                    self,
                                    G_CONNECT_SWAPPED);
-  egg_signal_group_connect_object (priv->buffer_signals,
+  dzl_signal_group_connect_object (priv->buffer_signals,
                                    "notify::can-redo",
                                    G_CALLBACK (ide_source_view__buffer__notify_can_redo),
                                    self,
                                    G_CONNECT_SWAPPED);
-  egg_signal_group_connect_object (priv->buffer_signals,
+  dzl_signal_group_connect_object (priv->buffer_signals,
                                    "notify::can-undo",
                                    G_CALLBACK (ide_source_view__buffer__notify_can_undo),
                                    self,
                                    G_CONNECT_SWAPPED);
-  egg_signal_group_connect_object (priv->buffer_signals,
+  dzl_signal_group_connect_object (priv->buffer_signals,
                                    "notify::highlight-diagnostics",
                                    G_CALLBACK (ide_source_view__buffer_notify_highlight_diagnostics_cb),
                                    self,
                                    G_CONNECT_SWAPPED);
-  egg_signal_group_connect_object (priv->buffer_signals,
+  dzl_signal_group_connect_object (priv->buffer_signals,
                                    "notify::file",
                                    G_CALLBACK (ide_source_view__buffer_notify_file_cb),
                                    self,
                                    G_CONNECT_SWAPPED);
-  egg_signal_group_connect_object (priv->buffer_signals,
+  dzl_signal_group_connect_object (priv->buffer_signals,
                                    "notify::language",
                                    G_CALLBACK (ide_source_view__buffer_notify_language_cb),
                                    self,
                                    G_CONNECT_SWAPPED);
-  egg_signal_group_connect_object (priv->buffer_signals,
+  dzl_signal_group_connect_object (priv->buffer_signals,
                                    "notify::style-scheme",
                                    G_CALLBACK (ide_source_view__buffer_notify_style_scheme_cb),
                                    self,
                                    G_CONNECT_SWAPPED);
-  egg_signal_group_connect_object (priv->buffer_signals,
+  dzl_signal_group_connect_object (priv->buffer_signals,
                                    "insert-text",
                                    G_CALLBACK (ide_source_view__buffer_insert_text_cb),
                                    self,
                                    G_CONNECT_SWAPPED);
-  egg_signal_group_connect_object (priv->buffer_signals,
+  dzl_signal_group_connect_object (priv->buffer_signals,
                                    "insert-text",
                                    G_CALLBACK (ide_source_view__buffer_insert_text_after_cb),
                                    self,
                                    G_CONNECT_SWAPPED | G_CONNECT_AFTER);
-  egg_signal_group_connect_object (priv->buffer_signals,
+  dzl_signal_group_connect_object (priv->buffer_signals,
                                    "delete-range",
                                    G_CALLBACK (ide_source_view__buffer_delete_range_cb),
                                    self,
                                    G_CONNECT_SWAPPED);
-  egg_signal_group_connect_object (priv->buffer_signals,
+  dzl_signal_group_connect_object (priv->buffer_signals,
                                    "delete-range",
                                    G_CALLBACK (ide_source_view__buffer_delete_range_after_cb),
                                    self,
                                    G_CONNECT_SWAPPED | G_CONNECT_AFTER);
-  egg_signal_group_connect_object (priv->buffer_signals,
+  dzl_signal_group_connect_object (priv->buffer_signals,
                                    "mark-set",
                                    G_CALLBACK (ide_source_view__buffer_mark_set_cb),
                                    self,
                                    G_CONNECT_SWAPPED);
-  egg_signal_group_connect_object (priv->buffer_signals,
+  dzl_signal_group_connect_object (priv->buffer_signals,
                                    "loaded",
                                    G_CALLBACK (ide_source_view__buffer_loaded_cb),
                                    self,
                                    G_CONNECT_SWAPPED);
-  egg_signal_group_connect_object (priv->buffer_signals,
+  dzl_signal_group_connect_object (priv->buffer_signals,
                                    "notify::has-selection",
                                    G_CALLBACK (ide_source_view__buffer_notify_has_selection_cb),
                                    self,
@@ -7634,7 +7623,7 @@ ide_source_view_init (IdeSourceView *self)
   if (target_list)
     gtk_target_list_add_uri_targets (target_list, TARGET_URI_LIST);
 
-  egg_widget_action_group_attach (self, "sourceview");
+  dzl_widget_action_group_attach (self, "sourceview");
 }
 
 const PangoFontDescription *
@@ -8544,13 +8533,13 @@ ide_source_view_scroll_to_iter (IdeSourceView     *self,
 
       if (priv->hadj_animation != NULL)
         {
-          egg_animation_stop (priv->hadj_animation);
+          dzl_animation_stop (priv->hadj_animation);
           ide_clear_weak_pointer (&priv->hadj_animation);
         }
 
       priv->hadj_animation =
-        egg_object_animate (hadj,
-                            EGG_ANIMATION_EASE_OUT_CUBIC,
+        dzl_object_animate (hadj,
+                            DZL_ANIMATION_EASE_OUT_CUBIC,
                             duration_msec,
                             frame_clock,
                             "value", (double)xvalue,
@@ -8560,13 +8549,13 @@ ide_source_view_scroll_to_iter (IdeSourceView     *self,
 
       if (priv->vadj_animation != NULL)
         {
-          egg_animation_stop (priv->vadj_animation);
+          dzl_animation_stop (priv->vadj_animation);
           ide_clear_weak_pointer (&priv->vadj_animation);
         }
 
       priv->vadj_animation =
-        egg_object_animate_full (vadj,
-                                 EGG_ANIMATION_EASE_OUT_CUBIC,
+        dzl_object_animate_full (vadj,
+                                 DZL_ANIMATION_EASE_OUT_CUBIC,
                                  duration_msec,
                                  frame_clock,
                                  (GDestroyNotify)ide_source_view__vadj_animation_completed,
@@ -8830,7 +8819,7 @@ ide_source_view_get_file_settings (IdeSourceView *self)
 
   g_return_val_if_fail (IDE_IS_SOURCE_VIEW (self), NULL);
 
-  return (IdeFileSettings *)egg_binding_group_get_source (priv->file_setting_bindings);
+  return (IdeFileSettings *)dzl_binding_group_get_source (priv->file_setting_bindings);
 }
 
 gboolean
diff --git a/libide/subprocess/ide-breakout-subprocess.c b/libide/subprocess/ide-breakout-subprocess.c
index d71cae7..78733ca 100644
--- a/libide/subprocess/ide-breakout-subprocess.c
+++ b/libide/subprocess/ide-breakout-subprocess.c
@@ -18,7 +18,7 @@
 
 #define G_LOG_DOMAIN "ide-breakout-subprocess"
 
-#include <egg-counter.h>
+#include <dazzle.h>
 #include <errno.h>
 #include <fcntl.h>
 #include <gio/gunixinputstream.h>
@@ -52,7 +52,7 @@
  * for all subprocesses so that we can have exit-on-close => false).
  */
 
-EGG_DEFINE_COUNTER (instances, "Subprocess", "HostCommand Instances", "Number of IdeBreakoutSubprocess 
instances")
+DZL_DEFINE_COUNTER (instances, "Subprocess", "HostCommand Instances", "Number of IdeBreakoutSubprocess 
instances")
 
 struct _IdeBreakoutSubprocess
 {
@@ -1630,7 +1630,7 @@ ide_breakout_subprocess_finalize (GObject *object)
 
   G_OBJECT_CLASS (ide_breakout_subprocess_parent_class)->finalize (object);
 
-  EGG_COUNTER_DEC (instances);
+  DZL_COUNTER_DEC (instances);
 
   IDE_EXIT;
 }
@@ -1744,7 +1744,7 @@ ide_breakout_subprocess_init (IdeBreakoutSubprocess *self)
 {
   IDE_ENTRY;
 
-  EGG_COUNTER_INC (instances);
+  DZL_COUNTER_INC (instances);
 
   self->stdin_fd = -1;
   self->stdout_fd = -1;
diff --git a/libide/symbols/ide-symbol.c b/libide/symbols/ide-symbol.c
index 90bdaf1..5289327 100644
--- a/libide/symbols/ide-symbol.c
+++ b/libide/symbols/ide-symbol.c
@@ -18,7 +18,7 @@
 
 #define G_LOG_DOMAIN "ide-symbol"
 
-#include <egg-counter.h>
+#include <dazzle.h>
 
 #include "diagnostics/ide-source-location.h"
 #include "symbols/ide-symbol.h"
@@ -38,7 +38,7 @@ struct _IdeSymbol
 
 G_DEFINE_BOXED_TYPE (IdeSymbol, ide_symbol, ide_symbol_ref, ide_symbol_unref)
 
-EGG_DEFINE_COUNTER (instances, "IdeSymbol", "Instances", "Number of symbol instances")
+DZL_DEFINE_COUNTER (instances, "IdeSymbol", "Instances", "Number of symbol instances")
 
 /**
  * ide_symbol_new:
@@ -76,7 +76,7 @@ ide_symbol_new (const gchar       *name,
   if (canonical_location)
     ret->canonical_location = ide_source_location_ref (canonical_location);
 
-  EGG_COUNTER_INC (instances);
+  DZL_COUNTER_INC (instances);
 
   return ret;
 }
@@ -180,7 +180,7 @@ ide_symbol_unref (IdeSymbol *self)
       g_clear_pointer (&self->name, g_free);
       g_slice_free (IdeSymbol, self);
 
-      EGG_COUNTER_DEC (instances);
+      DZL_COUNTER_DEC (instances);
     }
 }
 
diff --git a/libide/threading/ide-thread-pool.c b/libide/threading/ide-thread-pool.c
index 2951165..7064498 100644
--- a/libide/threading/ide-thread-pool.c
+++ b/libide/threading/ide-thread-pool.c
@@ -18,7 +18,7 @@
 
 #define G_LOG_DOMAIN "ide-thread-pool"
 
-#include <egg-counter.h>
+#include <dazzle.h>
 
 #include "ide-debug.h"
 
@@ -42,8 +42,8 @@ typedef struct
   };
 } WorkItem;
 
-EGG_DEFINE_COUNTER (TotalTasks, "ThreadPool", "Total Tasks", "Total number of tasks processed.")
-EGG_DEFINE_COUNTER (QueuedTasks, "ThreadPool", "Queued Tasks", "Current number of pending tasks.")
+DZL_DEFINE_COUNTER (TotalTasks, "ThreadPool", "Total Tasks", "Total number of tasks processed.")
+DZL_DEFINE_COUNTER (QueuedTasks, "ThreadPool", "Queued Tasks", "Current number of pending tasks.")
 
 static GThreadPool *thread_pools [IDE_THREAD_POOL_LAST];
 
@@ -81,7 +81,7 @@ ide_thread_pool_push_task (IdeThreadPoolKind  kind,
   g_return_if_fail (G_IS_TASK (task));
   g_return_if_fail (func != NULL);
 
-  EGG_COUNTER_INC (TotalTasks);
+  DZL_COUNTER_INC (TotalTasks);
 
   pool = ide_thread_pool_get_pool (kind);
 
@@ -94,7 +94,7 @@ ide_thread_pool_push_task (IdeThreadPoolKind  kind,
       work_item->task.task = g_object_ref (task);
       work_item->task.func = func;
 
-      EGG_COUNTER_INC (QueuedTasks);
+      DZL_COUNTER_INC (QueuedTasks);
 
       g_thread_pool_push (pool, work_item, NULL);
     }
@@ -127,7 +127,7 @@ ide_thread_pool_push (IdeThreadPoolKind kind,
   g_return_if_fail (kind < IDE_THREAD_POOL_LAST);
   g_return_if_fail (func != NULL);
 
-  EGG_COUNTER_INC (TotalTasks);
+  DZL_COUNTER_INC (TotalTasks);
 
   pool = ide_thread_pool_get_pool (kind);
 
@@ -140,7 +140,7 @@ ide_thread_pool_push (IdeThreadPoolKind kind,
       work_item->func.callback = func;
       work_item->func.data = func_data;
 
-      EGG_COUNTER_INC (QueuedTasks);
+      DZL_COUNTER_INC (QueuedTasks);
 
       g_thread_pool_push (pool, work_item, NULL);
     }
@@ -163,7 +163,7 @@ ide_thread_pool_worker (gpointer data,
 
   g_assert (work_item != NULL);
 
-  EGG_COUNTER_DEC (QueuedTasks);
+  DZL_COUNTER_DEC (QueuedTasks);
 
   if (work_item->type == TYPE_TASK)
     {
diff --git a/libide/transfers/ide-transfer-button.c b/libide/transfers/ide-transfer-button.c
index 003cbdb..b69d97c 100644
--- a/libide/transfers/ide-transfer-button.c
+++ b/libide/transfers/ide-transfer-button.c
@@ -38,7 +38,7 @@ enum {
   N_PROPS
 };
 
-G_DEFINE_TYPE_WITH_PRIVATE (IdeTransferButton, ide_transfer_button, EGG_TYPE_PROGRESS_BUTTON)
+G_DEFINE_TYPE_WITH_PRIVATE (IdeTransferButton, ide_transfer_button, DZL_TYPE_PROGRESS_BUTTON)
 
 static GParamSpec *properties [N_PROPS];
 
@@ -55,7 +55,7 @@ notify_progress_cb (IdeTransferButton *self,
 
   progress = ide_transfer_get_progress (transfer);
 
-  egg_progress_button_set_progress (EGG_PROGRESS_BUTTON (self), progress * 100.0);
+  dzl_progress_button_set_progress (DZL_PROGRESS_BUTTON (self), progress * 100.0);
 }
 
 static void
@@ -130,7 +130,7 @@ ide_transfer_button_execute_cb (GObject      *object,
   ide_transfer_manager_execute_finish (transfer_manager, result, NULL);
 
   gtk_widget_set_sensitive (GTK_WIDGET (self), TRUE);
-  egg_progress_button_set_show_progress (EGG_PROGRESS_BUTTON (self), FALSE);
+  dzl_progress_button_set_show_progress (DZL_PROGRESS_BUTTON (self), FALSE);
 
   IDE_EXIT;
 }
@@ -155,7 +155,7 @@ ide_transfer_button_clicked (GtkButton *button)
   if (context == NULL)
     return;
 
-  egg_progress_button_set_show_progress (EGG_PROGRESS_BUTTON (self), TRUE);
+  dzl_progress_button_set_show_progress (DZL_PROGRESS_BUTTON (self), TRUE);
   gtk_widget_set_sensitive (GTK_WIDGET (self), FALSE);
 
   transfer_manager = ide_context_get_transfer_manager (context);
diff --git a/libide/transfers/ide-transfer-button.h b/libide/transfers/ide-transfer-button.h
index a013f37..b6548bf 100644
--- a/libide/transfers/ide-transfer-button.h
+++ b/libide/transfers/ide-transfer-button.h
@@ -19,9 +19,7 @@
 #ifndef IDE_TRANSFER_BUTTON_H
 #define IDE_TRANSFER_BUTTON_H
 
-#include <gtk/gtk.h>
-
-#include "egg-progress-button.h"
+#include <dazzle.h>
 
 #include "transfers/ide-transfer.h"
 
@@ -29,11 +27,11 @@ G_BEGIN_DECLS
 
 #define IDE_TYPE_TRANSFER_BUTTON (ide_transfer_button_get_type())
 
-G_DECLARE_DERIVABLE_TYPE (IdeTransferButton, ide_transfer_button, IDE, TRANSFER_BUTTON, EggProgressButton)
+G_DECLARE_DERIVABLE_TYPE (IdeTransferButton, ide_transfer_button, IDE, TRANSFER_BUTTON, DzlProgressButton)
 
 struct _IdeTransferButtonClass
 {
-  EggProgressButtonClass parent_class;
+  DzlProgressButtonClass parent_class;
 
   gpointer _reserved1;
   gpointer _reserved2;
diff --git a/libide/transfers/ide-transfer-row.c b/libide/transfers/ide-transfer-row.c
index 2fc6724..ae50087 100644
--- a/libide/transfers/ide-transfer-row.c
+++ b/libide/transfers/ide-transfer-row.c
@@ -18,16 +18,16 @@
 
 #define G_LOG_DOMAIN "ide-transfer-row"
 
-#include <egg-binding-group.h>
+#include <dazzle.h>
 
-#include "ide-transfer-row.h"
+#include "transfers/ide-transfer-row.h"
 
 struct _IdeTransferRow
 {
   GtkListBoxRow    parent_instance;
 
   IdeTransfer     *transfer;
-  EggBindingGroup *bindings;
+  DzlBindingGroup *bindings;
 
   GtkLabel        *status;
   GtkLabel        *title;
@@ -161,29 +161,29 @@ ide_transfer_row_init (IdeTransferRow *self)
                            self,
                            G_CONNECT_SWAPPED);
 
-  self->bindings = egg_binding_group_new ();
+  self->bindings = dzl_binding_group_new ();
 
-  egg_binding_group_bind (self->bindings, "active",
+  dzl_binding_group_bind (self->bindings, "active",
                           self->progress, "visible",
                           G_BINDING_SYNC_CREATE);
 
-  egg_binding_group_bind (self->bindings, "active",
+  dzl_binding_group_bind (self->bindings, "active",
                           self->cancel, "visible",
                           G_BINDING_SYNC_CREATE);
 
-  egg_binding_group_bind (self->bindings, "title",
+  dzl_binding_group_bind (self->bindings, "title",
                           self->title, "label",
                           G_BINDING_SYNC_CREATE);
 
-  egg_binding_group_bind (self->bindings, "status",
+  dzl_binding_group_bind (self->bindings, "status",
                           self->status, "label",
                           G_BINDING_SYNC_CREATE);
 
-  egg_binding_group_bind (self->bindings, "progress",
+  dzl_binding_group_bind (self->bindings, "progress",
                           self->progress, "fraction",
                           G_BINDING_SYNC_CREATE);
 
-  egg_binding_group_bind (self->bindings, "icon-name",
+  dzl_binding_group_bind (self->bindings, "icon-name",
                           self->image, "icon-name",
                           G_BINDING_SYNC_CREATE);
 }
@@ -210,7 +210,7 @@ ide_transfer_row_set_transfer (IdeTransferRow *self,
 
   if (g_set_object (&self->transfer, transfer))
     {
-      egg_binding_group_set_source (self->bindings, transfer);
+      dzl_binding_group_set_source (self->bindings, transfer);
       g_object_notify_by_pspec (G_OBJECT (self), properties [PROP_TRANSFER]);
     }
 }
diff --git a/libide/transfers/ide-transfers-button.c b/libide/transfers/ide-transfers-button.c
index 670af3a..7e75c98 100644
--- a/libide/transfers/ide-transfers-button.c
+++ b/libide/transfers/ide-transfers-button.c
@@ -18,12 +18,11 @@
 
 #define G_LOG_DOMAIN "ide-transfers-button"
 
-#include <egg-animation.h>
+#include <dazzle.h>
 
 #include "ide-debug.h"
 #include "ide-context.h"
 
-#include "theatrics/ide-box-theatric.h"
 #include "transfers/ide-transfer.h"
 #include "transfers/ide-transfer-manager.h"
 #include "transfers/ide-transfer-row.h"
@@ -66,7 +65,7 @@ static void
 ide_transfers_button_begin_theatrics (IdeTransfersButton *self)
 {
   g_autoptr(GIcon) icon = NULL;
-  IdeBoxTheatric *theatric;
+  DzlBoxTheatric *theatric;
   GtkAllocation rect;
 
   IDE_ENTRY;
@@ -87,7 +86,7 @@ ide_transfers_button_begin_theatrics (IdeTransfersButton *self)
 
   icon = g_themed_icon_new ("folder-download-symbolic");
 
-  theatric = g_object_new (IDE_TYPE_BOX_THEATRIC,
+  theatric = g_object_new (DZL_TYPE_BOX_THEATRIC,
                            "alpha", 1.0,
                            "height", rect.height,
                            "icon", icon,
@@ -97,8 +96,8 @@ ide_transfers_button_begin_theatrics (IdeTransfersButton *self)
                            "y", rect.y,
                            NULL);
 
-  egg_object_animate_full (theatric,
-                           EGG_ANIMATION_EASE_OUT_CUBIC,
+  dzl_object_animate_full (theatric,
+                           DZL_ANIMATION_EASE_OUT_CUBIC,
                            750,
                            gtk_widget_get_frame_clock (GTK_WIDGET (self)),
                            g_object_unref,
diff --git a/libide/tree/ide-tree-node.c b/libide/tree/ide-tree-node.c
index 0ecd9f6..73ef7b7 100644
--- a/libide/tree/ide-tree-node.c
+++ b/libide/tree/ide-tree-node.c
@@ -20,7 +20,7 @@
 
 #include <glib/gi18n.h>
 
-#include "egg-counter.h"
+#include "dazzle.h"
 
 #include "ide-tree.h"
 #include "ide-tree-node.h"
@@ -51,7 +51,7 @@ typedef struct
 } PopupRequest;
 
 G_DEFINE_TYPE (IdeTreeNode, ide_tree_node, G_TYPE_INITIALLY_UNOWNED)
-EGG_DEFINE_COUNTER (instances, "IdeTreeNode", "Instances", "Number of IdeTreeNode instances")
+DZL_DEFINE_COUNTER (instances, "IdeTreeNode", "Instances", "Number of IdeTreeNode instances")
 
 enum {
   PROP_0,
@@ -698,7 +698,7 @@ ide_tree_node_finalize (GObject *object)
 
   G_OBJECT_CLASS (ide_tree_node_parent_class)->finalize (object);
 
-  EGG_COUNTER_DEC (instances);
+  DZL_COUNTER_DEC (instances);
 }
 
 static void
@@ -918,7 +918,7 @@ ide_tree_node_class_init (IdeTreeNodeClass *klass)
 static void
 ide_tree_node_init (IdeTreeNode *node)
 {
-  EGG_COUNTER_INC (instances);
+  DZL_COUNTER_INC (instances);
 
   node->needs_build = TRUE;
 }
diff --git a/libide/util/ide-glib.c b/libide/util/ide-glib.c
index 60e207f..b206aa3 100644
--- a/libide/util/ide-glib.c
+++ b/libide/util/ide-glib.c
@@ -181,47 +181,3 @@ ide_gettext (const gchar *message)
     return g_dgettext (GETTEXT_PACKAGE, message);
   return NULL;
 }
-
-gchar *
-ide_g_time_span_to_label (GTimeSpan span)
-{
-  gint64 hours;
-  gint64 minutes;
-  gint64 seconds;
-
-  span = ABS (span);
-
-  hours = span / G_TIME_SPAN_HOUR;
-  minutes = (span % G_TIME_SPAN_HOUR) / G_TIME_SPAN_MINUTE;
-  seconds = (span % G_TIME_SPAN_MINUTE) / G_TIME_SPAN_SECOND;
-
-  g_assert (minutes < 60);
-  g_assert (seconds < 60);
-
-  if (hours == 0)
-    return g_strdup_printf ("%02"G_GINT64_FORMAT":%02"G_GINT64_FORMAT,
-                            minutes, seconds);
-  else
-    return g_strdup_printf ("%02"G_GINT64_FORMAT":%02"G_GINT64_FORMAT":%02"G_GINT64_FORMAT,
-                            hours, minutes, seconds);
-}
-
-gboolean
-ide_g_time_span_to_label_mapping (GBinding     *binding,
-                                  const GValue *from_value,
-                                  GValue       *to_value,
-                                  gpointer      user_data)
-{
-  GTimeSpan span;
-
-  g_assert (G_IS_BINDING (binding));
-  g_assert (from_value != NULL);
-  g_assert (G_VALUE_HOLDS (from_value, G_TYPE_INT64));
-  g_assert (to_value != NULL);
-  g_assert (G_VALUE_HOLDS (to_value, G_TYPE_STRING));
-
-  span = g_value_get_int64 (from_value);
-  g_value_take_string (to_value, ide_g_time_span_to_label (span));
-
-  return TRUE;
-}
diff --git a/libide/util/ide-glib.h b/libide/util/ide-glib.h
index 437f805..1895dd6 100644
--- a/libide/util/ide-glib.h
+++ b/libide/util/ide-glib.h
@@ -33,11 +33,6 @@ void         ide_g_task_return_pointer_from_main (GTask          *task,
                                                   GDestroyNotify  notify);
 void         ide_g_task_return_error_from_main   (GTask          *task,
                                                   GError         *error);
-gchar       *ide_g_time_span_to_label            (GTimeSpan       span);
-gboolean     ide_g_time_span_to_label_mapping    (GBinding       *binding,
-                                                  const GValue   *from_value,
-                                                  GValue         *to_value,
-                                                  gpointer        user_data);
 
 G_END_DECLS
 
diff --git a/libide/util/ide-gtk.c b/libide/util/ide-gtk.c
index 732fdaa..c7d282f 100644
--- a/libide/util/ide-gtk.c
+++ b/libide/util/ide-gtk.c
@@ -18,7 +18,7 @@
 
 #define G_LOG_DOMAIN "ide-gtk"
 
-#include <egg-animation.h>
+#include <dazzle.h>
 
 #include "ide-debug.h"
 
@@ -216,7 +216,7 @@ void
 ide_widget_hide_with_fade (GtkWidget *widget)
 {
   GdkFrameClock *frame_clock;
-  EggAnimation *anim;
+  DzlAnimation *anim;
 
   g_return_if_fail (GTK_IS_WIDGET (widget));
 
@@ -224,11 +224,11 @@ ide_widget_hide_with_fade (GtkWidget *widget)
     {
       anim = g_object_get_data (G_OBJECT (widget), "FADE_ANIMATION");
       if (anim != NULL)
-        egg_animation_stop (anim);
+        dzl_animation_stop (anim);
 
       frame_clock = gtk_widget_get_frame_clock (widget);
-      anim = egg_object_animate_full (widget,
-                                      EGG_ANIMATION_LINEAR,
+      anim = dzl_object_animate_full (widget,
+                                      DZL_ANIMATION_LINEAR,
                                       1000,
                                       frame_clock,
                                       hide_callback,
@@ -244,7 +244,7 @@ void
 ide_widget_show_with_fade (GtkWidget *widget)
 {
   GdkFrameClock *frame_clock;
-  EggAnimation *anim;
+  DzlAnimation *anim;
 
   g_return_if_fail (GTK_IS_WIDGET (widget));
 
@@ -252,13 +252,13 @@ ide_widget_show_with_fade (GtkWidget *widget)
     {
       anim = g_object_get_data (G_OBJECT (widget), "FADE_ANIMATION");
       if (anim != NULL)
-        egg_animation_stop (anim);
+        dzl_animation_stop (anim);
 
       frame_clock = gtk_widget_get_frame_clock (widget);
       gtk_widget_set_opacity (widget, 0.0);
       gtk_widget_show (widget);
-      anim = egg_object_animate_full (widget,
-                                      EGG_ANIMATION_LINEAR,
+      anim = dzl_object_animate_full (widget,
+                                      DZL_ANIMATION_LINEAR,
                                       500,
                                       frame_clock,
                                       show_callback,
diff --git a/libide/util/ide-ref-ptr.c b/libide/util/ide-ref-ptr.c
index b313520..b8f35c1 100644
--- a/libide/util/ide-ref-ptr.c
+++ b/libide/util/ide-ref-ptr.c
@@ -18,13 +18,13 @@
 
 #define G_LOG_DOMAIN "ide-ref-ptr"
 
-#include "egg-counter.h"
+#include "dazzle.h"
 
 #include "ide-ref-ptr.h"
 
 G_DEFINE_BOXED_TYPE (IdeRefPtr, ide_ref_ptr, ide_ref_ptr_ref, ide_ref_ptr_unref)
 
-EGG_DEFINE_COUNTER (instances, "IdeRefPtr", "Instances", "Number of IdeRefPtr instances.")
+DZL_DEFINE_COUNTER (instances, "IdeRefPtr", "Instances", "Number of IdeRefPtr instances.")
 
 struct _IdeRefPtr
 {
@@ -44,7 +44,7 @@ ide_ref_ptr_new (gpointer       data,
   self->data = data;
   self->free_func = free_func;
 
-  EGG_COUNTER_INC (instances);
+  DZL_COUNTER_INC (instances);
 
   return self;
 }
@@ -73,7 +73,7 @@ ide_ref_ptr_unref (IdeRefPtr *self)
 
       g_slice_free (IdeRefPtr, self);
 
-      EGG_COUNTER_DEC (instances);
+      DZL_COUNTER_DEC (instances);
     }
 }
 
diff --git a/libide/util/ide-settings.c b/libide/util/ide-settings.c
index ab82eb2..48c5f66 100644
--- a/libide/util/ide-settings.c
+++ b/libide/util/ide-settings.c
@@ -18,7 +18,7 @@
 
 #define G_LOG_DOMAIN "ide-settings"
 
-#include <egg-settings-sandwich.h>
+#include <dazzle.h>
 #include <glib/gi18n.h>
 #include <stdlib.h>
 
@@ -47,7 +47,7 @@ struct _IdeSettings
 {
   IdeObject            parent_instance;
 
-  EggSettingsSandwich *settings_sandwich;
+  DzlSettingsSandwich *settings_sandwich;
   gchar               *relative_path;
   gchar               *schema_id;
   guint                ignore_project_settings : 1;
@@ -181,7 +181,7 @@ ide_settings_constructed (GObject *object)
   project_id = ide_project_get_id (project);
 
   full_path = g_strdup_printf ("/org/gnome/builder/%s", self->relative_path);
-  self->settings_sandwich = egg_settings_sandwich_new (self->schema_id, full_path);
+  self->settings_sandwich = dzl_settings_sandwich_new (self->schema_id, full_path);
 
   /* Add our project relative settings */
   if (self->ignore_project_settings == FALSE)
@@ -189,14 +189,14 @@ ide_settings_constructed (GObject *object)
       path = g_strdup_printf ("/org/gnome/builder/projects/%s/%s",
                               project_id, self->relative_path);
       settings = g_settings_new_with_path (self->schema_id, path);
-      egg_settings_sandwich_append (self->settings_sandwich, settings);
+      dzl_settings_sandwich_append (self->settings_sandwich, settings);
       g_clear_object (&settings);
       g_free (path);
     }
 
   /* Add our application global (user defaults) settings */
   settings = g_settings_new_with_path (self->schema_id, full_path);
-  egg_settings_sandwich_append (self->settings_sandwich, settings);
+  dzl_settings_sandwich_append (self->settings_sandwich, settings);
   g_clear_object (&settings);
 
   IDE_EXIT;
@@ -372,7 +372,7 @@ ide_settings_get_default_value (IdeSettings *self,
   g_return_val_if_fail (IDE_IS_SETTINGS (self), NULL);
   g_return_val_if_fail (key != NULL, NULL);
 
-  return egg_settings_sandwich_get_default_value (self->settings_sandwich, key);
+  return dzl_settings_sandwich_get_default_value (self->settings_sandwich, key);
 }
 
 GVariant *
@@ -382,7 +382,7 @@ ide_settings_get_user_value (IdeSettings *self,
   g_return_val_if_fail (IDE_IS_SETTINGS (self), NULL);
   g_return_val_if_fail (key != NULL, NULL);
 
-  return egg_settings_sandwich_get_user_value (self->settings_sandwich, key);
+  return dzl_settings_sandwich_get_user_value (self->settings_sandwich, key);
 }
 
 GVariant *
@@ -392,7 +392,7 @@ ide_settings_get_value (IdeSettings *self,
   g_return_val_if_fail (IDE_IS_SETTINGS (self), NULL);
   g_return_val_if_fail (key != NULL, NULL);
 
-  return egg_settings_sandwich_get_value (self->settings_sandwich, key);
+  return dzl_settings_sandwich_get_value (self->settings_sandwich, key);
 }
 
 void
@@ -403,7 +403,7 @@ ide_settings_set_value (IdeSettings *self,
   g_return_if_fail (IDE_IS_SETTINGS (self));
   g_return_if_fail (key != NULL);
 
-  return egg_settings_sandwich_set_value (self->settings_sandwich, key, value);
+  return dzl_settings_sandwich_set_value (self->settings_sandwich, key, value);
 }
 
 gboolean
@@ -413,7 +413,7 @@ ide_settings_get_boolean (IdeSettings *self,
   g_return_val_if_fail (IDE_IS_SETTINGS (self), FALSE);
   g_return_val_if_fail (key != NULL, FALSE);
 
-  return egg_settings_sandwich_get_boolean (self->settings_sandwich, key);
+  return dzl_settings_sandwich_get_boolean (self->settings_sandwich, key);
 }
 
 gdouble
@@ -423,7 +423,7 @@ ide_settings_get_double (IdeSettings *self,
   g_return_val_if_fail (IDE_IS_SETTINGS (self), 0.0);
   g_return_val_if_fail (key != NULL, 0.0);
 
-  return egg_settings_sandwich_get_double (self->settings_sandwich, key);
+  return dzl_settings_sandwich_get_double (self->settings_sandwich, key);
 }
 
 gint
@@ -433,7 +433,7 @@ ide_settings_get_int (IdeSettings *self,
   g_return_val_if_fail (IDE_IS_SETTINGS (self), 0);
   g_return_val_if_fail (key != NULL, 0);
 
-  return egg_settings_sandwich_get_int (self->settings_sandwich, key);
+  return dzl_settings_sandwich_get_int (self->settings_sandwich, key);
 }
 
 gchar *
@@ -443,7 +443,7 @@ ide_settings_get_string (IdeSettings *self,
   g_return_val_if_fail (IDE_IS_SETTINGS (self), NULL);
   g_return_val_if_fail (key != NULL, NULL);
 
-  return egg_settings_sandwich_get_string (self->settings_sandwich, key);
+  return dzl_settings_sandwich_get_string (self->settings_sandwich, key);
 }
 
 guint
@@ -453,7 +453,7 @@ ide_settings_get_uint (IdeSettings *self,
   g_return_val_if_fail (IDE_IS_SETTINGS (self), 0);
   g_return_val_if_fail (key != NULL, 0);
 
-  return egg_settings_sandwich_get_uint (self->settings_sandwich, key);
+  return dzl_settings_sandwich_get_uint (self->settings_sandwich, key);
 }
 
 void
@@ -464,7 +464,7 @@ ide_settings_set_boolean (IdeSettings *self,
   g_return_if_fail (IDE_IS_SETTINGS (self));
   g_return_if_fail (key != NULL);
 
-  egg_settings_sandwich_set_boolean (self->settings_sandwich, key, val);
+  dzl_settings_sandwich_set_boolean (self->settings_sandwich, key, val);
 }
 
 void
@@ -475,7 +475,7 @@ ide_settings_set_double (IdeSettings *self,
   g_return_if_fail (IDE_IS_SETTINGS (self));
   g_return_if_fail (key != NULL);
 
-  egg_settings_sandwich_set_double (self->settings_sandwich, key, val);
+  dzl_settings_sandwich_set_double (self->settings_sandwich, key, val);
 }
 
 void
@@ -486,7 +486,7 @@ ide_settings_set_int (IdeSettings *self,
   g_return_if_fail (IDE_IS_SETTINGS (self));
   g_return_if_fail (key != NULL);
 
-  egg_settings_sandwich_set_int (self->settings_sandwich, key, val);
+  dzl_settings_sandwich_set_int (self->settings_sandwich, key, val);
 }
 
 void
@@ -497,7 +497,7 @@ ide_settings_set_string (IdeSettings *self,
   g_return_if_fail (IDE_IS_SETTINGS (self));
   g_return_if_fail (key != NULL);
 
-  egg_settings_sandwich_set_string (self->settings_sandwich, key, val);
+  dzl_settings_sandwich_set_string (self->settings_sandwich, key, val);
 }
 
 void
@@ -508,7 +508,7 @@ ide_settings_set_uint (IdeSettings *self,
   g_return_if_fail (IDE_IS_SETTINGS (self));
   g_return_if_fail (key != NULL);
 
-  egg_settings_sandwich_set_uint (self->settings_sandwich, key, val);
+  dzl_settings_sandwich_set_uint (self->settings_sandwich, key, val);
 }
 
 void
@@ -523,7 +523,7 @@ ide_settings_bind (IdeSettings        *self,
   g_return_if_fail (G_IS_OBJECT (object));
   g_return_if_fail (property != NULL);
 
-  egg_settings_sandwich_bind (self->settings_sandwich, key, object, property, flags);
+  dzl_settings_sandwich_bind (self->settings_sandwich, key, object, property, flags);
 }
 
 /**
@@ -559,7 +559,7 @@ ide_settings_bind_with_mapping (IdeSettings             *self,
   g_return_if_fail (G_IS_OBJECT (object));
   g_return_if_fail (property != NULL);
 
-  egg_settings_sandwich_bind_with_mapping (self->settings_sandwich, key, object, property, flags,
+  dzl_settings_sandwich_bind_with_mapping (self->settings_sandwich, key, object, property, flags,
                                            get_mapping, set_mapping, user_data, destroy);
 }
 
@@ -570,5 +570,5 @@ ide_settings_unbind (IdeSettings *self,
   g_return_if_fail (IDE_IS_SETTINGS (self));
   g_return_if_fail (property != NULL);
 
-  egg_settings_sandwich_unbind (self->settings_sandwich, property);
+  dzl_settings_sandwich_unbind (self->settings_sandwich, property);
 }
diff --git a/libide/workbench/ide-layout-pane.c b/libide/workbench/ide-layout-pane.c
index 7fc0146..148de58 100644
--- a/libide/workbench/ide-layout-pane.c
+++ b/libide/workbench/ide-layout-pane.c
@@ -18,7 +18,7 @@
 
 #include <glib/gi18n.h>
 
-#include "egg-signal-group.h"
+#include "dazzle.h"
 
 #include "ide-layout-pane.h"
 #include "ide-workbench.h"
@@ -29,7 +29,7 @@ struct _IdeLayoutPane
 {
   DzlDockBinEdge    parent_instance;
 
-  EggSignalGroup   *toplevel_signals;
+  DzlSignalGroup   *toplevel_signals;
 
   DzlDockStack     *dock_stack;
 };
@@ -93,7 +93,7 @@ ide_layout_pane_hierarchy_changed (GtkWidget *widget,
   if (!GTK_IS_WINDOW (toplevel))
     toplevel = NULL;
 
-  egg_signal_group_set_target (self->toplevel_signals, toplevel);
+  dzl_signal_group_set_target (self->toplevel_signals, toplevel);
 }
 
 static void
@@ -128,8 +128,8 @@ ide_layout_pane_class_init (IdeLayoutPaneClass *klass)
 static void
 ide_layout_pane_init (IdeLayoutPane *self)
 {
-  self->toplevel_signals = egg_signal_group_new (GTK_TYPE_WINDOW);
-  egg_signal_group_connect_object (self->toplevel_signals,
+  self->toplevel_signals = dzl_signal_group_new (GTK_TYPE_WINDOW);
+  dzl_signal_group_connect_object (self->toplevel_signals,
                                    "set-focus",
                                    G_CALLBACK (workbench_focus_changed),
                                    self,
diff --git a/libide/workbench/ide-layout-tab.c b/libide/workbench/ide-layout-tab.c
index 110cfe4..6affe84 100644
--- a/libide/workbench/ide-layout-tab.c
+++ b/libide/workbench/ide-layout-tab.c
@@ -18,7 +18,7 @@
 
 #define G_LOG_DOMAIN "ide-layout-tab"
 
-#include <egg-priority-box.h>
+#include <dazzle.h>
 
 #include "ide-macros.h"
 
@@ -230,7 +230,7 @@ ide_layout_tab_class_init (IdeLayoutTabClass *klass)
   gtk_widget_class_bind_template_child (widget_class, IdeLayoutTab, title_label);
   gtk_widget_class_bind_template_child (widget_class, IdeLayoutTab, title_menu_button);
 
-  g_type_ensure (EGG_TYPE_PRIORITY_BOX);
+  g_type_ensure (DZL_TYPE_PRIORITY_BOX);
 }
 
 static void
diff --git a/libide/workbench/ide-layout-tab.ui b/libide/workbench/ide-layout-tab.ui
index fe1983e..bef33a7 100644
--- a/libide/workbench/ide-layout-tab.ui
+++ b/libide/workbench/ide-layout-tab.ui
@@ -103,7 +103,7 @@
           </object>
         </child>
         <child>
-          <object class="EggPriorityBox" id="controls_container">
+          <object class="DzlPriorityBox" id="controls_container">
             <property name="hexpand">false</property>
             <property name="visible">true</property>
           </object>
diff --git a/libide/workbench/ide-omni-bar.c b/libide/workbench/ide-omni-bar.c
index 6ee66a5..8c6e579 100644
--- a/libide/workbench/ide-omni-bar.c
+++ b/libide/workbench/ide-omni-bar.c
@@ -19,8 +19,7 @@
 #define G_LOG_DOMAIN "ide-omni-bar"
 
 #include <glib/gi18n.h>
-#include <egg-binding-group.h>
-#include <egg-signal-group.h>
+#include <dazzle.h>
 
 #include "ide-context.h"
 #include "ide-debug.h"
@@ -31,7 +30,6 @@
 #include "buildsystem/ide-configuration.h"
 #include "buildsystem/ide-configuration-manager.h"
 #include "projects/ide-project.h"
-#include "util/ide-glib.h"
 #include "util/ide-gtk.h"
 #include "vcs/ide-vcs.h"
 #include "workbench/ide-omni-bar.h"
@@ -63,31 +61,31 @@ struct _IdeOmniBar
    * This includes various label text and state tracking to determine
    * what actions we can apply and when.
    */
-  EggBindingGroup *build_manager_bindings;
+  DzlBindingGroup *build_manager_bindings;
 
   /*
    * This manages the signals we need for the IdeBuildManager instance.
    * This includes tracking build start/failure/finished.
    */
-  EggSignalGroup *build_manager_signals;
+  DzlSignalGroup *build_manager_signals;
 
   /*
    * This manages the bindings we need for the IdeConfigurationManager
    * such as the current configuration name.
    */
-  EggBindingGroup *config_manager_bindings;
+  DzlBindingGroup *config_manager_bindings;
 
   /*
    * This manages the signals we need from the IdeConfigurationManager
    * such as when the current configuration has been changed.
    */
-  EggSignalGroup *config_manager_signals;
+  DzlSignalGroup *config_manager_signals;
 
   /*
    * This manages the bindings we need for the IdeVcs such as the
    * current branch name.
    */
-  EggBindingGroup *vcs_bindings;
+  DzlBindingGroup *vcs_bindings;
 
   /*
    * This tracks the number of times we have shown the current build
@@ -347,11 +345,11 @@ ide_omni_bar_context_set (GtkWidget  *widget,
       config_manager = ide_context_get_configuration_manager (context);
     }
 
-  egg_binding_group_set_source (self->build_manager_bindings, build_manager);
-  egg_signal_group_set_target (self->build_manager_signals, build_manager);
-  egg_binding_group_set_source (self->config_manager_bindings, config_manager);
-  egg_signal_group_set_target (self->config_manager_signals, config_manager);
-  egg_binding_group_set_source (self->vcs_bindings, vcs);
+  dzl_binding_group_set_source (self->build_manager_bindings, build_manager);
+  dzl_signal_group_set_target (self->build_manager_signals, build_manager);
+  dzl_binding_group_set_source (self->config_manager_bindings, config_manager);
+  dzl_signal_group_set_target (self->config_manager_signals, config_manager);
+  dzl_binding_group_set_source (self->vcs_bindings, vcs);
 
   if (config_manager != NULL)
     {
@@ -664,27 +662,27 @@ ide_omni_bar_init (IdeOmniBar *self)
    * IdeBuildManager bindings and signals.
    */
 
-  self->build_manager_bindings = egg_binding_group_new ();
+  self->build_manager_bindings = dzl_binding_group_new ();
 
-  egg_binding_group_bind (self->build_manager_bindings,
+  dzl_binding_group_bind (self->build_manager_bindings,
                           "busy",
                           self->cancel_button,
                           "visible",
                           G_BINDING_SYNC_CREATE);
 
-  egg_binding_group_bind (self->build_manager_bindings,
+  dzl_binding_group_bind (self->build_manager_bindings,
                           "busy",
                           self->build_button,
                           "visible",
                           G_BINDING_SYNC_CREATE | G_BINDING_INVERT_BOOLEAN);
 
-  egg_binding_group_bind (self->build_manager_bindings,
+  dzl_binding_group_bind (self->build_manager_bindings,
                           "has-diagnostics",
                           self->build_result_diagnostics_image,
                           "visible",
                           G_BINDING_SYNC_CREATE);
 
-  egg_binding_group_bind_full (self->build_manager_bindings,
+  dzl_binding_group_bind_full (self->build_manager_bindings,
                                "last-build-time",
                                self->popover_last_build_time_label,
                                "label",
@@ -694,41 +692,41 @@ ide_omni_bar_init (IdeOmniBar *self)
                                NULL,
                                NULL);
 
-  egg_binding_group_bind (self->build_manager_bindings, "message",
+  dzl_binding_group_bind (self->build_manager_bindings, "message",
                           self->build_result_mode_label, "label",
                           G_BINDING_SYNC_CREATE);
 
-  egg_binding_group_bind (self->build_manager_bindings,
+  dzl_binding_group_bind (self->build_manager_bindings,
                           "message",
                           self->popover_build_mode_label,
                           "label",
                           G_BINDING_SYNC_CREATE);
 
-  egg_binding_group_bind_full (self->build_manager_bindings,
+  dzl_binding_group_bind_full (self->build_manager_bindings,
                                "running-time",
                                self->popover_build_running_time_label,
                                "label",
                                G_BINDING_SYNC_CREATE,
-                               ide_g_time_span_to_label_mapping,
+                               dzl_g_time_span_to_label_mapping,
                                NULL,
                                NULL,
                                NULL);
 
-  self->build_manager_signals = egg_signal_group_new (IDE_TYPE_BUILD_MANAGER);
+  self->build_manager_signals = dzl_signal_group_new (IDE_TYPE_BUILD_MANAGER);
 
-  egg_signal_group_connect_object (self->build_manager_signals,
+  dzl_signal_group_connect_object (self->build_manager_signals,
                                    "build-started",
                                    G_CALLBACK (ide_omni_bar__build_manager__build_started),
                                    self,
                                    G_CONNECT_SWAPPED);
 
-  egg_signal_group_connect_object (self->build_manager_signals,
+  dzl_signal_group_connect_object (self->build_manager_signals,
                                    "build-failed",
                                    G_CALLBACK (ide_omni_bar__build_manager__build_failed),
                                    self,
                                    G_CONNECT_SWAPPED);
 
-  egg_signal_group_connect_object (self->build_manager_signals,
+  dzl_signal_group_connect_object (self->build_manager_signals,
                                    "build-finished",
                                    G_CALLBACK (ide_omni_bar__build_manager__build_finished),
                                    self,
@@ -738,21 +736,21 @@ ide_omni_bar_init (IdeOmniBar *self)
    * IdeVcs bindings and signals.
    */
 
-  self->vcs_bindings = egg_binding_group_new ();
+  self->vcs_bindings = dzl_binding_group_new ();
 
-  egg_binding_group_bind (self->vcs_bindings,
+  dzl_binding_group_bind (self->vcs_bindings,
                           "branch-name",
                           self->branch_label,
                           "label",
                           G_BINDING_SYNC_CREATE);
 
-  egg_binding_group_bind (self->vcs_bindings,
+  dzl_binding_group_bind (self->vcs_bindings,
                           "branch-name",
                           self->popover_branch_label,
                           "label",
                           G_BINDING_SYNC_CREATE);
 
-  egg_binding_group_bind_full (self->vcs_bindings,
+  dzl_binding_group_bind_full (self->vcs_bindings,
                                "working-directory",
                                self->popover_project_label,
                                "label",
@@ -766,17 +764,17 @@ ide_omni_bar_init (IdeOmniBar *self)
    * IdeConfigurationManager bindings and signals.
    */
 
-  self->config_manager_bindings = egg_binding_group_new ();
+  self->config_manager_bindings = dzl_binding_group_new ();
 
-  egg_binding_group_bind (self->config_manager_bindings,
+  dzl_binding_group_bind (self->config_manager_bindings,
                           "current-display-name",
                           self->config_name_label,
                           "label",
                           G_BINDING_SYNC_CREATE);
 
-  self->config_manager_signals = egg_signal_group_new (IDE_TYPE_CONFIGURATION_MANAGER);
+  self->config_manager_signals = dzl_signal_group_new (IDE_TYPE_CONFIGURATION_MANAGER);
 
-  egg_signal_group_connect_object (self->config_manager_signals,
+  dzl_signal_group_connect_object (self->config_manager_signals,
                                    "notify::current",
                                    G_CALLBACK (ide_omni_bar__config_manager__notify_current),
                                    self,
diff --git a/libide/workbench/ide-omni-bar.ui b/libide/workbench/ide-omni-bar.ui
index 4597fb6..f743b77 100644
--- a/libide/workbench/ide-omni-bar.ui
+++ b/libide/workbench/ide-omni-bar.ui
@@ -5,7 +5,7 @@
       <class name="linked"/>
     </style>
     <child type="center">
-      <object class="EggEntryBox" id="frame">
+      <object class="DzlEntryBox" id="frame">
         <property name="max-width-chars">50</property>
         <property name="visible">true</property>
         <child>
diff --git a/libide/workbench/ide-workbench-header-bar.c b/libide/workbench/ide-workbench-header-bar.c
index 79d6c19..f6a569d 100644
--- a/libide/workbench/ide-workbench-header-bar.c
+++ b/libide/workbench/ide-workbench-header-bar.c
@@ -18,7 +18,7 @@
 
 #define G_LOG_DOMAIN "ide-workbench-header-bar"
 
-#include <egg-priority-box.h>
+#include <dazzle.h>
 
 #include "application/ide-application.h"
 #include "search/ide-omni-search-entry.h"
@@ -30,8 +30,8 @@
 typedef struct
 {
   GtkMenuButton      *menu_button;
-  EggPriorityBox     *right_box;
-  EggPriorityBox     *left_box;
+  DzlPriorityBox     *right_box;
+  DzlPriorityBox     *left_box;
   IdeOmniBar         *omni_bar;
   IdeOmniSearchEntry *search_entry;
 } IdeWorkbenchHeaderBarPrivate;
diff --git a/libide/workbench/ide-workbench-header-bar.ui b/libide/workbench/ide-workbench-header-bar.ui
index 20cc662..1f83171 100644
--- a/libide/workbench/ide-workbench-header-bar.ui
+++ b/libide/workbench/ide-workbench-header-bar.ui
@@ -4,7 +4,7 @@
   <template class="IdeWorkbenchHeaderBar" parent="GtkHeaderBar">
     <property name="show-close-button">true</property>
     <child>
-      <object class="EggPriorityBox" id="left_box">
+      <object class="DzlPriorityBox" id="left_box">
         <property name="hexpand">true</property>
         <property name="spacing">30</property>
         <property name="visible">true</property>
@@ -20,7 +20,7 @@
       </object>
     </child>
     <child>
-      <object class="EggPriorityBox" id="right_box">
+      <object class="DzlPriorityBox" id="right_box">
         <property name="hexpand">true</property>
         <property name="spacing">30</property>
         <property name="visible">true</property>
diff --git a/libide/workbench/ide-workbench.ui b/libide/workbench/ide-workbench.ui
index 876e80d..4fcbd49 100644
--- a/libide/workbench/ide-workbench.ui
+++ b/libide/workbench/ide-workbench.ui
@@ -12,7 +12,7 @@
           <object class="IdeWorkbenchHeaderBar" id="header_bar">
             <property name="visible">true</property>
             <child internal-child="left">
-              <object class="EggPriorityBox">
+              <object class="DzlPriorityBox">
                 <child>
                   <object class="IdePerspectiveMenuButton" id="perspective_menu_button">
                     <property name="focus-on-click">false</property>
diff --git a/libide/workers/ide-worker-manager.c b/libide/workers/ide-worker-manager.c
index 68deebd..c3b674c 100644
--- a/libide/workers/ide-worker-manager.c
+++ b/libide/workers/ide-worker-manager.c
@@ -20,7 +20,7 @@
 
 #include "config.h"
 
-#include <egg-counter.h>
+#include <dazzle.h>
 #include <gio/gio.h>
 #include <gio/gunixsocketaddress.h>
 #include <glib/gi18n.h>
@@ -43,7 +43,7 @@ struct _IdeWorkerManager
 
 G_DEFINE_TYPE (IdeWorkerManager, ide_worker_manager, G_TYPE_OBJECT)
 
-EGG_DEFINE_COUNTER (instances, "IdeWorkerManager", "Instances", "Number of IdeWorkerManager instances")
+DZL_DEFINE_COUNTER (instances, "IdeWorkerManager", "Instances", "Number of IdeWorkerManager instances")
 
 static gboolean
 ide_worker_manager_new_connection_cb (IdeWorkerManager *self,
@@ -165,7 +165,7 @@ ide_worker_manager_finalize (GObject *object)
 
   G_OBJECT_CLASS (ide_worker_manager_parent_class)->finalize (object);
 
-  EGG_COUNTER_DEC (instances);
+  DZL_COUNTER_DEC (instances);
 }
 
 static void
@@ -180,7 +180,7 @@ ide_worker_manager_class_init (IdeWorkerManagerClass *klass)
 static void
 ide_worker_manager_init (IdeWorkerManager *self)
 {
-  EGG_COUNTER_INC (instances);
+  DZL_COUNTER_INC (instances);
 
   self->plugin_name_to_worker =
     g_hash_table_new_full (g_str_hash,
diff --git a/libide/workers/ide-worker-process.c b/libide/workers/ide-worker-process.c
index e6885c0..5cf5863 100644
--- a/libide/workers/ide-worker-process.c
+++ b/libide/workers/ide-worker-process.c
@@ -18,7 +18,7 @@
 
 #define G_LOG_DOMAIN "ide-worker-process"
 
-#include <egg-counter.h>
+#include <dazzle.h>
 #include <libpeas/peas.h>
 
 #include "ide-debug.h"
@@ -44,7 +44,7 @@ struct _IdeWorkerProcess
 
 G_DEFINE_TYPE (IdeWorkerProcess, ide_worker_process, G_TYPE_OBJECT)
 
-EGG_DEFINE_COUNTER (instances, "IdeWorkerProcess", "Instances", "Number of IdeWorkerProcess instances")
+DZL_DEFINE_COUNTER (instances, "IdeWorkerProcess", "Instances", "Number of IdeWorkerProcess instances")
 
 enum {
   PROP_0,
@@ -240,7 +240,7 @@ ide_worker_process_finalize (GObject *object)
 
   G_OBJECT_CLASS (ide_worker_process_parent_class)->finalize (object);
 
-  EGG_COUNTER_DEC (instances);
+  DZL_COUNTER_DEC (instances);
 }
 
 static void
@@ -334,7 +334,7 @@ ide_worker_process_class_init (IdeWorkerProcessClass *klass)
 static void
 ide_worker_process_init (IdeWorkerProcess *self)
 {
-  EGG_COUNTER_INC (instances);
+  DZL_COUNTER_INC (instances);
 }
 
 gboolean
diff --git a/meson.build b/meson.build
index 8956292..641d817 100644
--- a/meson.build
+++ b/meson.build
@@ -174,7 +174,6 @@ subdir('data/fonts')
 subdir('data/gsettings')
 subdir('data/icons')
 subdir('data/style-schemes')
-subdir('contrib/egg')
 subdir('contrib/gd')
 subdir('contrib/jsonrpc-glib')
 subdir('contrib/libeditorconfig')
@@ -188,7 +187,6 @@ subdir('libide')
 subdir('plugins')
 subdir('po')
 subdir('tests')
-subdir('tools')
 
 exe_link_args = [
   '-pie',
diff --git a/plugins/autotools/ide-makecache-target.c b/plugins/autotools/ide-makecache-target.c
index 4fdfe38..8f2fbf7 100644
--- a/plugins/autotools/ide-makecache-target.c
+++ b/plugins/autotools/ide-makecache-target.c
@@ -18,14 +18,14 @@
 
 #define G_LOG_DOMAIN "ide-makecache-target"
 
-#include "egg-counter.h"
+#include <dazzle.h>
 
 #include "ide-makecache-target.h"
 
 G_DEFINE_BOXED_TYPE (IdeMakecacheTarget, ide_makecache_target,
                      ide_makecache_target_ref, ide_makecache_target_unref)
 
-EGG_DEFINE_COUNTER (instances, "IdeMakecacheTarget", "Instances",
+DZL_DEFINE_COUNTER (instances, "IdeMakecacheTarget", "Instances",
                     "Number of IdeMakecacheTarget instances.")
 
 struct _IdeMakecacheTarget
@@ -48,7 +48,7 @@ ide_makecache_target_unref (IdeMakecacheTarget *self)
       g_free (self->target);
       g_slice_free (IdeMakecacheTarget, self);
 
-      EGG_COUNTER_DEC (instances);
+      DZL_COUNTER_DEC (instances);
     }
 }
 
@@ -79,7 +79,7 @@ ide_makecache_target_new (const gchar *subdir,
   self->subdir = g_strdup (subdir);
   self->target = g_strdup (target);
 
-  EGG_COUNTER_INC (instances);
+  DZL_COUNTER_INC (instances);
 
   return self;
 }
diff --git a/plugins/autotools/ide-makecache.c b/plugins/autotools/ide-makecache.c
index aecd7df..36f14b8 100644
--- a/plugins/autotools/ide-makecache.c
+++ b/plugins/autotools/ide-makecache.c
@@ -21,10 +21,8 @@
 
 #include "config.h"
 
-#include "egg-counter.h"
-#include "egg-task-cache.h"
-
 #include <ctype.h>
+#include <dazzle.h>
 #include <errno.h>
 #include <fcntl.h>
 #include <gio/gio.h>
@@ -49,8 +47,8 @@ struct _IdeMakecache
 
   GFile        *parent;
   GMappedFile  *mapped;
-  EggTaskCache *file_targets_cache;
-  EggTaskCache *file_flags_cache;
+  DzlTaskCache *file_targets_cache;
+  DzlTaskCache *file_flags_cache;
   GPtrArray    *build_targets;
   IdeRuntime   *runtime;
   const gchar  *make_name;
@@ -72,7 +70,7 @@ typedef struct
 
 G_DEFINE_TYPE (IdeMakecache, ide_makecache, IDE_TYPE_OBJECT)
 
-EGG_DEFINE_COUNTER (instances, "IdeMakecache", "Instances", "The number of IdeMakecache")
+DZL_DEFINE_COUNTER (instances, "IdeMakecache", "Instances", "The number of IdeMakecache")
 
 static void
 file_flags_lookup_free (gpointer data)
@@ -617,7 +615,7 @@ ide_makecache_get_file_flags_worker (GTask        *task,
 
   IDE_ENTRY;
 
-  g_assert (EGG_IS_TASK_CACHE (source_object));
+  g_assert (DZL_IS_TASK_CACHE (source_object));
   g_assert (!cancellable || G_IS_CANCELLABLE (cancellable));
   g_assert (G_IS_TASK (task));
   g_assert (lookup != NULL);
@@ -806,7 +804,7 @@ ide_makecache_get_file_targets_worker (GTask        *task,
 
   IDE_ENTRY;
 
-  g_assert (EGG_IS_TASK_CACHE (source_object));
+  g_assert (DZL_IS_TASK_CACHE (source_object));
   g_assert (G_IS_TASK (task));
   g_assert (lookup != NULL);
   g_assert (lookup->mapped != NULL);
@@ -878,7 +876,7 @@ ide_makecache_get_file_targets_worker (GTask        *task,
 }
 
 static void
-ide_makecache_get_file_targets_dispatch (EggTaskCache  *cache,
+ide_makecache_get_file_targets_dispatch (DzlTaskCache  *cache,
                                          gconstpointer  key,
                                          GTask         *task,
                                          gpointer       user_data)
@@ -887,7 +885,7 @@ ide_makecache_get_file_targets_dispatch (EggTaskCache  *cache,
   FileTargetsLookup *lookup;
   GFile *file = (GFile *)key;
 
-  g_assert (EGG_IS_TASK_CACHE (cache));
+  g_assert (DZL_IS_TASK_CACHE (cache));
   g_assert (IDE_IS_MAKECACHE (self));
   g_assert (G_IS_FILE (file));
   g_assert (G_IS_TASK (task));
@@ -970,7 +968,7 @@ ide_makecache_get_file_flags__get_targets_cb (GObject      *object,
 }
 
 static void
-ide_makecache_get_file_flags_dispatch (EggTaskCache  *cache,
+ide_makecache_get_file_flags_dispatch (DzlTaskCache  *cache,
                                        gconstpointer  key,
                                        GTask         *task,
                                        gpointer       user_data)
@@ -1028,7 +1026,7 @@ ide_makecache_finalize (GObject *object)
 
   G_OBJECT_CLASS (ide_makecache_parent_class)->finalize (object);
 
-  EGG_COUNTER_DEC (instances);
+  DZL_COUNTER_DEC (instances);
 }
 
 static void
@@ -1042,11 +1040,11 @@ ide_makecache_class_init (IdeMakecacheClass *klass)
 static void
 ide_makecache_init (IdeMakecache *self)
 {
-  EGG_COUNTER_INC (instances);
+  DZL_COUNTER_INC (instances);
 
   self->make_name = "make";
 
-  self->file_targets_cache = egg_task_cache_new ((GHashFunc)g_file_hash,
+  self->file_targets_cache = dzl_task_cache_new ((GHashFunc)g_file_hash,
                                                  (GEqualFunc)g_file_equal,
                                                  g_object_ref,
                                                  g_object_unref,
@@ -1057,9 +1055,9 @@ ide_makecache_init (IdeMakecache *self)
                                                  self,
                                                  NULL);
 
-  egg_task_cache_set_name (self->file_targets_cache, "makecache: file-targets-cache");
+  dzl_task_cache_set_name (self->file_targets_cache, "makecache: file-targets-cache");
 
-  self->file_flags_cache = egg_task_cache_new ((GHashFunc)g_file_hash,
+  self->file_flags_cache = dzl_task_cache_new ((GHashFunc)g_file_hash,
                                                (GEqualFunc)g_file_equal,
                                                g_object_ref,
                                                g_object_unref,
@@ -1070,7 +1068,7 @@ ide_makecache_init (IdeMakecache *self)
                                                self,
                                                NULL);
 
-  egg_task_cache_set_name (self->file_flags_cache, "makecache: file-flags-cache");
+  dzl_task_cache_set_name (self->file_flags_cache, "makecache: file-flags-cache");
 }
 
 static void
@@ -1198,12 +1196,12 @@ ide_makecache_get_file_targets__task_cache_get_cb (GObject      *object,
                                                    GAsyncResult *result,
                                                    gpointer      user_data)
 {
-  EggTaskCache *cache = (EggTaskCache *)object;
+  DzlTaskCache *cache = (DzlTaskCache *)object;
   g_autoptr(GTask) task = user_data;
   GError *error = NULL;
   GPtrArray *ret;
 
-  if (!(ret = egg_task_cache_get_finish (cache, result, &error)))
+  if (!(ret = dzl_task_cache_get_finish (cache, result, &error)))
     {
       g_assert (error != NULL);
       g_task_return_error (task, error);
@@ -1229,7 +1227,7 @@ ide_makecache_get_file_targets_async (IdeMakecache        *self,
 
   task = g_task_new (self, cancellable, callback, user_data);
 
-  egg_task_cache_get_async (self->file_targets_cache,
+  dzl_task_cache_get_async (self->file_targets_cache,
                             file,
                             FALSE,
                             cancellable,
@@ -1269,12 +1267,12 @@ ide_makecache_get_file_flags__task_cache_get_cb (GObject      *object,
                                                  GAsyncResult *result,
                                                  gpointer      user_data)
 {
-  EggTaskCache *cache = (EggTaskCache *)object;
+  DzlTaskCache *cache = (DzlTaskCache *)object;
   g_autoptr(GTask) task = user_data;
   GError *error = NULL;
   gchar **ret;
 
-  if (!(ret = egg_task_cache_get_finish (cache, result, &error)))
+  if (!(ret = dzl_task_cache_get_finish (cache, result, &error)))
     {
       g_assert (error != NULL);
       g_task_return_error (task, error);
@@ -1300,7 +1298,7 @@ ide_makecache_get_file_flags_async (IdeMakecache        *self,
 
   task = g_task_new (self, cancellable, callback, user_data);
 
-  egg_task_cache_get_async (self->file_flags_cache,
+  dzl_task_cache_get_async (self->file_flags_cache,
                             file,
                             FALSE,
                             cancellable,
diff --git a/plugins/clang/ide-clang-service.c b/plugins/clang/ide-clang-service.c
index b94a3aa..0988deb 100644
--- a/plugins/clang/ide-clang-service.c
+++ b/plugins/clang/ide-clang-service.c
@@ -19,8 +19,7 @@
 #define G_LOG_DOMAIN "gb-clang-service"
 
 #include <clang-c/Index.h>
-#include <egg-counter.h>
-#include <egg-task-cache.h>
+#include <dazzle.h>
 #include <glib/gi18n.h>
 #include <ide.h>
 
@@ -36,7 +35,7 @@ struct _IdeClangService
 
   CXIndex       index;
   GCancellable *cancellable;
-  EggTaskCache *units_cache;
+  DzlTaskCache *units_cache;
 };
 
 typedef struct
@@ -62,7 +61,7 @@ static void service_iface_init (IdeServiceInterface *iface);
 G_DEFINE_TYPE_EXTENDED (IdeClangService, ide_clang_service, IDE_TYPE_OBJECT, 0,
                         G_IMPLEMENT_INTERFACE (IDE_TYPE_SERVICE, service_iface_init))
 
-EGG_DEFINE_COUNTER (ParseAttempts,
+DZL_DEFINE_COUNTER (ParseAttempts,
                     "Clang",
                     "Total Parse Attempts",
                     "Total number of attempts to create a translation unit.")
@@ -303,7 +302,7 @@ ide_clang_service_parse_worker (GTask        *task,
     g_ptr_array_add (built_argv, request->command_line_args[i]);
   g_ptr_array_add (built_argv, NULL);
 
-  EGG_COUNTER_INC (ParseAttempts);
+  DZL_COUNTER_INC (ParseAttempts);
   code = clang_parseTranslationUnit2 (request->index,
                                       request->source_filename,
                                       (const gchar * const *)built_argv->pdata,
@@ -448,7 +447,7 @@ ide_clang_service_unit_completed_cb (GObject      *object,
 }
 
 static void
-ide_clang_service_get_translation_unit_worker (EggTaskCache  *cache,
+ide_clang_service_get_translation_unit_worker (DzlTaskCache  *cache,
                                                gconstpointer  key,
                                                GTask         *task,
                                                gpointer       user_data)
@@ -525,14 +524,14 @@ ide_clang_service_get_translation_unit_cb (GObject      *object,
                                            GAsyncResult *result,
                                            gpointer      user_data)
 {
-  EggTaskCache *cache = (EggTaskCache *)object;
+  DzlTaskCache *cache = (DzlTaskCache *)object;
   g_autoptr(IdeClangTranslationUnit) ret = NULL;
   g_autoptr(GTask) task = user_data;
   GError *error = NULL;
 
-  g_assert (EGG_IS_TASK_CACHE (cache));
+  g_assert (DZL_IS_TASK_CACHE (cache));
 
-  if (!(ret = egg_task_cache_get_finish (cache, result, &error)))
+  if (!(ret = dzl_task_cache_get_finish (cache, result, &error)))
     g_task_return_error (task, error);
   else
     g_task_return_pointer (task, g_steal_pointer (&ret), g_object_unref);
@@ -592,14 +591,14 @@ ide_clang_service_get_translation_unit_async (IdeClangService     *self,
   /*
    * If we have a cached unit, and it is new enough, then re-use it.
    */
-  if ((cached = egg_task_cache_peek (self->units_cache, file)) &&
+  if ((cached = dzl_task_cache_peek (self->units_cache, file)) &&
       (ide_clang_translation_unit_get_serial (cached) >= min_serial))
     {
       g_task_return_pointer (task, g_object_ref (cached), g_object_unref);
       return;
     }
 
-  egg_task_cache_get_async (self->units_cache,
+  dzl_task_cache_get_async (self->units_cache,
                             file,
                             TRUE,
                             cancellable,
@@ -637,7 +636,7 @@ ide_clang_service_start (IdeService *service)
 
   self->cancellable = g_cancellable_new ();
 
-  self->units_cache = egg_task_cache_new ((GHashFunc)ide_file_hash,
+  self->units_cache = dzl_task_cache_new ((GHashFunc)ide_file_hash,
                                           (GEqualFunc)ide_file_equal,
                                           g_object_ref,
                                           g_object_unref,
@@ -648,7 +647,7 @@ ide_clang_service_start (IdeService *service)
                                           g_object_ref (self),
                                           g_object_unref);
 
-  egg_task_cache_set_name (self->units_cache, "clang translation-unit cache");
+  dzl_task_cache_set_name (self->units_cache, "clang translation-unit cache");
 
   self->index = clang_createIndex (0, 0);
   clang_CXIndex_setGlobalOptions (self->index,
@@ -731,7 +730,7 @@ ide_clang_service_get_cached_translation_unit (IdeClangService *self,
   g_return_val_if_fail (IDE_IS_CLANG_SERVICE (self), NULL);
   g_return_val_if_fail (IDE_IS_FILE (file), NULL);
 
-  cached = egg_task_cache_peek (self->units_cache, file);
+  cached = dzl_task_cache_peek (self->units_cache, file);
 
   return cached ? g_object_ref (cached) : NULL;
 }
diff --git a/plugins/clang/ide-clang-translation-unit.c b/plugins/clang/ide-clang-translation-unit.c
index a6c5c39..9a973d0 100644
--- a/plugins/clang/ide-clang-translation-unit.c
+++ b/plugins/clang/ide-clang-translation-unit.c
@@ -19,7 +19,7 @@
 #define G_LOG_DOMAIN "clang-translation-unit"
 
 #include <clang-c/Index.h>
-#include <egg-counter.h>
+#include <dazzle.h>
 #include <glib/gi18n.h>
 #include <ide.h>
 
@@ -57,7 +57,7 @@ typedef struct
 } GetSymbolsState;
 
 G_DEFINE_TYPE (IdeClangTranslationUnit, ide_clang_translation_unit, IDE_TYPE_OBJECT)
-EGG_DEFINE_COUNTER (instances, "Clang", "Translation Units", "Number of clang translation units")
+DZL_DEFINE_COUNTER (instances, "Clang", "Translation Units", "Number of clang translation units")
 
 enum {
   PROP_0,
@@ -491,7 +491,7 @@ ide_clang_translation_unit_finalize (GObject *object)
 
   G_OBJECT_CLASS (ide_clang_translation_unit_parent_class)->finalize (object);
 
-  EGG_COUNTER_DEC (instances);
+  DZL_COUNTER_DEC (instances);
 
   IDE_EXIT;
 }
@@ -598,7 +598,7 @@ ide_clang_translation_unit_class_init (IdeClangTranslationUnitClass *klass)
 static void
 ide_clang_translation_unit_init (IdeClangTranslationUnit *self)
 {
-  EGG_COUNTER_INC (instances);
+  DZL_COUNTER_INC (instances);
 
   self->diagnostics = g_hash_table_new_full ((GHashFunc)g_file_hash,
                                              (GEqualFunc)g_file_equal,
diff --git a/plugins/create-project/gbp-create-project-widget.c 
b/plugins/create-project/gbp-create-project-widget.c
index e8f54a2..5784a92 100644
--- a/plugins/create-project/gbp-create-project-widget.c
+++ b/plugins/create-project/gbp-create-project-widget.c
@@ -18,8 +18,7 @@
 
 #define G_LOG_DOMAIN "gbp-create-project-widget"
 
-#include <egg-file-chooser-entry.h>
-#include <egg-radio-box.h>
+#include <dazzle.h>
 #include <glib/gi18n.h>
 #include <ide.h>
 #include <libpeas/peas.h>
@@ -33,11 +32,11 @@ struct _GbpCreateProjectWidget
   GtkBin                parent;
 
   GtkEntry             *project_name_entry;
-  EggFileChooserEntry  *project_location_entry;
-  EggRadioBox          *project_language_chooser;
+  DzlFileChooserEntry  *project_location_entry;
+  DzlRadioBox          *project_language_chooser;
   GtkFlowBox           *project_template_chooser;
   GtkSwitch            *versioning_switch;
-  EggRadioBox          *license_chooser;
+  DzlRadioBox          *license_chooser;
 
   guint                 invalid_directory : 1;
 };
@@ -92,7 +91,7 @@ gbp_create_project_widget_add_languages (GbpCreateProjectWidget *self,
   keys = (const gchar **)g_hash_table_get_keys_as_array (languages, &len);
   qsort (keys, len, sizeof (gchar *), sort_by_name);
   for (i = 0; keys [i]; i++)
-    egg_radio_box_add_item (self->project_language_chooser, keys [i], keys [i]);
+    dzl_radio_box_add_item (self->project_language_chooser, keys [i], keys [i]);
   g_free (keys);
 }
 
@@ -129,7 +128,7 @@ directory_exists (GbpCreateProjectWidget *self,
   g_assert (GBP_IS_CREATE_PROJECT_WIDGET (self));
   g_assert (name != NULL);
 
-  directory = egg_file_chooser_entry_get_file (self->project_location_entry);
+  directory = dzl_file_chooser_entry_get_file (self->project_location_entry);
   child = g_file_get_child (directory, name);
 
   self->invalid_directory = g_file_query_exists (child, NULL);
@@ -190,7 +189,7 @@ update_language_sensitivity (GtkWidget *widget,
   g_assert (GBP_IS_CREATE_PROJECT_WIDGET (self));
   g_assert (GTK_IS_FLOW_BOX_CHILD (widget));
 
-  language = egg_radio_box_get_active_id (self->project_language_chooser);
+  language = dzl_radio_box_get_active_id (self->project_language_chooser);
 
   if (ide_str_empty0 (language))
     goto apply;
@@ -224,10 +223,10 @@ gbp_create_project_widget_refilter (GbpCreateProjectWidget *self)
 
 static void
 gbp_create_project_widget_language_changed (GbpCreateProjectWidget *self,
-                                            EggRadioBox            *language_chooser)
+                                            DzlRadioBox            *language_chooser)
 {
   g_assert (GBP_IS_CREATE_PROJECT_WIDGET (self));
-  g_assert (EGG_IS_RADIO_BOX (language_chooser));
+  g_assert (DZL_IS_RADIO_BOX (language_chooser));
 
   gbp_create_project_widget_refilter (self);
 
@@ -302,7 +301,7 @@ gbp_create_project_widget_get_directory (GbpCreateProjectWidget *self)
 {
   g_assert (GBP_IS_CREATE_PROJECT_WIDGET (self));
 
-  return egg_file_chooser_entry_get_file (self->project_location_entry);
+  return dzl_file_chooser_entry_get_file (self->project_location_entry);
 }
 
 static void
@@ -317,7 +316,7 @@ gbp_create_project_widget_set_directory (GbpCreateProjectWidget *self,
   resolved = ide_path_expand (path);
   file = g_file_new_for_path (resolved);
 
-  egg_file_chooser_entry_set_file (self->project_location_entry, file);
+  dzl_file_chooser_entry_set_file (self->project_location_entry, file);
 }
 
 static void
@@ -336,7 +335,7 @@ gbp_create_project_widget_constructed (GObject *object)
 
   G_OBJECT_CLASS (gbp_create_project_widget_parent_class)->constructed (object);
 
-  egg_radio_box_set_active_id (self->project_language_chooser, "C");
+  dzl_radio_box_set_active_id (self->project_language_chooser, "C");
 }
 
 static void
@@ -365,7 +364,7 @@ gbp_create_project_widget_is_ready (GbpCreateProjectWidget *self)
   if (ide_str_empty0 (project_name) || !validate_name (project_name))
     return FALSE;
 
-  language = egg_radio_box_get_active_id (self->project_language_chooser);
+  language = dzl_radio_box_get_active_id (self->project_language_chooser);
 
   if (ide_str_empty0 (language))
     return FALSE;
@@ -625,12 +624,12 @@ gbp_create_project_widget_create_async (GbpCreateProjectWidget *self,
                        g_strdup ("path"),
                        g_variant_ref_sink (g_variant_new_string (path)));
 
-  language = egg_radio_box_get_active_id (self->project_language_chooser);
+  language = dzl_radio_box_get_active_id (self->project_language_chooser);
   g_hash_table_insert (params,
                        g_strdup ("language"),
                        g_variant_ref_sink (g_variant_new_string (language)));
 
-  license_id = egg_radio_box_get_active_id (EGG_RADIO_BOX (self->license_chooser));
+  license_id = dzl_radio_box_get_active_id (DZL_RADIO_BOX (self->license_chooser));
 
   if (!g_str_equal (license_id, "none"))
     {
diff --git a/plugins/create-project/gbp-create-project-widget.ui 
b/plugins/create-project/gbp-create-project-widget.ui
index e7d3c25..edc2864 100644
--- a/plugins/create-project/gbp-create-project-widget.ui
+++ b/plugins/create-project/gbp-create-project-widget.ui
@@ -17,7 +17,7 @@
             <property name="valign">start</property>
             <property name="visible">true</property>
             <child>
-              <object class="EggThreeGrid" id="three_grid">
+              <object class="DzlThreeGrid" id="three_grid">
                 <property name="column-spacing">12</property>
                 <property name="row-spacing">24</property>
                 <property name="visible">true</property>
@@ -81,7 +81,7 @@
                   </packing>
                 </child>
                 <child>
-                  <object class="EggFileChooserEntry" id="project_location_entry">
+                  <object class="DzlFileChooserEntry" id="project_location_entry">
                     <property name="action">select-folder</property>
                     <property name="title" translatable="yes">Select Project Directory</property>
                     <property name="hexpand">true</property>
@@ -105,7 +105,7 @@
                   </packing>
                 </child>
                 <child>
-                  <object class="EggRadioBox" id="project_language_chooser">
+                  <object class="DzlRadioBox" id="project_language_chooser">
                     <property name="expand">true</property>
                     <property name="visible">true</property>
                   </object>
@@ -128,7 +128,7 @@
                   </packing>
                 </child>
                 <child>
-                  <object class="EggRadioBox" id="license_chooser">
+                  <object class="DzlRadioBox" id="license_chooser">
                     <property name="active-id">gpl_3</property>
                     <property name="expand">true</property>
                     <property name="visible">true</property>
diff --git a/plugins/ctags/ide-ctags-completion-item.c b/plugins/ctags/ide-ctags-completion-item.c
index a928533..009aade 100644
--- a/plugins/ctags/ide-ctags-completion-item.c
+++ b/plugins/ctags/ide-ctags-completion-item.c
@@ -18,7 +18,7 @@
 
 #define G_LOG_DOMAIN "ide-ctags-completion-item"
 
-#include <egg-counter.h>
+#include <dazzle.h>
 #include <glib/gi18n.h>
 
 #include "ide-ctags-completion-item.h"
@@ -41,7 +41,7 @@ G_DEFINE_DYNAMIC_TYPE_EXTENDED (IdeCtagsCompletionItem,
                                 0,
                                 G_IMPLEMENT_INTERFACE (GTK_SOURCE_TYPE_COMPLETION_PROPOSAL, 
proposal_iface_init))
 
-EGG_DEFINE_COUNTER (instances, "IdeCtagsCompletionItem", "Instances", "Number of IdeCtagsCompletionItems")
+DZL_DEFINE_COUNTER (instances, "IdeCtagsCompletionItem", "Instances", "Number of IdeCtagsCompletionItems")
 
 IdeCtagsCompletionItem *
 ide_ctags_completion_item_new (IdeCtagsCompletionProvider *provider,
@@ -86,7 +86,7 @@ ide_ctags_completion_item_finalize (GObject *object)
 {
   G_OBJECT_CLASS (ide_ctags_completion_item_parent_class)->finalize (object);
 
-  EGG_COUNTER_DEC (instances);
+  DZL_COUNTER_DEC (instances);
 }
 
 static void
@@ -108,7 +108,7 @@ ide_ctags_completion_item_class_finalize (IdeCtagsCompletionItemClass *klass)
 static void
 ide_ctags_completion_item_init (IdeCtagsCompletionItem *self)
 {
-  EGG_COUNTER_INC (instances);
+  DZL_COUNTER_INC (instances);
 }
 
 static gchar *
diff --git a/plugins/ctags/ide-ctags-index.c b/plugins/ctags/ide-ctags-index.c
index b337459..632e8de 100644
--- a/plugins/ctags/ide-ctags-index.c
+++ b/plugins/ctags/ide-ctags-index.c
@@ -18,7 +18,7 @@
 
 #define G_LOG_DOMAIN "ide-ctags-index"
 
-#include <egg-counter.h>
+#include <dazzle.h>
 #include <glib/gi18n.h>
 #include <ide.h>
 #include <stdlib.h>
@@ -52,9 +52,9 @@ G_DEFINE_DYNAMIC_TYPE_EXTENDED (IdeCtagsIndex, ide_ctags_index, IDE_TYPE_OBJECT,
                                 G_IMPLEMENT_INTERFACE (G_TYPE_ASYNC_INITABLE,
                                                        async_initable_iface_init))
 
-EGG_DEFINE_COUNTER (instances, "IdeCtagsIndex", "Instances", "Number of IdeCtagsIndex instances.")
-EGG_DEFINE_COUNTER (index_entries, "IdeCtagsIndex", "N Entries", "Number of entries in indexes.")
-EGG_DEFINE_COUNTER (heap_size, "IdeCtagsIndex", "Heap Size", "Size of index string heaps.")
+DZL_DEFINE_COUNTER (instances, "IdeCtagsIndex", "Instances", "Number of IdeCtagsIndex instances.")
+DZL_DEFINE_COUNTER (index_entries, "IdeCtagsIndex", "N Entries", "Number of entries in indexes.")
+DZL_DEFINE_COUNTER (heap_size, "IdeCtagsIndex", "Heap Size", "Size of index string heaps.")
 
 static GParamSpec *properties [LAST_PROP];
 
@@ -242,8 +242,8 @@ ide_ctags_index_build_index (GTask        *task,
   self->index = index;
   self->buffer = g_bytes_new_take (contents, length);
 
-  EGG_COUNTER_ADD (index_entries, (gint64)index->len);
-  EGG_COUNTER_ADD (heap_size, (gint64)length);
+  DZL_COUNTER_ADD (index_entries, (gint64)index->len);
+  DZL_COUNTER_ADD (heap_size, (gint64)length);
 
   g_task_return_boolean (task, TRUE);
 
@@ -357,12 +357,12 @@ ide_ctags_index_finalize (GObject *object)
   IdeCtagsIndex *self = (IdeCtagsIndex *)object;
 
   if (self->index != NULL)
-    EGG_COUNTER_SUB (index_entries, (gint64)self->index->len);
+    DZL_COUNTER_SUB (index_entries, (gint64)self->index->len);
 
   if (self->buffer != NULL)
     {
       gsize len = g_bytes_get_size (self->buffer);
-      EGG_COUNTER_SUB (heap_size, (gint64)len);
+      DZL_COUNTER_SUB (heap_size, (gint64)len);
     }
 
   g_clear_object (&self->file);
@@ -372,7 +372,7 @@ ide_ctags_index_finalize (GObject *object)
 
   G_OBJECT_CLASS (ide_ctags_index_parent_class)->finalize (object);
 
-  EGG_COUNTER_DEC (instances);
+  DZL_COUNTER_DEC (instances);
 }
 
 static void
@@ -418,7 +418,7 @@ ide_ctags_index_class_finalize (IdeCtagsIndexClass *klass)
 static void
 ide_ctags_index_init (IdeCtagsIndex *self)
 {
-  EGG_COUNTER_INC (instances);
+  DZL_COUNTER_INC (instances);
 }
 
 static void
diff --git a/plugins/ctags/ide-ctags-service.c b/plugins/ctags/ide-ctags-service.c
index bea606e..79768d0 100644
--- a/plugins/ctags/ide-ctags-service.c
+++ b/plugins/ctags/ide-ctags-service.c
@@ -18,7 +18,7 @@
 
 #define G_LOG_DOMAIN "ide-ctags-service"
 
-#include <egg-task-cache.h>
+#include <dazzle.h>
 #include <glib/gi18n.h>
 #include <gtksourceview/gtksource.h>
 
@@ -32,7 +32,7 @@ struct _IdeCtagsService
 {
   IdeObject         parent_instance;
 
-  EggTaskCache     *indexes;
+  DzlTaskCache     *indexes;
   GCancellable     *cancellable;
   GPtrArray        *highlighters;
   GPtrArray        *completions;
@@ -132,7 +132,7 @@ resolve_path_root (IdeCtagsService *self,
 }
 
 static void
-ide_ctags_service_build_index_cb (EggTaskCache  *cache,
+ide_ctags_service_build_index_cb (DzlTaskCache  *cache,
                                   gconstpointer  key,
                                   GTask         *task,
                                   gpointer       user_data)
@@ -173,7 +173,7 @@ ide_ctags_service_tags_loaded_cb (GObject      *object,
                                   GAsyncResult *result,
                                   gpointer      user_data)
 {
-  EggTaskCache *cache = (EggTaskCache *)object;
+  DzlTaskCache *cache = (DzlTaskCache *)object;
   g_autoptr(IdeCtagsService) self = user_data;
   g_autoptr(IdeCtagsIndex) index = NULL;
   GError *error = NULL;
@@ -181,10 +181,10 @@ ide_ctags_service_tags_loaded_cb (GObject      *object,
 
   IDE_ENTRY;
 
-  g_assert (EGG_IS_TASK_CACHE (cache));
+  g_assert (DZL_IS_TASK_CACHE (cache));
   g_assert (IDE_IS_CTAGS_SERVICE (self));
 
-  if (!(index = egg_task_cache_get_finish (cache, result, &error)))
+  if (!(index = dzl_task_cache_get_finish (cache, result, &error)))
     {
       /* don't log if it was an empty file */
       if (!g_error_matches (error, G_IO_ERROR, G_IO_ERROR_NONE))
@@ -237,13 +237,13 @@ do_load (gpointer data)
     GFile *file;
   } *pair = data;
 
-  if ((prev = egg_task_cache_peek (pair->self->indexes, pair->file)))
+  if ((prev = dzl_task_cache_peek (pair->self->indexes, pair->file)))
     {
       if (!file_is_newer (prev, pair->file))
         goto cleanup;
     }
 
-  egg_task_cache_get_async (pair->self->indexes,
+  dzl_task_cache_get_async (pair->self->indexes,
                             pair->file,
                             TRUE,
                             pair->self->cancellable,
@@ -636,7 +636,7 @@ ide_ctags_service_init (IdeCtagsService *self)
                                                       (GEqualFunc)g_file_equal,
                                                       g_object_unref, NULL);
 
-  self->indexes = egg_task_cache_new ((GHashFunc)g_file_hash,
+  self->indexes = dzl_task_cache_new ((GHashFunc)g_file_hash,
                                       (GEqualFunc)g_file_equal,
                                       g_object_ref,
                                       g_object_unref,
@@ -647,7 +647,7 @@ ide_ctags_service_init (IdeCtagsService *self)
                                       self,
                                       NULL);
 
-  egg_task_cache_set_name (self->indexes, "ctags index cache");
+  dzl_task_cache_set_name (self->indexes, "ctags index cache");
 }
 
 void
@@ -670,7 +670,7 @@ ide_ctags_service_get_indexes (IdeCtagsService *self)
 {
   g_return_val_if_fail (IDE_IS_CTAGS_SERVICE (self), NULL);
 
-  return egg_task_cache_get_values (self->indexes);
+  return dzl_task_cache_get_values (self->indexes);
 }
 
 void
@@ -683,7 +683,7 @@ ide_ctags_service_register_highlighter (IdeCtagsService     *self,
   g_return_if_fail (IDE_IS_CTAGS_SERVICE (self));
   g_return_if_fail (IDE_IS_CTAGS_HIGHLIGHTER (highlighter));
 
-  values = egg_task_cache_get_values (self->indexes);
+  values = dzl_task_cache_get_values (self->indexes);
 
   for (i = 0; i < values->len; i++)
     {
@@ -714,7 +714,7 @@ ide_ctags_service_register_completion (IdeCtagsService            *self,
   g_return_if_fail (IDE_IS_CTAGS_SERVICE (self));
   g_return_if_fail (IDE_IS_CTAGS_COMPLETION_PROVIDER (completion));
 
-  values = egg_task_cache_get_values (self->indexes);
+  values = dzl_task_cache_get_values (self->indexes);
 
   for (i = 0; i < values->len; i++)
     {
diff --git a/plugins/eslint/eslint_plugin/__init__.py b/plugins/eslint/eslint_plugin/__init__.py
index 8f28920..421bd61 100644
--- a/plugins/eslint/eslint_plugin/__init__.py
+++ b/plugins/eslint/eslint_plugin/__init__.py
@@ -24,7 +24,7 @@ import re
 
 gi.require_version('Ide', '1.0')
 
-from gi.repository import Egg
+from gi.repository import Dzl
 from gi.repository import GObject
 from gi.repository import Gio
 from gi.repository import Gtk
diff --git a/plugins/flatpak/gbp-flatpak-clone-widget.c b/plugins/flatpak/gbp-flatpak-clone-widget.c
index 75119bc..005f373 100644
--- a/plugins/flatpak/gbp-flatpak-clone-widget.c
+++ b/plugins/flatpak/gbp-flatpak-clone-widget.c
@@ -16,13 +16,12 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+#include <dazzle.h>
 #include <glib/gi18n.h>
 #include <json-glib/json-glib.h>
 #include <libgit2-glib/ggit.h>
 #include <ide.h>
 
-#include "egg-animation.h"
-
 #include "gbp-flatpak-clone-widget.h"
 #include "gbp-flatpak-sources.h"
 
@@ -270,8 +269,8 @@ gbp_flatpak_clone_widget_worker_completed (GTask      *task,
   if (!g_task_get_completed (task))
     return;
 
-  egg_object_animate_full (self->clone_progress,
-                           EGG_ANIMATION_EASE_IN_OUT_QUAD,
+  dzl_object_animate_full (self->clone_progress,
+                           DZL_ANIMATION_EASE_IN_OUT_QUAD,
                            ANIMATION_DURATION_MSEC,
                            NULL,
                            (GDestroyNotify)ide_widget_hide_with_fade,
diff --git a/plugins/flatpak/gbp-flatpak-pipeline-addin.c b/plugins/flatpak/gbp-flatpak-pipeline-addin.c
index 958fd03..33ea29f 100644
--- a/plugins/flatpak/gbp-flatpak-pipeline-addin.c
+++ b/plugins/flatpak/gbp-flatpak-pipeline-addin.c
@@ -414,7 +414,7 @@ build_bundle_notify_completed (IdeBuildStage *stage,
   if (ide_build_stage_get_completed (stage))
     {
       g_autoptr(GFile) file = g_file_new_for_path (dest_path);
-      ide_file_manager_show (file, NULL);
+      dzl_file_manager_show (file, NULL);
     }
 }
 
diff --git a/plugins/gettext/ide-gettext-diagnostic-provider.c 
b/plugins/gettext/ide-gettext-diagnostic-provider.c
index b7604ec..a0e4fe7 100644
--- a/plugins/gettext/ide-gettext-diagnostic-provider.c
+++ b/plugins/gettext/ide-gettext-diagnostic-provider.c
@@ -18,7 +18,7 @@
 
 #define G_LOG_DOMAIN "ide-gettext-diagnostic-provider"
 
-#include <egg-task-cache.h>
+#include <dazzle.h>
 #include <glib/gi18n.h>
 #include <stdlib.h>
 
@@ -34,7 +34,7 @@ struct _IdeGettextDiagnostics
 struct _IdeGettextDiagnosticProvider
 {
   IdeObject     parent_instance;
-  EggTaskCache *diagnostics_cache;
+  DzlTaskCache *diagnostics_cache;
 };
 
 typedef struct
@@ -176,15 +176,15 @@ get_diagnostics_cb (GObject      *source_object,
                     GAsyncResult *res,
                     gpointer      user_data)
 {
-  EggTaskCache *cache = EGG_TASK_CACHE (source_object);
+  DzlTaskCache *cache = DZL_TASK_CACHE (source_object);
   g_autoptr(GTask) task = user_data;
   g_autoptr(IdeGettextDiagnostics) diags = NULL;
   GError *error = NULL;
 
-  g_assert (EGG_IS_TASK_CACHE (cache));
+  g_assert (DZL_IS_TASK_CACHE (cache));
   g_assert (G_IS_TASK (task));
 
-  diags = egg_task_cache_get_finish (cache, res, &error);
+  diags = dzl_task_cache_get_finish (cache, res, &error);
 
   if (diags == NULL)
     g_task_return_error (task, error);
@@ -211,7 +211,7 @@ ide_gettext_diagnostic_provider_diagnose_async (IdeDiagnosticProvider *provider,
   task = g_task_new (self, cancellable, callback, user_data);
   g_task_set_source_tag (task, ide_gettext_diagnostic_provider_diagnose_async);
 
-  if (NULL != (cached = egg_task_cache_peek (self->diagnostics_cache, file)))
+  if (NULL != (cached = dzl_task_cache_peek (self->diagnostics_cache, file)))
     {
       unsaved_file = get_unsaved_file (self, file);
 
@@ -222,7 +222,7 @@ ide_gettext_diagnostic_provider_diagnose_async (IdeDiagnosticProvider *provider,
         }
     }
 
-  egg_task_cache_get_async (self->diagnostics_cache,
+  dzl_task_cache_get_async (self->diagnostics_cache,
                             file,
                             TRUE,
                             cancellable,
@@ -386,7 +386,7 @@ id_to_xgettext_language (const gchar *id)
 }
 
 static void
-populate_cache (EggTaskCache  *cache,
+populate_cache (DzlTaskCache  *cache,
                 gconstpointer  key,
                 GTask         *task,
                 gpointer       user_data)
@@ -404,7 +404,7 @@ populate_cache (EggTaskCache  *cache,
   GError *error = NULL;
   GPtrArray *args;
 
-  g_assert (EGG_IS_TASK_CACHE (cache));
+  g_assert (DZL_IS_TASK_CACHE (cache));
   g_assert (IDE_IS_FILE (file));
   g_assert (IDE_IS_GETTEXT_DIAGNOSTIC_PROVIDER (self));
 
@@ -490,7 +490,7 @@ populate_cache (EggTaskCache  *cache,
 static void
 ide_gettext_diagnostic_provider_init (IdeGettextDiagnosticProvider *self)
 {
-  self->diagnostics_cache = egg_task_cache_new ((GHashFunc)ide_file_hash,
+  self->diagnostics_cache = dzl_task_cache_new ((GHashFunc)ide_file_hash,
                                                 (GEqualFunc)ide_file_equal,
                                                 g_object_ref,
                                                 g_object_unref,
@@ -501,5 +501,5 @@ ide_gettext_diagnostic_provider_init (IdeGettextDiagnosticProvider *self)
                                                 self,
                                                 NULL);
 
-  egg_task_cache_set_name (self->diagnostics_cache, "gettext diagnostic cache");
+  dzl_task_cache_set_name (self->diagnostics_cache, "gettext diagnostic cache");
 }
diff --git a/plugins/git/ide-git-buffer-change-monitor.c b/plugins/git/ide-git-buffer-change-monitor.c
index 31056cc..122c4e4 100644
--- a/plugins/git/ide-git-buffer-change-monitor.c
+++ b/plugins/git/ide-git-buffer-change-monitor.c
@@ -18,8 +18,7 @@
 
 #define G_LOG_DOMAIN "ide-git-buffer-change-monitor"
 
-#include <egg-counter.h>
-#include <egg-signal-group.h>
+#include <dazzle.h>
 #include <glib/gi18n.h>
 #include <libgit2-glib/ggit.h>
 
@@ -48,8 +47,8 @@ struct _IdeGitBufferChangeMonitor
 {
   IdeBufferChangeMonitor  parent_instance;
 
-  EggSignalGroup         *signal_group;
-  EggSignalGroup         *vcs_signal_group;
+  DzlSignalGroup         *signal_group;
+  DzlSignalGroup         *vcs_signal_group;
 
   IdeBuffer              *buffer;
 
@@ -80,7 +79,7 @@ G_DEFINE_TYPE (IdeGitBufferChangeMonitor,
                ide_git_buffer_change_monitor,
                IDE_TYPE_BUFFER_CHANGE_MONITOR)
 
-EGG_DEFINE_COUNTER (instances, "IdeGitBufferChangeMonitor", "Instances",
+DZL_DEFINE_COUNTER (instances, "IdeGitBufferChangeMonitor", "Instances",
                     "The number of git buffer change monitor instances.");
 
 enum {
@@ -465,8 +464,8 @@ ide_git_buffer_change_monitor_set_buffer (IdeBufferChangeMonitor *monitor,
   context = ide_object_get_context (IDE_OBJECT (self));
   vcs = ide_context_get_vcs (context);
 
-  egg_signal_group_set_target (self->signal_group, buffer);
-  egg_signal_group_set_target (self->vcs_signal_group, vcs);
+  dzl_signal_group_set_target (self->signal_group, buffer);
+  dzl_signal_group_set_target (self->vcs_signal_group, vcs);
 
   IDE_EXIT;
 }
@@ -709,7 +708,7 @@ ide_git_buffer_change_monitor_finalize (GObject *object)
 {
   G_OBJECT_CLASS (ide_git_buffer_change_monitor_parent_class)->finalize (object);
 
-  EGG_COUNTER_DEC (instances);
+  DZL_COUNTER_DEC (instances);
 }
 
 static void
@@ -763,32 +762,32 @@ ide_git_buffer_change_monitor_class_init (IdeGitBufferChangeMonitorClass *klass)
 static void
 ide_git_buffer_change_monitor_init (IdeGitBufferChangeMonitor *self)
 {
-  EGG_COUNTER_INC (instances);
+  DZL_COUNTER_INC (instances);
 
-  self->signal_group = egg_signal_group_new (IDE_TYPE_BUFFER);
-  egg_signal_group_connect_object (self->signal_group,
+  self->signal_group = dzl_signal_group_new (IDE_TYPE_BUFFER);
+  dzl_signal_group_connect_object (self->signal_group,
                                    "insert-text",
                                    G_CALLBACK (ide_git_buffer_change_monitor__buffer_insert_text_after_cb),
                                    self,
                                    G_CONNECT_SWAPPED | G_CONNECT_AFTER);
-  egg_signal_group_connect_object (self->signal_group,
+  dzl_signal_group_connect_object (self->signal_group,
                                    "delete-range",
                                    G_CALLBACK (ide_git_buffer_change_monitor__buffer_delete_range_cb),
                                    self,
                                    G_CONNECT_SWAPPED);
-  egg_signal_group_connect_object (self->signal_group,
+  dzl_signal_group_connect_object (self->signal_group,
                                    "delete-range",
                                    G_CALLBACK (ide_git_buffer_change_monitor__buffer_delete_range_after_cb),
                                    self,
                                    G_CONNECT_SWAPPED | G_CONNECT_AFTER);
-  egg_signal_group_connect_object (self->signal_group,
+  dzl_signal_group_connect_object (self->signal_group,
                                    "changed",
                                    G_CALLBACK (ide_git_buffer_change_monitor__buffer_changed_after_cb),
                                    self,
                                    G_CONNECT_SWAPPED | G_CONNECT_AFTER);
 
-  self->vcs_signal_group = egg_signal_group_new (IDE_TYPE_GIT_VCS);
-  egg_signal_group_connect_object (self->vcs_signal_group,
+  self->vcs_signal_group = dzl_signal_group_new (IDE_TYPE_GIT_VCS);
+  dzl_signal_group_connect_object (self->vcs_signal_group,
                                    "reloaded",
                                    G_CALLBACK (ide_git_buffer_change_monitor__vcs_reloaded_cb),
                                    self,
diff --git a/plugins/git/ide-git-clone-widget.c b/plugins/git/ide-git-clone-widget.c
index efdf105..7d10815 100644
--- a/plugins/git/ide-git-clone-widget.c
+++ b/plugins/git/ide-git-clone-widget.c
@@ -16,13 +16,11 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#include <egg-file-chooser-entry.h>
+#include <dazzle.h>
 #include <glib/gi18n.h>
 #include <libgit2-glib/ggit.h>
 #include <ide.h>
 
-#include "egg-animation.h"
-
 #include "ide-macros.h"
 #include "ide-git-clone-widget.h"
 #include "ide-git-remote-callbacks.h"
@@ -35,7 +33,7 @@ struct _IdeGitCloneWidget
 
   gchar                *child_name;
 
-  EggFileChooserEntry  *clone_location_entry;
+  DzlFileChooserEntry  *clone_location_entry;
   GtkEntry             *clone_uri_entry;
   GtkLabel             *clone_error_label;
   GtkProgressBar       *clone_progress;
@@ -249,7 +247,7 @@ ide_git_clone_widget_init (IdeGitCloneWidget *self)
     projects_dir = g_steal_pointer (&path);
 
   file = g_file_new_for_path (projects_dir);
-  egg_file_chooser_entry_set_file (self->clone_location_entry, file);
+  dzl_file_chooser_entry_set_file (self->clone_location_entry, file);
 
   g_signal_connect_object (self->clone_uri_entry,
                            "changed",
@@ -307,8 +305,8 @@ finish_animation_in_idle (gpointer data)
   self = g_task_get_source_object (task);
   g_assert (IDE_IS_GIT_CLONE_WIDGET (self));
 
-  egg_object_animate_full (self->clone_progress,
-                           EGG_ANIMATION_EASE_IN_OUT_QUAD,
+  dzl_object_animate_full (self->clone_progress,
+                           DZL_ANIMATION_EASE_IN_OUT_QUAD,
                            ANIMATION_DURATION_MSEC,
                            NULL,
                            (GDestroyNotify)ide_widget_hide_with_fade,
@@ -417,7 +415,7 @@ ide_git_clone_widget_clone_async (IdeGitCloneWidget   *self,
   gtk_label_set_label (self->clone_error_label, NULL);
 
   uristr = g_strstrip (g_strdup (gtk_entry_get_text (self->clone_uri_entry)));
-  location = egg_file_chooser_entry_get_file (EGG_FILE_CHOOSER_ENTRY (self->clone_location_entry));
+  location = dzl_file_chooser_entry_get_file (DZL_FILE_CHOOSER_ENTRY (self->clone_location_entry));
 
   uri = ide_vcs_uri_new (uristr);
 
diff --git a/plugins/git/ide-git-clone-widget.ui b/plugins/git/ide-git-clone-widget.ui
index 6315803..b7f215e 100644
--- a/plugins/git/ide-git-clone-widget.ui
+++ b/plugins/git/ide-git-clone-widget.ui
@@ -69,7 +69,7 @@
                       </object>
                     </child>
                     <child>
-                      <object class="EggFileChooserEntry" id="clone_location_entry">
+                      <object class="DzlFileChooserEntry" id="clone_location_entry">
                         <property name="hexpand">true</property>
                         <property name="visible">true</property>
                         <property name="valign">baseline</property>
diff --git a/plugins/git/ide-git-remote-callbacks.c b/plugins/git/ide-git-remote-callbacks.c
index f570fd6..3da8a1b 100644
--- a/plugins/git/ide-git-remote-callbacks.c
+++ b/plugins/git/ide-git-remote-callbacks.c
@@ -18,7 +18,7 @@
 
 #define G_LOG_DOMAIN "ide-git-remote-callbacks"
 
-#include <egg-animation.h>
+#include <dazzle.h>
 #include <glib/gi18n.h>
 #include <ide.h>
 
@@ -30,7 +30,7 @@ struct _IdeGitRemoteCallbacks
 {
   GgitRemoteCallbacks  parent_instance;
 
-  EggAnimation        *animation;
+  DzlAnimation        *animation;
   IdeProgress         *progress;
   gdouble              fraction;
   GgitCredtype         tried;
@@ -89,7 +89,7 @@ static gboolean
 ide_git_remote_callbacks__notify_fraction_cb (gpointer data)
 {
   g_autoptr(IdeGitRemoteCallbacks) self = data;
-  EggAnimation *animation;
+  DzlAnimation *animation;
 
   g_assert (IDE_IS_GIT_REMOTE_CALLBACKS (self));
 
@@ -99,11 +99,11 @@ ide_git_remote_callbacks__notify_fraction_cb (gpointer data)
   if ((animation = self->animation))
     {
       ide_clear_weak_pointer (&self->animation);
-      egg_animation_stop (animation);
+      dzl_animation_stop (animation);
     }
 
-  animation = egg_object_animate (self->progress,
-                                  EGG_ANIMATION_EASE_IN_OUT_QUAD,
+  animation = dzl_object_animate (self->progress,
+                                  DZL_ANIMATION_EASE_IN_OUT_QUAD,
                                   ANIMATION_DURATION_MSEC,
                                   NULL,
                                   "fraction", self->fraction,
diff --git a/plugins/rustup/rustup_plugin/__init__.py b/plugins/rustup/rustup_plugin/__init__.py
index 63dae41..527c269 100644
--- a/plugins/rustup/rustup_plugin/__init__.py
+++ b/plugins/rustup/rustup_plugin/__init__.py
@@ -26,11 +26,11 @@ import re
 import pty
 import stat
 
-gi.require_version('Egg', '1.0')
+gi.require_version('Dzl', '1.0')
 gi.require_version('Ide', '1.0')
 gi.require_version('Gtk', '3.0')
 
-from gi.repository import Egg
+from gi.repository import Dzl
 from gi.repository import GLib
 from gi.repository import GObject
 from gi.repository import Gio
@@ -611,7 +611,7 @@ class RustupPreferencesAddin(GObject.Object, Ide.PreferencesAddin):
         return list_control
 
     def create_install_popover(self):
-        popover = Egg.SimplePopover(title=_('Install Rust Channel'),
+        popover = Dzl.SimplePopover(title=_('Install Rust Channel'),
                                     button_text=_('Install'),
                                     text='stable',
                                     ready=True,
diff --git a/plugins/support/ide-support.c b/plugins/support/ide-support.c
index 4f024c2..2f5eaf9 100644
--- a/plugins/support/ide-support.c
+++ b/plugins/support/ide-support.c
@@ -20,7 +20,7 @@
 
 #include "config.h"
 
-#include <egg-counter.h>
+#include <dazzle.h>
 #include <gtk/gtk.h>
 #include <ide.h>
 #include <string.h>
@@ -34,7 +34,7 @@ str_to_key (const gchar *str)
 }
 
 static void
-counter_arena_foreach_cb (EggCounter *counter,
+counter_arena_foreach_cb (DzlCounter *counter,
                           gpointer    user_data)
 {
   GString *str = (GString *)user_data;
@@ -43,7 +43,7 @@ counter_arena_foreach_cb (EggCounter *counter,
 
   g_string_append_printf (str,
                           "%s.%s = %"G_GINT64_FORMAT"\n",
-                          category, name, egg_counter_get (counter));
+                          category, name, dzl_counter_get (counter));
 }
 
 gchar *
@@ -165,7 +165,7 @@ ide_get_support_log (void)
    * Log the counters.
    */
   g_string_append (str, "[runtime.counters]\n");
-  egg_counter_arena_foreach (egg_counter_arena_get_default (),
+  dzl_counter_arena_foreach (dzl_counter_arena_get_default (),
                              counter_arena_foreach_cb, str);
 
   g_string_append (str, "\n\n");
diff --git a/plugins/symbol-tree/symbol-tree-panel.c b/plugins/symbol-tree/symbol-tree-panel.c
index 708f873..96b5672 100644
--- a/plugins/symbol-tree/symbol-tree-panel.c
+++ b/plugins/symbol-tree/symbol-tree-panel.c
@@ -18,13 +18,10 @@
 
 #define G_LOG_DOMAIN "symbol-tree-panel"
 
-#include <ide.h>
-
+#include <dazzle.h>
 #include <glib/gi18n.h>
 #include <ide.h>
 
-#include "egg-task-cache.h"
-
 #include "symbol-tree.h"
 #include "symbol-tree-builder.h"
 #include "symbol-tree-panel.h"
@@ -37,7 +34,7 @@ struct _SymbolTreePanel
   DzlDockWidget   parent_instance;
 
   GCancellable   *cancellable;
-  EggTaskCache   *symbols_cache;
+  DzlTaskCache   *symbols_cache;
   GHashTable     *destroy_connected;
 
   GtkSearchEntry *search_entry;
@@ -67,7 +64,7 @@ get_cached_symbol_tree_cb (GObject      *object,
                            GAsyncResult *result,
                            gpointer      user_data)
 {
-  EggTaskCache *cache = (EggTaskCache *)object;
+  DzlTaskCache *cache = (DzlTaskCache *)object;
   g_autoptr(SymbolTreePanel) self = user_data;
   g_autoptr(IdeSymbolTree) symbol_tree = NULL;
   g_autoptr(GError) error = NULL;
@@ -77,11 +74,11 @@ get_cached_symbol_tree_cb (GObject      *object,
 
   IDE_ENTRY;
 
-  g_assert (EGG_IS_TASK_CACHE (cache));
+  g_assert (DZL_IS_TASK_CACHE (cache));
   g_assert (G_IS_ASYNC_RESULT (result));
   g_assert (SYMBOL_IS_TREE_PANEL (self));
 
-  if (!(symbol_tree = egg_task_cache_get_finish (cache, result, &error)))
+  if (!(symbol_tree = dzl_task_cache_get_finish (cache, result, &error)))
     {
       if (!g_error_matches (error, G_IO_ERROR, G_IO_ERROR_NOT_SUPPORTED) &&
           !g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED))
@@ -131,7 +128,7 @@ symbol_tree_panel_buffer_destroy (SymbolTreePanel *self,
                                         G_CALLBACK (symbol_tree_panel_buffer_destroy),
                                         self);
 
-  egg_task_cache_evict (self->symbols_cache, buffer);
+  dzl_task_cache_evict (self->symbols_cache, buffer);
 }
 
 static void
@@ -201,7 +198,7 @@ refresh_tree (SymbolTreePanel *self)
                                        G_CONNECT_SWAPPED);
             }
 
-          egg_task_cache_get_async (self->symbols_cache,
+          dzl_task_cache_get_async (self->symbols_cache,
                                     document,
                                     FALSE,
                                     self->cancellable,
@@ -242,7 +239,7 @@ get_symbol_tree_cb (GObject      *object,
 }
 
 static void
-populate_cache_cb (EggTaskCache  *cache,
+populate_cache_cb (DzlTaskCache  *cache,
                    gconstpointer  key,
                    GTask         *task,
                    gpointer       user_data)
@@ -253,7 +250,7 @@ populate_cache_cb (EggTaskCache  *cache,
 
   IDE_ENTRY;
 
-  g_assert (EGG_IS_TASK_CACHE (cache));
+  g_assert (DZL_IS_TASK_CACHE (cache));
   g_assert (IDE_IS_BUFFER (document));
   g_assert (G_IS_TASK (task));
 
@@ -336,7 +333,7 @@ symbol_tree_panel_buffer_saved (SymbolTreePanel  *self,
   /* Pop the cache if our current file was saved */
   if (buffer == self->last_document)
     {
-      egg_task_cache_evict (self->symbols_cache, buffer);
+      dzl_task_cache_evict (self->symbols_cache, buffer);
       refresh_tree (self);
     }
 }
@@ -397,7 +394,7 @@ symbol_tree_panel_init (SymbolTreePanel *self)
 
   self->destroy_connected = g_hash_table_new (NULL, NULL);
 
-  self->symbols_cache = egg_task_cache_new (g_direct_hash,
+  self->symbols_cache = dzl_task_cache_new (g_direct_hash,
                                             g_direct_equal,
                                             g_object_ref,
                                             g_object_unref,
@@ -408,7 +405,7 @@ symbol_tree_panel_init (SymbolTreePanel *self)
                                             self,
                                             NULL);
 
-  egg_task_cache_set_name (self->symbols_cache, "symbol-tree symbol cache");
+  dzl_task_cache_set_name (self->symbols_cache, "symbol-tree symbol cache");
 
   gtk_widget_init_template (GTK_WIDGET (self));
 
diff --git a/plugins/symbol-tree/symbol-tree-panel.ui b/plugins/symbol-tree/symbol-tree-panel.ui
index 75048e2..ba80752 100644
--- a/plugins/symbol-tree/symbol-tree-panel.ui
+++ b/plugins/symbol-tree/symbol-tree-panel.ui
@@ -17,7 +17,7 @@
           <object class="GtkStack" id="stack">
             <property name="visible">true</property>
             <child>
-              <object class="EggEmptyState">
+              <object class="DzlEmptyState">
                 <property name="border-width">12</property>
                 <property name="margin-top">12</property>
                 <property name="pixel-size">64</property>
diff --git a/plugins/terminal/gb-terminal.c b/plugins/terminal/gb-terminal.c
index 029fbdd..b9b48c0 100644
--- a/plugins/terminal/gb-terminal.c
+++ b/plugins/terminal/gb-terminal.c
@@ -16,11 +16,10 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+#include <dazzle.h>
 #include <glib/gi18n.h>
 #include <ide.h>
 
-#include "egg-widget-action-group.h"
-
 #include "gb-terminal.h"
 
 #define BUILDER_PCRE2_MULTILINE           0x00000400u
@@ -115,10 +114,10 @@ popup_targets_received (GtkClipboard     *clipboard,
 
       group = gtk_widget_get_action_group (GTK_WIDGET (terminal), "terminal");
 
-      egg_widget_action_group_set_action_enabled (EGG_WIDGET_ACTION_GROUP (group), "copy-link-address", 
!(terminal->url == NULL));
-      egg_widget_action_group_set_action_enabled (EGG_WIDGET_ACTION_GROUP (group), "open-link", 
!(terminal->url == NULL));
-      egg_widget_action_group_set_action_enabled (EGG_WIDGET_ACTION_GROUP (group), "copy-clipboard", 
have_selection);
-      egg_widget_action_group_set_action_enabled (EGG_WIDGET_ACTION_GROUP (group), "paste-clipboard", 
clipboard_contains_text);
+      dzl_widget_action_group_set_action_enabled (DZL_WIDGET_ACTION_GROUP (group), "copy-link-address", 
!(terminal->url == NULL));
+      dzl_widget_action_group_set_action_enabled (DZL_WIDGET_ACTION_GROUP (group), "open-link", 
!(terminal->url == NULL));
+      dzl_widget_action_group_set_action_enabled (DZL_WIDGET_ACTION_GROUP (group), "copy-clipboard", 
have_selection);
+      dzl_widget_action_group_set_action_enabled (DZL_WIDGET_ACTION_GROUP (group), "paste-clipboard", 
clipboard_contains_text);
 
       gtk_style_context_add_class (gtk_widget_get_style_context (terminal->popup_menu), 
GTK_STYLE_CLASS_CONTEXT_MENU);
       gtk_menu_attach_to_widget (GTK_MENU (terminal->popup_menu), GTK_WIDGET (terminal), popup_menu_detach);
@@ -357,7 +356,7 @@ gb_terminal_class_init (GbTerminalClass *klass)
 static void
 gb_terminal_init (GbTerminal *self)
 {
-  egg_widget_action_group_attach (self, "terminal");
+  dzl_widget_action_group_attach (self, "terminal");
 
   for (guint i = 0; url_regexes[i]; i++)
     {
diff --git a/plugins/xml-pack/ide-xml-highlighter.c b/plugins/xml-pack/ide-xml-highlighter.c
index d97783f..619106e 100644
--- a/plugins/xml-pack/ide-xml-highlighter.c
+++ b/plugins/xml-pack/ide-xml-highlighter.c
@@ -16,11 +16,11 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#include <egg-signal-group.h>
+#include <dazzle.h>
 #include <glib/gi18n.h>
 
-#include "ide-xml-highlighter.h"
 #include "ide-xml.h"
+#include "ide-xml-highlighter.h"
 
 #define HIGHLIGH_TIMEOUT_MSEC    35
 #define XML_TAG_MATCH_STYLE_NAME "xml:tag-match"
@@ -29,7 +29,7 @@ struct _IdeXmlHighlighter
 {
   IdeObject           parent_instance;
 
-  EggSignalGroup     *signal_group;
+  DzlSignalGroup     *signal_group;
   GtkTextMark        *iter_mark;
   IdeHighlightEngine *engine;
   GtkTextBuffer      *buffer;
@@ -131,13 +131,13 @@ cleanup:
 static void
 ide_xml_highlighter_bind_buffer_cb (IdeXmlHighlighter  *self,
                                     IdeBuffer          *buffer,
-                                    EggSignalGroup     *group)
+                                    DzlSignalGroup     *group)
 {
   GtkTextIter begin;
 
   g_assert (IDE_IS_XML_HIGHLIGHTER (self));
   g_assert (IDE_IS_BUFFER (buffer));
-  g_assert (EGG_IS_SIGNAL_GROUP (group));
+  g_assert (DZL_IS_SIGNAL_GROUP (group));
 
   ide_set_weak_pointer (&self->buffer, GTK_TEXT_BUFFER (buffer));
 
@@ -147,10 +147,10 @@ ide_xml_highlighter_bind_buffer_cb (IdeXmlHighlighter  *self,
 
 static void
 ide_xml_highlighter_unbind_buffer_cb (IdeXmlHighlighter  *self,
-                                      EggSignalGroup     *group)
+                                      DzlSignalGroup     *group)
 {
   g_assert (IDE_IS_XML_HIGHLIGHTER (self));
-  g_assert (EGG_IS_SIGNAL_GROUP (group));
+  g_assert (DZL_IS_SIGNAL_GROUP (group));
   g_assert (self->buffer != NULL);
 
   if (self->highlight_timeout != 0)
@@ -192,7 +192,7 @@ ide_xml_highlighter_set_buffer (IdeXmlHighlighter *highlighter,
   g_assert (IDE_IS_HIGHLIGHTER (self));
   g_assert (!buffer || IDE_IS_BUFFER (buffer));
 
-  egg_signal_group_set_target (self->signal_group, buffer);
+  dzl_signal_group_set_target (self->signal_group, buffer);
 }
 
 static void
@@ -270,8 +270,8 @@ ide_xml_highlighter_class_finalize (IdeXmlHighlighterClass *klass)
 static void
 ide_xml_highlighter_init (IdeXmlHighlighter *self)
 {
-  self->signal_group = egg_signal_group_new (IDE_TYPE_BUFFER);
-  egg_signal_group_connect_object (self->signal_group,
+  self->signal_group = dzl_signal_group_new (IDE_TYPE_BUFFER);
+  dzl_signal_group_connect_object (self->signal_group,
                                    "cursor-moved",
                                    G_CALLBACK (ide_xml_highlighter_cursor_moved_cb),
                                    self,
diff --git a/plugins/xml-pack/ide-xml-service.c b/plugins/xml-pack/ide-xml-service.c
index d0c1301..e0971fc 100644
--- a/plugins/xml-pack/ide-xml-service.c
+++ b/plugins/xml-pack/ide-xml-service.c
@@ -18,15 +18,14 @@
 
 #define G_LOG_DOMAIN "ide-xml-service"
 
-#include <egg-task-cache.h>
+#include <dazzle.h>
 #include <glib/gi18n.h>
 #include <gtksourceview/gtksource.h>
 #include <math.h>
 
 #include "ide-xml-analysis.h"
-#include "ide-xml-tree-builder.h"
-
 #include "ide-xml-service.h"
+#include "ide-xml-tree-builder.h"
 
 gboolean _ide_buffer_get_loading (IdeBuffer *self);
 
@@ -36,7 +35,7 @@ struct _IdeXmlService
 {
   IdeObject          parent_instance;
 
-  EggTaskCache      *analyses;
+  DzlTaskCache      *analyses;
   IdeXmlTreeBuilder *tree_builder;
   GCancellable      *cancellable;
 };
@@ -67,7 +66,7 @@ ide_xml_service_build_tree_cb2 (GObject      *object,
 }
 
 static void
-ide_xml_service_build_tree_cb (EggTaskCache  *cache,
+ide_xml_service_build_tree_cb (DzlTaskCache  *cache,
                                gconstpointer  key,
                                GTask         *task,
                                gpointer       user_data)
@@ -79,7 +78,7 @@ ide_xml_service_build_tree_cb (EggTaskCache  *cache,
 
   IDE_ENTRY;
 
-  g_assert (EGG_IS_TASK_CACHE (cache));
+  g_assert (DZL_IS_TASK_CACHE (cache));
   g_assert (IDE_IS_XML_SERVICE (self));
   g_assert (IDE_IS_FILE (ifile));
   g_assert (G_IS_TASK (task));
@@ -108,16 +107,16 @@ ide_xml_service_get_analysis_cb (GObject      *object,
                                  GAsyncResult *result,
                                  gpointer      user_data)
 {
-  EggTaskCache *cache = (EggTaskCache *)object;
+  DzlTaskCache *cache = (DzlTaskCache *)object;
   g_autoptr(GTask) task = user_data;
   g_autoptr(IdeXmlAnalysis) analysis = NULL;
   GError *error = NULL;
 
-  g_assert (EGG_IS_TASK_CACHE (cache));
+  g_assert (DZL_IS_TASK_CACHE (cache));
   g_assert (G_IS_TASK (result));
   g_assert (G_IS_TASK (task));
 
-  if (NULL == (analysis = egg_task_cache_get_finish (cache, result, &error)))
+  if (NULL == (analysis = dzl_task_cache_get_finish (cache, result, &error)))
     g_task_return_error (task, error);
   else
     g_task_return_pointer (task, g_steal_pointer (&analysis), (GDestroyNotify)ide_xml_analysis_unref);
@@ -146,7 +145,7 @@ ide_xml_service__buffer_loaded_cb (IdeBuffer *buffer,
 
   g_signal_handlers_disconnect_by_func (buffer, ide_xml_service__buffer_loaded_cb, state);
 
-  egg_task_cache_get_async (self->analyses,
+  dzl_task_cache_get_async (self->analyses,
                             state->ifile,
                             TRUE,
                             state->cancellable,
@@ -208,7 +207,7 @@ ide_xml_service_get_analysis_async (IdeXmlService       *self,
                         state);
     }
   else
-    egg_task_cache_get_async (self->analyses,
+    dzl_task_cache_get_async (self->analyses,
                               ifile,
                               TRUE,
                               cancellable,
@@ -290,7 +289,7 @@ ide_xml_service_get_root_node_async (IdeXmlService       *self,
    * If we have a cached analysis with a valid root_node,
    * and it is new enough, then re-use it.
    */
-  if (NULL != (cached = egg_task_cache_peek (self->analyses, ifile)))
+  if (NULL != (cached = dzl_task_cache_peek (self->analyses, ifile)))
     {
       IdeContext *context;
       IdeUnsavedFiles *unsaved_files;
@@ -404,7 +403,7 @@ ide_xml_service_get_diagnostics_async (IdeXmlService       *self,
    * If we have a cached analysis with some diagnostics,
    * and it is new enough, then re-use it.
    */
-  if (NULL != (cached = egg_task_cache_peek (self->analyses, ifile)))
+  if (NULL != (cached = dzl_task_cache_peek (self->analyses, ifile)))
     {
       IdeContext *context;
       IdeUnsavedFiles *unsaved_files;
@@ -484,7 +483,7 @@ ide_xml_service_start (IdeService *service)
 
   g_assert (IDE_IS_XML_SERVICE (self));
 
-  self->analyses = egg_task_cache_new ((GHashFunc)ide_file_hash,
+  self->analyses = dzl_task_cache_new ((GHashFunc)ide_file_hash,
                                        (GEqualFunc)ide_file_equal,
                                        g_object_ref,
                                        g_object_unref,
@@ -495,7 +494,7 @@ ide_xml_service_start (IdeService *service)
                                        self,
                                        NULL);
 
-  egg_task_cache_set_name (self->analyses, "xml analysis cache");
+  dzl_task_cache_set_name (self->analyses, "xml analysis cache");
 }
 
 static void
@@ -576,7 +575,7 @@ ide_xml_service_get_cached_root_node (IdeXmlService *self,
   g_return_val_if_fail (IDE_IS_XML_SERVICE (self), NULL);
   g_return_val_if_fail (IDE_IS_FILE (gfile), NULL);
 
-  if (NULL != (analysis = egg_task_cache_peek (self->analyses, gfile)) &&
+  if (NULL != (analysis = dzl_task_cache_peek (self->analyses, gfile)) &&
       NULL != (cached = ide_xml_analysis_get_root_node (analysis)))
     return g_object_ref (cached);
 
@@ -600,7 +599,7 @@ ide_xml_service_get_cached_diagnostics (IdeXmlService *self,
   g_return_val_if_fail (IDE_IS_XML_SERVICE (self), NULL);
   g_return_val_if_fail (IDE_IS_FILE (gfile), NULL);
 
-  if (NULL != (analysis = egg_task_cache_peek (self->analyses, gfile)) &&
+  if (NULL != (analysis = dzl_task_cache_peek (self->analyses, gfile)) &&
       NULL != (cached = ide_xml_analysis_get_diagnostics (analysis)))
     return ide_diagnostics_ref (cached);
 
diff --git a/plugins/xml-pack/ide-xml-tree-builder.c b/plugins/xml-pack/ide-xml-tree-builder.c
index 508a9db..24b32c2 100644
--- a/plugins/xml-pack/ide-xml-tree-builder.c
+++ b/plugins/xml-pack/ide-xml-tree-builder.c
@@ -16,7 +16,7 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#include <egg-task-cache.h>
+#include <dazzle.h>
 #include <glib/gi18n.h>
 #include <string.h>
 
diff --git a/tests/meson.build b/tests/meson.build
index 5e89bf4..a8a0de7 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -126,26 +126,6 @@ test_cpu_graph = executable('test-cpu-graph',
 #)
 
 
-test_fuzzy = executable('test-fuzzy',
-  'test-fuzzy.c',
-  c_args: ide_test_cflags,
-  dependencies: [libide_dep, libsearch_dep],
-)
-#test('test-fuzzy', test_fuzzy,
-#  env: ide_test_env,
-#)
-
-
-test_egg_slider = executable('test-egg-slider',
-  'test-egg-slider.c',
-  c_args: ide_test_cflags,
-  dependencies: libegg_dep,
-)
-#test('test-egg-slider', test_egg_slider,
-#  env: ide_test_env,
-#)
-
-
 test_snippet_parser = executable('test-snippet-parser',
   'test-snippet-parser.c',
   c_args: ide_test_cflags,
@@ -155,73 +135,3 @@ test_snippet_parser = executable('test-snippet-parser',
 #  env: ide_test_env,
 #)
 
-
-test_egg_binding_group = executable('test-egg-binding-group',
-  'test-egg-binding-group.c',
-  c_args: ide_test_cflags,
-  dependencies: libegg_dep,
-)
-test('test-egg-binding-group', test_egg_binding_group,
-  env: ide_test_env,
-)
-
-
-test_egg_menu_manager = executable('test-egg-menu-manager',
-  'test-egg-menu-manager.c',
-  c_args: ide_test_cflags,
-  dependencies: libegg_dep,
-)
-#test('test-egg-menu-manager', test_egg_menu_manager,
-#  env: ide_test_env,
-#)
-
-
-test_egg_state_machine = executable('test-egg-state-machine',
-  'test-egg-state-machine.c',
-  c_args: ide_test_cflags,
-  dependencies: libegg_dep,
-)
-test('test-egg-state-machine', test_egg_state_machine,
-  env: ide_test_env,
-)
-
-
-test_egg_radio_box = executable('test-egg-radio-box',
-  'test-egg-radio-box.c',
-  c_args: ide_test_cflags,
-  dependencies: libegg_dep,
-)
-#test('test-egg-radio-box', test_egg_radio_box,
-#  env: ide_test_env,
-#)
-
-
-test_egg_file_chooser_entry = executable('test-egg-file-chooser-entry',
-  'test-egg-file-chooser-entry.c',
-  c_args: ide_test_cflags,
-  dependencies: libegg_dep,
-)
-#test('test-egg-file-chooser-entry', test_egg_file_chooser_entry,
-#  env: ide_test_env,
-#)
-
-
-test_egg_cache = executable('test-egg-cache',
-  'test-egg-cache.c',
-  c_args: ide_test_cflags,
-  dependencies: libegg_dep,
-)
-test('test-egg-cache', test_egg_cache,
-  env: ide_test_env,
-)
-
-
-test_egg_heap = executable('test-egg-heap',
-  'test-egg-heap.c',
-  c_args: ide_test_cflags,
-  dependencies: libegg_dep,
-)
-test('test-egg-heap', test_egg_heap,
-  env: ide_test_env,
-)
-
diff --git a/tests/test-ide-indenter.c b/tests/test-ide-indenter.c
index 2c39ad9..72a4e36 100644
--- a/tests/test-ide-indenter.c
+++ b/tests/test-ide-indenter.c
@@ -21,7 +21,6 @@
 #include <string.h>
 
 #include "application/ide-application-tests.h"
-#include "util/ide-gdk.h"
 
 typedef void (*IndentTestFunc) (IdeContext *context,
                                 GtkWidget  *widget);
@@ -124,7 +123,7 @@ assert_keypress_equal (GtkWidget   *widget,
       while (gtk_events_pending ())
         gtk_main_iteration ();
 
-      event = ide_gdk_synthesize_event_key (window, ch);
+      event = dzl_gdk_synthesize_event_key (window, ch);
       gtk_main_do_event ((GdkEvent *)event);
       gdk_event_free ((GdkEvent *)event);
     }
diff --git a/tests/test-vim.c b/tests/test-vim.c
index 08da0e7..64c4bf1 100644
--- a/tests/test-vim.c
+++ b/tests/test-vim.c
@@ -20,7 +20,6 @@
 #include <string.h>
 
 #include "application/ide-application-tests.h"
-#include "util/ide-gdk.h"
 
 typedef void (*VimTestFunc) (IdeContext *context,
                              GtkWidget  *widget);
@@ -153,7 +152,7 @@ assert_keypress_equal (GtkWidget   *widget,
       while (gtk_events_pending ())
         gtk_main_iteration ();
 
-      event = ide_gdk_synthesize_event_key (window, ch);
+      event = dzl_gdk_synthesize_event_key (window, ch);
       gtk_main_do_event ((GdkEvent *)event);
       gdk_event_free ((GdkEvent *)event);
     }



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]