summaryrefslogtreecommitdiffstats
path: root/source
diff options
context:
space:
mode:
authorDave Davenport <qball@blame.services>2021-06-14 15:14:41 +0200
committerDave Davenport <qball@blame.services>2021-06-14 15:14:41 +0200
commit5c5428bd11b87a336174398194062f7d3901daf6 (patch)
treea1fcffcebce80657e09eb023d8bed0f48eab9767 /source
parent7cf0385681f2b46027d3157e51b73ee91968763e (diff)
[Theme] Add direction support to linear-gradient.
Diffstat (limited to 'source')
-rw-r--r--source/dialogs/run.c4
-rw-r--r--source/theme.c16
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--;