diff options
Diffstat (limited to 'files/config/suckless/st/st.h.rej')
| -rw-r--r-- | files/config/suckless/st/st.h.rej | 72 |
1 files changed, 0 insertions, 72 deletions
diff --git a/files/config/suckless/st/st.h.rej b/files/config/suckless/st/st.h.rej deleted file mode 100644 index 0434f72..0000000 --- a/files/config/suckless/st/st.h.rej +++ /dev/null @@ -1,72 +0,0 @@ ---- st.h -+++ st.h -@@ -140,3 +156,69 @@ extern unsigned int tabspaces; - extern unsigned int defaultfg; - extern unsigned int defaultbg; - extern unsigned int defaultcs; -+ -+// Accessors to decoration properties stored in `decor`. -+// The 25-th bit is used to indicate if it's a 24-bit color. -+static inline uint32_t tgetdecorcolor(Glyph *g) { return g->decor & 0x1ffffff; } -+static inline uint32_t tgetdecorstyle(Glyph *g) { return (g->decor >> 25) & 0x7; } -+static inline void tsetdecorcolor(Glyph *g, uint32_t color) { -+ g->decor = (g->decor & ~0x1ffffff) | (color & 0x1ffffff); -+} -+static inline void tsetdecorstyle(Glyph *g, uint32_t style) { -+ g->decor = (g->decor & ~(0x7 << 25)) | ((style & 0x7) << 25); -+} -+ -+ -+// Some accessors to image placeholder properties stored in `u`: -+// - row (1-base) - 9 bits -+// - column (1-base) - 9 bits -+// - most significant byte of the image id plus 1 - 9 bits (0 means unspecified, -+// don't forget to subtract 1). -+// - the original number of diacritics (0, 1, 2, or 3) - 2 bits -+// - whether this is a classic (1) or Unicode (0) placeholder - 1 bit -+static inline uint32_t tgetimgrow(Glyph *g) { return g->u & 0x1ff; } -+static inline uint32_t tgetimgcol(Glyph *g) { return (g->u >> 9) & 0x1ff; } -+static inline uint32_t tgetimgid4thbyteplus1(Glyph *g) { return (g->u >> 18) & 0x1ff; } -+static inline uint32_t tgetimgdiacriticcount(Glyph *g) { return (g->u >> 27) & 0x3; } -+static inline uint32_t tgetisclassicplaceholder(Glyph *g) { return (g->u >> 29) & 0x1; } -+static inline void tsetimgrow(Glyph *g, uint32_t row) { -+ g->u = (g->u & ~0x1ff) | (row & 0x1ff); -+} -+static inline void tsetimgcol(Glyph *g, uint32_t col) { -+ g->u = (g->u & ~(0x1ff << 9)) | ((col & 0x1ff) << 9); -+} -+static inline void tsetimg4thbyteplus1(Glyph *g, uint32_t byteplus1) { -+ g->u = (g->u & ~(0x1ff << 18)) | ((byteplus1 & 0x1ff) << 18); -+} -+static inline void tsetimgdiacriticcount(Glyph *g, uint32_t count) { -+ g->u = (g->u & ~(0x3 << 27)) | ((count & 0x3) << 27); -+} -+static inline void tsetisclassicplaceholder(Glyph *g, uint32_t isclassic) { -+ g->u = (g->u & ~(0x1 << 29)) | ((isclassic & 0x1) << 29); -+} -+ -+/// Returns the full image id. This is a naive implementation, if the most -+/// significant byte is not specified, it's assumed to be 0 instead of inferring -+/// it from the cells to the left. -+static inline uint32_t tgetimgid(Glyph *g) { -+ uint32_t msb = tgetimgid4thbyteplus1(g); -+ if (msb != 0) -+ --msb; -+ return (msb << 24) | (g->fg & 0xFFFFFF); -+} -+ -+/// Sets the full image id. -+static inline void tsetimgid(Glyph *g, uint32_t id) { -+ g->fg = (id & 0xFFFFFF) | (1 << 24); -+ tsetimg4thbyteplus1(g, ((id >> 24) & 0xFF) + 1); -+} -+ -+static inline uint32_t tgetimgplacementid(Glyph *g) { -+ if (tgetdecorcolor(g) == DECOR_DEFAULT_COLOR) -+ return 0; -+ return g->decor & 0xFFFFFF; -+} -+ -+static inline void tsetimgplacementid(Glyph *g, uint32_t id) { -+ g->decor = (id & 0xFFFFFF) | (1 << 24); -+} |
