feat: add text glow animation for client titles

feat: enhance alt-tab selection with bold font rendering
refactor: simplify title bar color logic to use focused/unfocused states
perf: increase focus animation duration for smoother transitions
refactor: update build dependencies for decorations and workspace modules
This commit is contained in:
2026-01-26 23:36:06 +01:00
parent f55f024d22
commit b59c279bb0
20 changed files with 113 additions and 38 deletions
+1
View File
@@ -72,6 +72,7 @@ Client *client_get_last(void);
void client_start_focus_animation(Client *client, bool gaining_focus);
unsigned long client_get_animated_title_color(Client *client);
unsigned long client_get_glow_text_color(Client *client);
void client_update_animations(void);
#endif
+8
View File
@@ -95,6 +95,13 @@ typedef struct {
bool active;
} ColorAnimation;
typedef struct {
float phase;
float speed;
unsigned long base_color;
bool active;
} TextGlowAnimation;
typedef struct Client Client;
typedef struct Workspace Workspace;
typedef struct Monitor Monitor;
@@ -116,6 +123,7 @@ struct Client {
SnapConstraint snap;
unsigned long taskbar_color;
ColorAnimation title_anim;
TextGlowAnimation text_glow;
Client *next;
Client *prev;
Client *mru_next;
+1
View File
@@ -58,6 +58,7 @@ unsigned long generate_unique_color(void);
unsigned long adjust_color_for_background(unsigned long color, unsigned long bg);
unsigned long interpolate_color(unsigned long from, unsigned long to, float progress);
unsigned long dim_color(unsigned long color, float factor);
unsigned long glow_color(unsigned long base, float phase);
long get_time_ms(void);
void sleep_ms(int ms);