diff --git a/kitty/cell_vertex.glsl b/kitty/cell_vertex.glsl index 2a5b0e1dd..08d2610c9 100644 --- a/kitty/cell_vertex.glsl +++ b/kitty/cell_vertex.glsl @@ -1,7 +1,10 @@ #version GLSL_VERSION #define WHICH_PROGRAM #define NOT_TRANSPARENT -#define SHIFTS +#define DECORATION_SHIFT {DECORATION_SHIFT} +#define REVERSE_SHIFT {REVERSE_SHIFT} +#define STRIKE_SHIFT {STRIKE_SHIFT} +#define DIM_SHIFT {DIM_SHIFT} // Inputs {{{ layout(std140) uniform CellRenderData { diff --git a/kitty/window.py b/kitty/window.py index 185f8e380..043bfe720 100644 --- a/kitty/window.py +++ b/kitty/window.py @@ -65,10 +65,8 @@ def load_shader_programs(semi_transparent=0): 'FOREGROUND': CELL_FG_PROGRAM, }.items(): vv, ff = v.replace('WHICH_PROGRAM', which), f.replace('WHICH_PROGRAM', which) - shifts = '\n'.join('#define {} {}'.format(name, val) for name, val in ( - ('DECORATION_SHIFT', DECORATION), ('REVERSE_SHIFT', REVERSE), ('STRIKE_SHIFT', STRIKETHROUGH), ('DIM_SHIFT', DIM), - )) - vv = vv.replace('#define SHIFTS', shifts) + for gln, pyn in {'REVERSE_SHIFT': REVERSE, 'STRIKE_SHIFT': STRIKETHROUGH, 'DIM_SHIFT': DIM, 'DECORATION_SHIFT': DECORATION}.items(): + vv = vv.replace('{{{}}}'.format(gln), str(pyn), 1) if semi_transparent: vv = vv.replace('#define NOT_TRANSPARENT', '#define TRANSPARENT') ff = ff.replace('#define NOT_TRANSPARENT', '#define TRANSPARENT')