diff --git a/.gitmodules b/.gitmodules
index 367f7f2..fdaf8ab 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -2,3 +2,6 @@
path = iced
url = https://github.com/pop-os/iced.git
branch = master
+[submodule "icon-theme"]
+ path = cosmic-icons
+ url = https://github.com/pop-os/cosmic-icons
diff --git a/Cargo.toml b/Cargo.toml
index 430af23..4d74212 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -107,6 +107,8 @@ cctk = { git = "https://github.com/pop-os/cosmic-protocols", package = "cosmic-c
chrono = "0.4.42"
cosmic-config = { path = "cosmic-config" }
cosmic-settings-config = { git = "https://github.com/pop-os/cosmic-settings-daemon", optional = true }
+# Compile-time generation of code
+crabtime = "1.1.4"
# Internationalization
i18n-embed = { version = "0.16.0", features = [
"fluent-system",
@@ -152,6 +154,10 @@ freedesktop-icons = { package = "cosmic-freedesktop-icons", git = "https://githu
freedesktop-desktop-entry = { version = "0.7.14", optional = true }
shlex = { version = "1.3.0", optional = true }
+[target.'cfg(not(unix))'.dependencies]
+# Used to embed bundled icons for non-unix platforms.
+phf = { version = "0.13.1", features = ["macros"] }
+
[dependencies.cosmic-theme]
path = "cosmic-theme"
@@ -222,4 +228,3 @@ dirs = "6.0.0"
[dev-dependencies]
tempfile = "3.13.0"
-
diff --git a/cosmic-icons b/cosmic-icons
new file mode 160000
index 0000000..70b0758
--- /dev/null
+++ b/cosmic-icons
@@ -0,0 +1 @@
+Subproject commit 70b07582e24ec2114672256b9657ca80670bca8a
diff --git a/res/icons/close-menu-symbolic.svg b/res/icons/close-menu-symbolic.svg
deleted file mode 100644
index caf00d3..0000000
--- a/res/icons/close-menu-symbolic.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
diff --git a/res/icons/go-next-symbolic.svg b/res/icons/go-next-symbolic.svg
deleted file mode 100644
index 3aed371..0000000
--- a/res/icons/go-next-symbolic.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/res/icons/go-previous-symbolic.svg b/res/icons/go-previous-symbolic.svg
deleted file mode 100644
index 4957cff..0000000
--- a/res/icons/go-previous-symbolic.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/res/icons/list-add-symbolic.svg b/res/icons/list-add-symbolic.svg
deleted file mode 100644
index 59b2fb0..0000000
--- a/res/icons/list-add-symbolic.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/res/icons/list-remove-symbolic.svg b/res/icons/list-remove-symbolic.svg
deleted file mode 100644
index 5b9ded7..0000000
--- a/res/icons/list-remove-symbolic.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/res/icons/navbar-closed-symbolic.svg b/res/icons/navbar-closed-symbolic.svg
deleted file mode 100644
index 46f35e1..0000000
--- a/res/icons/navbar-closed-symbolic.svg
+++ /dev/null
@@ -1,10 +0,0 @@
-
diff --git a/res/icons/navbar-open-symbolic.svg b/res/icons/navbar-open-symbolic.svg
deleted file mode 100644
index c1f3216..0000000
--- a/res/icons/navbar-open-symbolic.svg
+++ /dev/null
@@ -1,8 +0,0 @@
-
diff --git a/res/icons/open-menu-symbolic.svg b/res/icons/open-menu-symbolic.svg
deleted file mode 100644
index efae2a2..0000000
--- a/res/icons/open-menu-symbolic.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/res/icons/window-close-symbolic.svg b/res/icons/window-close-symbolic.svg
deleted file mode 100644
index 2533639..0000000
--- a/res/icons/window-close-symbolic.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/res/icons/window-maximize-symbolic.svg b/res/icons/window-maximize-symbolic.svg
deleted file mode 100644
index ef66334..0000000
--- a/res/icons/window-maximize-symbolic.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
diff --git a/res/icons/window-minimize-symbolic.svg b/res/icons/window-minimize-symbolic.svg
deleted file mode 100644
index fdcf99b..0000000
--- a/res/icons/window-minimize-symbolic.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/res/icons/window-restore-symbolic.svg b/res/icons/window-restore-symbolic.svg
deleted file mode 100644
index bcb506f..0000000
--- a/res/icons/window-restore-symbolic.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
diff --git a/src/widget/button/icon.rs b/src/widget/button/icon.rs
index 0bb3c84..754bc43 100644
--- a/src/widget/button/icon.rs
+++ b/src/widget/button/icon.rs
@@ -132,10 +132,6 @@ impl<'a, Message: Clone + 'static> From