From 47858bf0aac8404d34ed467e66fdc88da7bdc9ff Mon Sep 17 00:00:00 2001
From: wiiznokes <78230769+wiiznokes@users.noreply.github.com>
Date: Thu, 4 Jan 2024 22:08:26 +0100
Subject: [PATCH] bundle close, maximise and minimise icons
---
res/icons/window-close-symbolic.svg | 3 +++
res/icons/window-maximize-symbolic.svg | 4 ++++
res/icons/window-minimize-symbolic.svg | 3 +++
src/widget/header_bar.rs | 16 ++++++++++------
4 files changed, 20 insertions(+), 6 deletions(-)
create mode 100644 res/icons/window-close-symbolic.svg
create mode 100644 res/icons/window-maximize-symbolic.svg
create mode 100644 res/icons/window-minimize-symbolic.svg
diff --git a/res/icons/window-close-symbolic.svg b/res/icons/window-close-symbolic.svg
new file mode 100644
index 00000000..25336395
--- /dev/null
+++ b/res/icons/window-close-symbolic.svg
@@ -0,0 +1,3 @@
+
diff --git a/res/icons/window-maximize-symbolic.svg b/res/icons/window-maximize-symbolic.svg
new file mode 100644
index 00000000..ef66334e
--- /dev/null
+++ b/res/icons/window-maximize-symbolic.svg
@@ -0,0 +1,4 @@
+
diff --git a/res/icons/window-minimize-symbolic.svg b/res/icons/window-minimize-symbolic.svg
new file mode 100644
index 00000000..fdcf99b4
--- /dev/null
+++ b/res/icons/window-minimize-symbolic.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/widget/header_bar.rs b/src/widget/header_bar.rs
index 45bac890..cb8c5de0 100644
--- a/src/widget/header_bar.rs
+++ b/src/widget/header_bar.rs
@@ -167,10 +167,14 @@ impl<'a, Message: Clone + 'static> HeaderBar<'a, Message> {
/// Creates the widget for window controls.
fn window_controls(&mut self) -> Element<'a, Message> {
- let icon = |name, size, on_press| {
- widget::icon::from_name(name)
- .size(size)
+ let icon = |icon_bytes, size, on_press| {
+
+ widget::icon::from_svg_bytes(
+ icon_bytes,
+ )
+ .symbolic(true)
.apply(widget::button::icon)
+ .icon_size(size)
.on_press(on_press)
};
@@ -178,17 +182,17 @@ impl<'a, Message: Clone + 'static> HeaderBar<'a, Message> {
.push_maybe(
self.on_minimize
.take()
- .map(|m| icon("window-minimize-symbolic", 16, m)),
+ .map(|m| icon(&include_bytes!("../../res/icons/window-minimize-symbolic.svg")[..], 16, m)),
)
.push_maybe(
self.on_maximize
.take()
- .map(|m| icon("window-maximize-symbolic", 16, m)),
+ .map(|m| icon(&include_bytes!("../../res/icons/window-maximize-symbolic.svg")[..], 16, m)),
)
.push_maybe(
self.on_close
.take()
- .map(|m| icon("window-close-symbolic", 16, m)),
+ .map(|m| icon(&include_bytes!("../../res/icons/window-close-symbolic.svg")[..], 16, m)),
)
.spacing(8)
.apply(widget::container)