###############################################
#     PICOM CONFIG OPTIMISÉ THINKPAD P50      #
#          NVIDIA PRIME + VSYNC ON            #
#         Anti-tearing – Anti-jitter          #
###############################################

###############################################
# BACKEND
###############################################
backend = "glx";
glx-no-stencil = true;
glx-no-rebind-pixmap = true;
use-damage = true;

###############################################
# VSYNC (ANTI-TEARING)
###############################################
vsync = true;
xrender-sync = true;
xrender-sync-fence = true;

###############################################
# PERFS (NVIDIA)
###############################################
use-ewmh-active-win = true;
unredir-if-possible = false;     # important pour PRIME (évite le tearing)
unredir-if-possible-delay = 0;
unredir-if-possible-exclude = [ ];

###############################################
# FADE EFFECTS (léger, pas de latency)
###############################################
fading = true;
fade-delta = 4;
fade-in-step = 0.03;
fade-out-step = 0.03;
fade-exclude = [ ];

###############################################
# OPACITÉS (optionnel)
###############################################
inactive-opacity = 1.0;
active-opacity = 1.0;

###############################################
# SHADOWS (faibles, élégants, minimalistes)
###############################################
shadow = true;
shadow-radius = 12;
shadow-opacity = 0.25;
shadow-offset-x = -7;
shadow-offset-y = -7;

shadow-exclude = [
  "name = 'Notification'",
  "name = 'i3-frame'",
  "class_g = 'dunst'",
  "class_g = 'Conky'",
  "_GTK_FRAME_EXTENTS@:c"
];

###############################################
# BLUR OPTIMISÉ GPU (peu coûteux)
###############################################
blur-method = "kawase";
blur-strength = 5;

blur-background = false;
blur-background-exclude = [
  "class_g = 'i3-frame'",
  "window_type = 'dock'",
  "window_type = 'desktop'",
];

###############################################
# CORRECTIONS NVIDIA
###############################################
detect-rounded-corners = true;
detect-client-leader = true;

###############################################
# RÉGLAGES SPÉCIAUX I3WM
###############################################
mark-wmwin-focused = true;
detect-transient = true;
detect-client-opacity = true;
refresh-rate = 0;  # auto-detection NVIDIA (le plus stable)

###############################################
# BORDS PROPRE
###############################################
corner-radius = 0;

###############################################
# EXCLUSIONS POUR PERFS
###############################################
opacity-rule = [
  "99:class_g = 'i3lock'",
  "99:class_g = 'i3bar'",
  "99:class_g = 'Polybar'"
];
