Commit a540fe41 authored by Carlos Garnacho's avatar Carlos Garnacho Committed by Florian Müllner

st: Round CSS units to the nearest multiple of the scale factor

Actors themed through CSS should ideally get sizes and positions that
conform to the "pixel grid". A notorious example is the panel that has a
height of 1.86em. On unchanged font settings and hidpi that translates to
55px, which leaves the workarea with "half pixels" that hidpi wayland
applications don't know how to fully cover.

If the requested height is a multiple of the scale factor, the workarea
and maximized applications can then work on full pixels.

Closes: #91
parent 5be61bbb
Pipeline #75937 passed with stages
in 4 minutes and 14 seconds
......@@ -1136,10 +1136,14 @@ get_length_from_term_int (StThemeNode *node,
double value;
GetFromTermResult result;
int scale_factor;
result = get_length_from_term (node, term, use_parent_font, &value);
if (result == VALUE_FOUND)
*length = (int) (0.5 + value);
g_object_get (node->context, "scale-factor", &scale_factor, NULL);
*length = (int) ((value / scale_factor) + 0.5) * scale_factor;
return result;
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment