aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPřemysl Eric Janouch <p@janouch.name>2021-11-10 20:53:24 +0100
committerPřemysl Eric Janouch <p@janouch.name>2021-11-10 21:06:43 +0100
commit405f9758997e6399bb573f4fc1119e493fe9c195 (patch)
treed784707326c3b00d2203859c43c37ac465c6cad0
parentfc4eb97218f117399e6dfcda459d1562894566f0 (diff)
downloadfiv-405f9758997e6399bb573f4fc1119e493fe9c195.tar.gz
fiv-405f9758997e6399bb573f4fc1119e493fe9c195.tar.xz
fiv-405f9758997e6399bb573f4fc1119e493fe9c195.zip
Use a checkerboard pattern on item background
-rw-r--r--fastiv-browser.c1
-rw-r--r--fastiv.c22
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);
diff --git a/fastiv.c b/fastiv.c
index e6804d5..273e63a 100644
--- a/fastiv.c
+++ b/fastiv.c
@@ -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(),