mirror of
https://github.com/ZoiteChat/zoitechat.git
synced 2026-03-29 08:40:20 +00:00
UI: Adjust headerbar icon size/padding.
This commit is contained in:
@@ -415,6 +415,24 @@ theme_manager_is_kde_wayland (void)
|
|||||||
return is_kde;
|
return is_kde;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static gint
|
||||||
|
theme_manager_get_system_headerbar_height (void)
|
||||||
|
{
|
||||||
|
GtkWidget *probe;
|
||||||
|
gint minimum;
|
||||||
|
gint natural;
|
||||||
|
|
||||||
|
probe = gtk_header_bar_new ();
|
||||||
|
gtk_header_bar_set_show_close_button (GTK_HEADER_BAR (probe), TRUE);
|
||||||
|
gtk_header_bar_set_decoration_layout (GTK_HEADER_BAR (probe), "menu:minimize,maximize,close");
|
||||||
|
gtk_widget_show (probe);
|
||||||
|
gtk_widget_get_preferred_height (probe, &minimum, &natural);
|
||||||
|
gtk_widget_destroy (probe);
|
||||||
|
if (natural > 0)
|
||||||
|
return natural;
|
||||||
|
return minimum;
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
theme_manager_apply_wayland_kde_csd (GtkWidget *window)
|
theme_manager_apply_wayland_kde_csd (GtkWidget *window)
|
||||||
{
|
{
|
||||||
@@ -442,10 +460,16 @@ theme_manager_apply_wayland_kde_csd (GtkWidget *window)
|
|||||||
headerbar = gtk_header_bar_new ();
|
headerbar = gtk_header_bar_new ();
|
||||||
gtk_header_bar_set_show_close_button (GTK_HEADER_BAR (headerbar), TRUE);
|
gtk_header_bar_set_show_close_button (GTK_HEADER_BAR (headerbar), TRUE);
|
||||||
gtk_header_bar_set_decoration_layout (GTK_HEADER_BAR (headerbar), "menu:minimize,maximize,close");
|
gtk_header_bar_set_decoration_layout (GTK_HEADER_BAR (headerbar), "menu:minimize,maximize,close");
|
||||||
icon_pixbuf = gdk_pixbuf_new_from_resource_at_scale ("/icons/zoitechat.svg", 32, 32, TRUE, NULL);
|
g_object_set (G_OBJECT (headerbar), "spacing", 0, NULL);
|
||||||
|
gtk_widget_set_size_request (headerbar, -1, theme_manager_get_system_headerbar_height ());
|
||||||
|
icon_pixbuf = gdk_pixbuf_new_from_resource_at_scale ("/icons/zoitechat.svg", 24, 24, TRUE, NULL);
|
||||||
if (!icon_pixbuf)
|
if (!icon_pixbuf)
|
||||||
icon_pixbuf = gdk_pixbuf_new_from_resource_at_scale ("/icons/zoitechat.png", 32, 32, TRUE, NULL);
|
icon_pixbuf = gdk_pixbuf_new_from_resource_at_scale ("/icons/zoitechat.png", 24, 24, TRUE, NULL);
|
||||||
icon_image = icon_pixbuf ? gtk_image_new_from_pixbuf (icon_pixbuf) : gtk_image_new_from_resource ("/icons/zoitechat.png");
|
icon_image = icon_pixbuf ? gtk_image_new_from_pixbuf (icon_pixbuf) : gtk_image_new_from_resource ("/icons/zoitechat.png");
|
||||||
|
gtk_widget_set_margin_start (icon_image, 0);
|
||||||
|
gtk_widget_set_margin_end (icon_image, 0);
|
||||||
|
gtk_widget_set_margin_top (icon_image, 0);
|
||||||
|
gtk_widget_set_margin_bottom (icon_image, 0);
|
||||||
if (icon_pixbuf)
|
if (icon_pixbuf)
|
||||||
g_object_unref (icon_pixbuf);
|
g_object_unref (icon_pixbuf);
|
||||||
gtk_header_bar_pack_start (GTK_HEADER_BAR (headerbar), icon_image);
|
gtk_header_bar_pack_start (GTK_HEADER_BAR (headerbar), icon_image);
|
||||||
|
|||||||
Reference in New Issue
Block a user