diff options
author | Dave Davenport <qball@blame.services> | 2021-06-14 15:14:41 +0200 |
---|---|---|
committer | Dave Davenport <qball@blame.services> | 2021-06-14 15:14:41 +0200 |
commit | 5c5428bd11b87a336174398194062f7d3901daf6 (patch) | |
tree | a1fcffcebce80657e09eb023d8bed0f48eab9767 /source | |
parent | 7cf0385681f2b46027d3157e51b73ee91968763e (diff) |
[Theme] Add direction support to linear-gradient.
Diffstat (limited to 'source')
-rw-r--r-- | source/dialogs/run.c | 4 | ||||
-rw-r--r-- | source/theme.c | 16 |
2 files changed, 19 insertions, 1 deletions
diff --git a/source/dialogs/run.c b/source/dialogs/run.c index f9cacfef..23a8124f 100644 --- a/source/dialogs/run.c +++ b/source/dialogs/run.c @@ -259,6 +259,10 @@ static RunEntry * get_apps ( unsigned int *length ) gchar *homedir = g_locale_to_utf8 ( g_get_home_dir (), -1, NULL, &l, &error ); if ( error != NULL ) { g_debug ( "Failed to convert homedir to UTF-8: %s", error->message ); + for ( unsigned int i = 0; retv[i].entry != NULL ; i++ ) { + g_free ( retv[i].entry ); + } + g_free(retv); g_clear_error ( &error ); g_free ( homedir ); return NULL; diff --git a/source/theme.c b/source/theme.c index 46047337..219daf4f 100644 --- a/source/theme.c +++ b/source/theme.c @@ -1001,7 +1001,21 @@ gboolean rofi_theme_get_image ( const widget *widget, const char *property, cair return TRUE; } } else if ( p->value.image.type == ROFI_IMAGE_LINEAR_GRADIENT ) { - cairo_pattern_t * pat = cairo_pattern_create_linear (0.0,0.0, widget->w, 0.0); + cairo_pattern_t * pat = NULL; + switch ( p->value.image.dir ) { + case ROFI_DIRECTION_RIGHT: + pat = cairo_pattern_create_linear (0.0,0.0, widget->w, 0.0); + break; + case ROFI_DIRECTION_LEFT: + pat = cairo_pattern_create_linear (widget->w,0.0, 0.0, 0.0); + break; + case ROFI_DIRECTION_BOTTOM: + pat = cairo_pattern_create_linear (0.0,0.0, 0.0, widget->h); + break; + case ROFI_DIRECTION_TOP: + pat = cairo_pattern_create_linear (0.0,widget->h, 0.0, 0.0); + break; + }; guint length = g_list_length ( p->value.image.colors ); if ( length > 1 ){ length--; |