diff --git a/include/widgets/textbox.h b/include/widgets/textbox.h index 48bc6c54..36d0c7cc 100644 --- a/include/widgets/textbox.h +++ b/include/widgets/textbox.h @@ -86,7 +86,7 @@ typedef enum TB_WRAP = 1 << 21, TB_PASSWORD = 1 << 22, TB_INDICATOR = 1 << 23, - TB_ICON = 1<<24, + TB_ICON = 1 << 24, } TextboxFlags; /** * Flags indicating current state of the textbox. diff --git a/source/dialogs/drun.c b/source/dialogs/drun.c index a10057e6..ae7eaea3 100644 --- a/source/dialogs/drun.c +++ b/source/dialogs/drun.c @@ -89,9 +89,9 @@ typedef struct unsigned int cmd_list_length_actual; unsigned int history_length; // List of disabled entries. - GHashTable *disabled_entries; - unsigned int disabled_entries_length; - GThread *thread; + GHashTable *disabled_entries; + unsigned int disabled_entries_length; + GThread *thread; } DRunModePrivateData; struct RegexEvalArg @@ -423,41 +423,44 @@ static void drun_icon_fetch ( gpointer data ) { // as long as dr->icon is updated atomicly.. (is a pointer write atomic?) // this should be fine running in another thread. - GTimer *t = g_timer_new (); - DRunModePrivateData *pd = (DRunModePrivateData*)data; - for ( size_t i = 0; i < pd->cmd_list_length; i++ ) { - DRunModeEntry *dr = &( pd->entry_list[i] ); - if ( dr->icon_name == NULL ) - continue; - gchar *icon_path = nk_xdg_theme_get_icon ( pd->xdg_context, NULL, "Applications", dr->icon_name, 32, 1, TRUE ); - if ( icon_path == NULL ) { - g_free(dr->icon_name); - dr->icon_name = NULL; - continue; - } - else - g_log ( G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, "Found Icon %s(%d): %s", dr->icon_name, 32, icon_path ); + GTimer *t = g_timer_new (); + DRunModePrivateData *pd = (DRunModePrivateData *) data; + for ( size_t i = 0; i < pd->cmd_list_length; i++ ) { + DRunModeEntry *dr = &( pd->entry_list[i] ); + if ( dr->icon_name == NULL ) { + continue; + } + gchar *icon_path = nk_xdg_theme_get_icon ( pd->xdg_context, NULL, "Applications", dr->icon_name, 32, 1, TRUE ); + if ( icon_path == NULL ) { + g_free ( dr->icon_name ); + dr->icon_name = NULL; + continue; + } + else{ + g_log ( G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, "Found Icon %s(%d): %s", dr->icon_name, 32, icon_path ); + } - if ( g_str_has_suffix ( icon_path, ".png" ) ) - dr->icon = cairo_image_surface_create_from_png(icon_path); - else if ( g_str_has_suffix ( icon_path, ".svg" ) ) - dr->icon = cairo_image_surface_create_from_svg(icon_path, 32); - else { - g_log ( G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, "Icon type not yet supported: %s", icon_path ); - char *r = dr->icon_name; - dr->icon_name = NULL; - g_free(r); - } - g_free(icon_path); - // if ( (i%100) == 99 ) - { - - rofi_view_reload(); - } - } - rofi_view_reload(); - g_log ( G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, "elapsed: %f\n" , g_timer_elapsed ( t, NULL)); - g_timer_destroy ( t ); + if ( g_str_has_suffix ( icon_path, ".png" ) ) { + dr->icon = cairo_image_surface_create_from_png ( icon_path ); + } + else if ( g_str_has_suffix ( icon_path, ".svg" ) ) { + dr->icon = cairo_image_surface_create_from_svg ( icon_path, 32 ); + } + else { + g_log ( G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, "Icon type not yet supported: %s", icon_path ); + char *r = dr->icon_name; + dr->icon_name = NULL; + g_free ( r ); + } + g_free ( icon_path ); + // if ( (i%100) == 99 ) + { + rofi_view_reload (); + } + } + rofi_view_reload (); + g_log ( G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, "elapsed: %f\n", g_timer_elapsed ( t, NULL ) ); + g_timer_destroy ( t ); } static int drun_mode_init ( Mode *sw ) @@ -531,7 +534,7 @@ static void drun_mode_destroy ( Mode *sw ) { DRunModePrivateData *rmpd = (DRunModePrivateData *) mode_get_private_data ( sw ); if ( rmpd != NULL ) { - if ( rmpd->thread ){ + if ( rmpd->thread ) { g_thread_join ( rmpd->thread ); rmpd->thread = NULL; } @@ -572,7 +575,7 @@ static cairo_surface_t *_get_icon ( const Mode *sw, unsigned int selected_line, { DRunModePrivateData *pd = (DRunModePrivateData *) mode_get_private_data ( sw ); g_return_val_if_fail ( pd->entry_list != NULL, NULL ); - DRunModeEntry *dr = &( pd->entry_list[selected_line] ); + DRunModeEntry *dr = &( pd->entry_list[selected_line] ); return dr->icon; } diff --git a/source/view.c b/source/view.c index 6d2b7aea..921c0d5f 100644 --- a/source/view.c +++ b/source/view.c @@ -906,7 +906,7 @@ static void update_callback ( textbox *t, unsigned int index, void *udata, TextB else{ list = pango_attr_list_new (); } - int icon_height = textbox_get_font_height ( t ); + int icon_height = textbox_get_font_height ( t ); cairo_surface_t *icon = mode_get_icon ( state->sw, state->line_map[index], icon_height ); textbox_icon ( t, icon ); diff --git a/source/widgets/listview.c b/source/widgets/listview.c index 2cab442d..427a53c2 100644 --- a/source/widgets/listview.c +++ b/source/widgets/listview.c @@ -243,7 +243,7 @@ static void listview_recompute_elements ( listview *lv ) char *name = g_strjoin ( ".", lv->listview_name, "element", NULL ); for ( unsigned int i = lv->cur_elements; i < newne; i++ ) { TextboxFlags flags = ( lv->multi_select ) ? TB_INDICATOR : 0; - flags |= ((config.show_icons)? TB_ICON:0); + flags |= ( ( config.show_icons ) ? TB_ICON : 0 ); lv->boxes[i] = textbox_create_full ( WIDGET_TYPE_LISTVIEW_ELEMENT, name, flags, NORMAL, "" ); widget_set_trigger_action_handler ( WIDGET ( lv->boxes[i] ), listview_element_trigger_action, lv ); } diff --git a/source/widgets/textbox.c b/source/widgets/textbox.c index 27bc5246..a5a8cfac 100644 --- a/source/widgets/textbox.c +++ b/source/widgets/textbox.c @@ -143,8 +143,8 @@ textbox* textbox_create_full ( WidgetType type, const char *name, TextboxFlags f tb->changed = FALSE; tb->layout = pango_layout_new ( p_context ); - if ( (tb->flags&TB_ICON) == TB_ICON) { - tb->left_offset = 1.2*textbox_get_estimated_char_height(); + if ( ( tb->flags & TB_ICON ) == TB_ICON ) { + tb->left_offset = 1.2 * textbox_get_estimated_char_height (); } textbox_font ( tb, tbft ); @@ -189,7 +189,6 @@ textbox* textbox_create_full ( WidgetType type, const char *name, TextboxFlags f tb->widget.trigger_action = textbox_editable_trigger_action; } - // Enabled by default tb->widget.enabled = rofi_theme_get_boolean ( WIDGET ( tb ), "enabled", TRUE ); return tb; @@ -366,7 +365,7 @@ static void textbox_free ( widget *wid ) static void textbox_draw ( widget *wid, cairo_t *draw ) { textbox *tb = (textbox *) wid; - unsigned int offset = tb->left_offset + (( tb->flags & TB_INDICATOR ) ? DOT_OFFSET : 0); + unsigned int offset = tb->left_offset + ( ( tb->flags & TB_INDICATOR ) ? DOT_OFFSET : 0 ); if ( tb->changed ) { __textbox_update_pango_text ( tb ); @@ -378,21 +377,21 @@ static void textbox_draw ( widget *wid, cairo_t *draw ) int y = top + ( pango_font_metrics_get_ascent ( tb->metrics ) - pango_layout_get_baseline ( tb->layout ) ) / PANGO_SCALE; // draw Icon - if ( (tb->flags&TB_ICON) == TB_ICON && tb->icon != NULL ) { + if ( ( tb->flags & TB_ICON ) == TB_ICON && tb->icon != NULL ) { int iconheight = textbox_get_font_height ( tb ); - cairo_save(draw); + cairo_save ( draw ); /*int iconw = cairo_image_surface_get_width (tb->icon);*/ - int iconh = cairo_image_surface_get_height (tb->icon); - double scale = (double)iconheight / iconh; + int iconh = cairo_image_surface_get_height ( tb->icon ); + double scale = (double) iconheight / iconh; - cairo_translate(draw, x, y); - cairo_scale(draw, scale, scale); - cairo_set_source_surface(draw, tb->icon, 0,0); - cairo_paint(draw); - cairo_restore(draw); + cairo_translate ( draw, x, y ); + cairo_scale ( draw, scale, scale ); + cairo_set_source_surface ( draw, tb->icon, 0, 0 ); + cairo_paint ( draw ); + cairo_restore ( draw ); } - x+=offset; + x += offset; if ( tb->flags & TB_RIGHT ) { int line_width = 0;