dotfiles/.config/bspwm/picom.conf
Sarthak ddf4b5b8d9 control panel: audio devices, icon font, padding, blur
- audio view: output/input device switching, master volume + mic, and
  per-application streams with their own sliders (pactl sink-inputs)
- icons rendered black because GTK used the desktop font (Noto Sans), which
  has no Nerd Font glyphs; Pango's per-glyph fallback then ignored the css
  colour. Icon classes now name the font explicitly.
- bspwm drew a focus border around the panel that fought the css rounded
  corners: border=off on the rule
- picom now blurs translucent surfaces, so the panel reads as glass rather
  than showing the text behind it
- padding and spacing throughout: frame 20px, section margins, card padding

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Cn3dHfbgNYdbZvzb1b3GQt
2026-09-04 08:33:51 +05:30

82 lines
2 KiB
Text

#################################
# Backend
#################################
backend = "glx";
vsync = true;
#################################
# Animations (smooth but light)
#################################
animations = true;
animation-stiffness = 200;
animation-dampening = 20;
animation-clamping = true;
animation-for-open-window = "zoom";
animation-for-unmap-window = "fade";
animation-for-transient-window = "zoom";
#################################
# Fading (subtle smoothness)
#################################
fading = true;
fade-in-step = 0.04;
fade-out-step = 0.04;
fade-delta = 5;
#################################
# Transparency (ONLY terminal)
#################################
inactive-opacity = 1.0;
active-opacity = 1.0;
opacity-rule = [
"85:class_g = 'kitty'"
];
#################################
# Shadows (optional but light)
#################################
shadow = false;
#################################
# Performance / sanity
#################################
unredir-if-possible = true;
detect-client-opacity = true;
use-damage = true;
log-level = "warn";
# --- rounded corners ---
corner-radius = 12;
round-borders = 1;
rounded-corners-exclude = [
# the particles layer is a full-screen desktop window; clipping it would
# notch the corners of the field
"window_type = 'desktop'",
# polybar rounds its own background
"window_type = 'dock'",
# never round a fullscreen game
"_NET_WM_STATE@:32a *= '_NET_WM_STATE_FULLSCREEN'",
];
# The control centre redraws by relaunching rofi, so the open/close zoom and
# fade read as flicker. Exclude rofi from both.
fade-exclude = [
"class_g = 'Rofi'",
];
animation-exclude = [
"class_g = 'Rofi'",
];
# Translucent surfaces over busy content read as noise without blur.
blur-method = "dual_kawase";
blur-strength = 6;
blur-background = true;
blur-background-frame = true;
blur-background-exclude = [
# the particle layer is transparent on purpose; blurring it would smear
# the wallpaper behind it
"window_type = 'desktop'",
"class_g = 'Particles'",
];