vinceliuice / WhiteSur-gtk-theme

MacOS Big Sur like theme for Gnome desktops
MIT License
5.76k stars 600 forks source link

[REQUEST] Option to make drop shadows a different color #345

Open RedBearAK opened 3 years ago

RedBearAK commented 3 years ago

This may seem like an odd request. I like dark (solid) themes but it can be difficult sometimes to see the edges of certain windows and dialogs because the "drop shadow" is of course dark, and blends in, instead of providing visual separation. This is a problem even for a moderately dark theme like WhiteSur.

Back when I had WhiteSur installed from gnome-look.org, I was able to do a simple modification to a couple of CSS files and got colored drop shadows (what I call "under lighting"). See the link below.

https://www.reddit.com/r/gnome/comments/nwcnt1/turn_window_drop_shadows_into_under_lighting_for/

Now that I'm installing WhiteSur straight from GitHub, the CSS trick no longer seems to work. It would be neat to have an install or tweak option to change the drop shadow color.

One of the worst dialogs that blends in on a dark theme is the notifications dialog.

gqsyiv0qai471_png_92

kernelb00t commented 5 months ago

https://github.com/vinceliuice/WhiteSur-gtk-theme/blob/master/src/sass/_colors.scss#L286 This is the line to change. Hope that this late response is somewhat useful :sweat_smile:

RedBearAK commented 5 months ago

@kernelb00t

Incredibly helpful. GPT-4 suggests doing something like this, which I will try out when I get some time:

// Light shadow for dark theme using lower opacity
$light_shadow_color: rgba(white, 0.15); // Light color with low opacity for subtle effect
$light_shadow_backdrop: rgba(white, 0.08); // Even more subtle for the backdrop

// Original dark shadow for light theme using higher opacity
$dark_shadow_color: rgba(black, 0.35); // Dark color for shadows in light theme
$dark_shadow_backdrop: rgba(black, 0.15); // Backdrop shadow in light theme

// Setting the shadow color based on the theme variant
$wm_shadow: if($variant == 'light', $dark_shadow_color, $light_shadow_color);
$wm_shadow_backdrop: if($variant == 'light', $dark_shadow_backdrop, $light_shadow_backdrop);

The color or opacity of the "light" shadow and backdrop may need to be adjusted from this. For the white shadow and backdrop I used the lower opacity values that are currently being given to the black shadow in the dark variant. Light colors tend to have more impact when contrasted with a mostly dark theme. But without testing it I won't know for sure.

kernelb00t commented 5 months ago

Wow, I was not hoping for a response after 3 years 😂 I was cleaning stale issues that were never responded to, and all I had was "I don't use this theme" or "I don't care anymore about that".

Does the notification use "shadow_color" or "wm_color" for the shadow? Because I fear changing shadow_color can break other panels/things in the shell.

RedBearAK commented 5 months ago

The notification shadow seems to remain dark, but I do now have a light shadow for the dark theme on regular windows. Looks like my guess on the opacity was good. It's a nice mild light-gray separation from the dark background.

The dialogs like "Log Out" also don't seem to be affected by that change.

I'm currently attempting to fix the missing button highlighting (when you use Tab) that has always driven me away from this theme. It's really annoying not knowing which button will be activated when I hit the Space bar.