icon embedded

This commit is contained in:
Radek Davidek 2026-03-05 17:22:57 +01:00
parent 6253507917
commit 905cfcaf01
3 changed files with 15 additions and 2 deletions

View File

@ -2,6 +2,7 @@
<gresources>
<gresource prefix="/org/kamma/nvme-monitor">
<file>nvme-monitor.svg</file>
<file alias="icons/hicolor/scalable/apps/nvme-monitor.svg">nvme-monitor.svg</file>
<file>style.css</file>
</gresource>
</gresources>

View File

@ -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();

View File

@ -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<MainWindow*>(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<MainWindow*>(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)