summaryrefslogtreecommitdiffstats
path: root/source/dialogs/window.c
diff options
context:
space:
mode:
Diffstat (limited to 'source/dialogs/window.c')
-rw-r--r--source/dialogs/window.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/source/dialogs/window.c b/source/dialogs/window.c
index e6691401..d031d5d1 100644
--- a/source/dialogs/window.c
+++ b/source/dialogs/window.c
@@ -56,6 +56,8 @@
#include "timings.h"
+#include "rofi-icon-fetcher.h"
+
#define WINLIST 32
#define CLIENTSTATE 10
@@ -108,6 +110,7 @@ typedef struct
char *wmdesktopstr;
cairo_surface_t *icon;
gboolean icon_checked;
+ uint32_t icon_fetch_uid;
} client;
// window lists
@@ -910,6 +913,13 @@ static cairo_surface_t *_get_icon ( const Mode *sw, unsigned int selected_line,
c->icon = get_net_wm_icon ( rmpd->ids->array[selected_line], size );
c->icon_checked = TRUE;
}
+ if ( c->icon == NULL && c->class ){
+ if ( c->icon_fetch_uid > 0){
+ return rofi_icon_fetcher_get ( c->icon_fetch_uid );
+ }
+ c->icon_fetch_uid = rofi_icon_fetcher_query ( c->class, size);
+
+ }
return c->icon;
}