b4n left a comment (geany/geany#4286)

This probably would need to be behind a pref because screen estate is very 
valued by some, but why not.

<details>
<summary>here's a POC (don't use this for proper implementation, it's pretty 
dumb):</summary>

```diff
diff --git a/src/notebook.c b/src/notebook.c
index 4b3672694..31eef389b 100644
--- a/src/notebook.c
+++ b/src/notebook.c
@@ -694,6 +694,14 @@ static void notebook_tab_close_button_style_set(GtkWidget 
*btn, GtkRcStyle *prev
 }
 
 
+static void on_filetype_set(GObject *dummy, GeanyDocument *doc, GeanyFiletype 
*old_ft, gpointer data_)
+{
+       gpointer *data = data_;
+
+       if (doc == data[0])
+               gtk_image_set_from_gicon(data[1], doc->file_type->icon, 
GTK_ICON_SIZE_MENU);
+}
+
 /* Returns page number of notebook page, or -1 on error
  *
  * Note: the widget added to the notebook is *not* shown by this function, so 
you have to call
@@ -732,6 +740,17 @@ gint notebook_new_tab(GeanyDocument *this)
        gtk_widget_add_events(GTK_WIDGET(this->priv->tab_label), 
GDK_SCROLL_MASK);
 
        hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 2);
+
+       if (1)
+       {
+               GtkWidget *image = gtk_image_new_from_gicon(this->file_type ? 
this->file_type->icon : NULL, GTK_ICON_SIZE_MENU);
+               gtk_box_pack_start(GTK_BOX(hbox), image, FALSE, FALSE, 0);
+               gpointer *data = g_malloc_n(2, sizeof *data);
+               data[0] = this;
+               data[1] = image;
+               g_signal_connect_data(geany_object, "document-filetype-set", 
G_CALLBACK(on_filetype_set), data, g_free, 0);
+       }
+
        gtk_box_pack_start(GTK_BOX(hbox), this->priv->tab_label, FALSE, FALSE, 
0);
        gtk_container_add(GTK_CONTAINER(ebox), hbox);
 
```
</details>

It would look like this (Adwaita here, complain at will 😉):

![Image](https://github.com/user-attachments/assets/d15446e1-6624-422e-8d69-7f3e00a2eade)

-- 
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/issues/4286#issuecomment-2795272229
You are receiving this because you are subscribed to this thread.

Message ID: <geany/geany/issues/4286/2795272...@github.com>

Reply via email to