diff --git a/resources/resources.xml b/resources/resources.xml
index e554df8..9847217 100644
--- a/resources/resources.xml
+++ b/resources/resources.xml
@@ -2,6 +2,7 @@
nvme-monitor.svg
+ nvme-monitor.svg
style.css
diff --git a/src/main.cpp b/src/main.cpp
index 27711d2..c07f6ad 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -17,6 +17,8 @@ GMainLoop *gMainLoop = nullptr;
int main(int argc, char *argv[])
{
gtk_init();
+ g_set_prgname("nvme-monitor");
+ g_set_application_name("Temperature Monitor");
// Register resources containing the application icon
GResource *resource = resources_get_resource();
diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp
index 45385a1..3b09613 100644
--- a/src/mainwindow.cpp
+++ b/src/mainwindow.cpp
@@ -60,11 +60,18 @@ void MainWindow::setupUI()
// Load CSS
GtkCssProvider *provider = gtk_css_provider_new();
gtk_css_provider_load_from_resource(provider, "/org/kamma/nvme-monitor/style.css");
- gtk_style_context_add_provider_for_display(gdk_display_get_default(),
+ GdkDisplay *display = gdk_display_get_default();
+ gtk_style_context_add_provider_for_display(display,
GTK_STYLE_PROVIDER(provider),
GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);
g_object_unref(provider);
+ // Make embedded icon resources resolvable by icon name.
+ if (display) {
+ GtkIconTheme *iconTheme = gtk_icon_theme_get_for_display(display);
+ gtk_icon_theme_add_resource_path(iconTheme, "/org/kamma/nvme-monitor/icons");
+ }
+
window = gtk_window_new();
gtk_window_set_title(GTK_WINDOW(window), "Temperature Monitor");
@@ -80,7 +87,7 @@ void MainWindow::setupUI()
g_error_free(error);
}
- // Set icon name for fallback/system icon theme
+ // Set icon name from embedded resources.
gtk_window_set_icon_name(GTK_WINDOW(window), "nvme-monitor");
gtk_window_set_default_size(GTK_WINDOW(window), 1200, 700);
@@ -157,6 +164,7 @@ void MainWindow::setupUI()
gboolean MainWindow::onDeleteWindow(GtkWidget *widget, gpointer userData)
{
+ (void)widget;
MainWindow *self = static_cast(userData);
self->saveWindowState();
delete self;
@@ -205,6 +213,7 @@ void MainWindow::onClearButtonClicked(GtkButton *button, gpointer userData)
void MainWindow::onQuitButtonClicked(GtkButton *button, gpointer userData)
{
+ (void)button;
MainWindow *self = static_cast(userData);
self->saveWindowState();
@@ -381,6 +390,7 @@ void MainWindow::updateLegend()
void MainWindow::show()
{
gtk_widget_set_visible(window, TRUE);
+ gtk_window_present(GTK_WINDOW(window));
}
void MainWindow::onWindowMap(GtkWidget *widget, gpointer userData)