yshui / picom

A lightweight compositor for X11
Other
3.92k stars 576 forks source link

Unable to remove polybar shadow #1279

Closed reassuringgreet closed 2 days ago

reassuringgreet commented 3 days ago

Platform

Debian Sid with kernel 6.8.12-amd64

GPU, drivers, and screen setup

Thinkpad P14s with amdgpu
64:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Phoenix1 (rev dd)

Environment

Using IceWM with Polybar

picom version

vgit-c0a27

**Version:** vgit-c0a27

### Extensions:

* Shape: Yes
* RandR: Yes
* Present: Present

### Misc:

* Use Overlay: No
  (Another compositor is already running)
* Config file specified: None
* Config file used: /home/user/.config/picom/picom.conf

### Drivers (inaccurate):

AMDGPU, Radeon
[ 06/25/2024 14:31:42.008 egl_init WARN ] The egl backend is still experimental, use with care.

### Backend: egl

* Driver vendors:
 * EGL: Mesa Project
 * EGL driver: radeonsi
 * GL: AMD
* GL renderer: AMD Radeon 780M (radeonsi, gfx1103_r1, LLVM 17.0.6, DRM 3.57, 6.8.12-amd64)

### Backend: glx

* Driver vendors:
 * GLX: Mesa Project and SGI
 * GL: AMD
* GL renderer: AMD Radeon 780M (radeonsi, gfx1103_r1, LLVM 17.0.6, DRM 3.57, 6.8.12-amd64)
* Accelerated: 1

Configuration:

Configuration file ``` backend = "glx"; vsync = true; no-dock-shadow = true; corner-radius = 20.0; rounded-corners-exclude = [ "name = 'polybarMain'", ]; shadow = true; # Enabled client-side shadows on windows. shadow-radius = 40; # The blur radius for shadows. (default 12) shadow-offset-x = -40; # The left offset for shadows. (default -15) shadow-offset-y = -20; # The top offset for shadows. (default -15) shadow-opacity = 0.75; shadow-exclude = [ "name = 'polybarMain'" ]; fading = false; # Fade windows during opacity changes. fade-delta = 2; # The time between steps in a fade in milliseconds. (default 10). fade-in-step = 0.03; # Opacity change between steps while fading in. (default 0.028). fade-out-step = 0.03; # Opacity change between steps while fading out. (default 0.03). #"0:_NET_WM_STATE@:32a *= '_NET_WM_STATE_HIDDEN'", #"40:class_g = 'Bspwm' && transition-length = 300; transition-pow-x = 0.7; transition-pow-y = 0.7; transition-pow-w = 0.7; transition-pow-h = 0.7; size-transition = true; animations = false; animation-delta = 10; wintypes: { tooltip = { shadow = false; }; dock = { shadow = false; }; popup_menu = { shadow = false; }; #normal = { shadow = false; }; dropdown_menu = { shadow = false; }; menu = { shadow = false; } }; ```

Steps of reproduction

Running Picom I see that polybar has shadows applied, when it shouldn't. I tried with defining a shadow-exclude based on class, with no-dock-shadow = true, and I even defined wm-name='polybarMain' in polybar's config and then configuring the exclude in that name. Nothing works. This is how it looks with picom: image

And this is how it looks with shadow = false; (how I want it to look) image

DarioDarko commented 3 days ago

try with class_g instead of name, see example below

rounded-corners-exclude = [
    "class_g = 'Polybar'",
];
absolutelynothelix commented 3 days ago

try picom built from the latest commit in the next branch, if it's the issue i'm thinking about it should be fixed there.

reassuringgreet commented 2 days ago

@DarioDarko's suggestion didn't work, but @absolutelynothelix's did! The next branch build doesn't have this problem. Can I ask what was the issue?

absolutelynothelix commented 2 days ago

@reassuringgreet, a wrong assumption (54fb0c7ac045114255b3176031ec17908d049efd). honestly, the underlying issue is not entirely fixed and yshui keeps working on a proper solution but it's not easy. you may run into other issues now (e.g. #1278), so if you want to use the next branch instead of a stable release a more or less safe commit to build from would be a commit right before this assumption.

reassuringgreet commented 2 days ago

thanks a lot for the notes @absolutelynothelix , I'll do just that. Closing the issue now, thank you for the support.