diff options
| author | Přemysl Eric Janouch <p@janouch.name> | 2021-11-10 20:53:24 +0100 | 
|---|---|---|
| committer | Přemysl Eric Janouch <p@janouch.name> | 2021-11-10 21:06:43 +0100 | 
| commit | 405f9758997e6399bb573f4fc1119e493fe9c195 (patch) | |
| tree | d784707326c3b00d2203859c43c37ac465c6cad0 | |
| parent | fc4eb97218f117399e6dfcda459d1562894566f0 (diff) | |
| download | fiv-405f9758997e6399bb573f4fc1119e493fe9c195.tar.gz fiv-405f9758997e6399bb573f4fc1119e493fe9c195.tar.xz fiv-405f9758997e6399bb573f4fc1119e493fe9c195.zip  | |
Use a checkerboard pattern on item background
| -rw-r--r-- | fastiv-browser.c | 1 | ||||
| -rw-r--r-- | fastiv.c | 22 | 
2 files changed, 18 insertions, 5 deletions
diff --git a/fastiv-browser.c b/fastiv-browser.c index 7c1dcf5..e4ffa4e 100644 --- a/fastiv-browser.c +++ b/fastiv-browser.c @@ -248,7 +248,6 @@ draw_row(FastivBrowser *self, cairo_t *cr, const Row *row)  			border.left + extents.width + border.right,  			border.top + extents.height + border.bottom); -		// TODO(p): See if a mild checkerboard pattern would not look nice.  		gtk_render_background(  			style, cr, border.left, border.top, extents.width, extents.height); @@ -335,10 +335,24 @@ main(int argc, char *argv[])  	gtk_window_set_default_icon_name(PROJECT_NAME); -	const char *style = "fastiv-view, fastiv-browser { background: #222; }" -		"fastiv-browser { padding: 5px; } fastiv-browser.item {" -			"border: 1px solid rgba(255, 255, 255, 0.5); " -			"margin: 10px; color: #000; background: #444; }"; +	// This is incredibly broken https://stackoverflow.com/a/51054396/76313 +	// thus resolving the problem using overlaps. +	const char *style = "@define-color fastiv-tile #3c3c3c; \ +		fastiv-view, fastiv-browser { background: #222; } \ +		fastiv-browser { padding: 5px; } \ +		fastiv-browser.item { \ +			border: 1px solid rgba(255, 255, 255, 0.5); \ +			margin: 10px; color: #000; \ +			background: #333; \ +			background-image: \ +				linear-gradient(45deg, @fastiv-tile 26%, transparent 26%), \ +				linear-gradient(-45deg, @fastiv-tile 26%, transparent 26%), \ +				linear-gradient(45deg, transparent 74%, @fastiv-tile 74%), \ +				linear-gradient(-45deg, transparent 74%, @fastiv-tile 74%); \ +			background-size: 40px 40px; \ +			background-position: 0 0, 0 20px, 20px -20px, -20px 0px; \ +		}"; +  	GtkCssProvider *provider = gtk_css_provider_new();  	gtk_css_provider_load_from_data(provider, style, strlen(style), NULL);  	gtk_style_context_add_provider_for_screen(gdk_screen_get_default(),  | 
