Skip to content

Property override_redirect = true matches all windows irrespective of state #625

@ffs97

Description

@ffs97

Platform

Arch Linux x86_64

GPU, drivers, and screen setup

NVIDIA GeForce GTX 1660 Ti Mobile, nvidia-drivers 465.27, single monitor setup with xrandr
Using video drivers - xf86-video-intel-1:2.99.917+916+g31486f40-1, mesa-21.0.3-2

glxinfo -B

name of display: :0
display: :0  screen: 0
direct rendering: Yes
Memory info (GL_NVX_gpu_memory_info):
    Dedicated video memory: 6144 MB
    Total available memory: 6144 MB
    Currently available dedicated video memory: 4973 MB
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: NVIDIA GeForce GTX 1660 Ti/PCIe/SSE2
OpenGL core profile version string: 4.6.0 NVIDIA 465.27
OpenGL core profile shading language version string: 4.60 NVIDIA
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile

OpenGL version string: 4.6.0 NVIDIA 465.27
OpenGL shading language version string: 4.60 NVIDIA
OpenGL context flags: (none)
OpenGL profile mask: (none)

OpenGL ES profile version string: OpenGL ES 3.2 NVIDIA 465.27
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20

Environment

Awesome WM

picom version

**Version:** vgit-9cb55

### Extensions:

* Shape: Yes
* XRandR: Yes
* Present: Present

### Misc:

* Use Overlay: No
  (Another compositor is already running)
* Config file used: None

### Drivers (inaccurate):

NVIDIA, modesetting

### Backend: glx

* Driver vendors:
 * GLX: NVIDIA Corporation
 * GL: NVIDIA Corporation
* GL renderer: NVIDIA GeForce GTX 1660 Ti/PCIe/SSE2

Configuration:

#
#  ███████████████████████████████████████████████████████████████████████████████████
#                                              ░██                                     
#   █████   ███████   █████    █████   █████   ░██  ██     ██  ███████   ████   █████ 
#  ░░░░░██ ░░███░░█  ███░░██  ███░░██ ░░░░░██  ░██  ███    ██ ░░███░░█ ░███░   ███░░██
#   ██████  ░███ ░█ ░███ ░██ ░███ ░░   ██████  ░██ ░░███  ██   ░███ ░█  ░███  ░██████ 
#  ███░░██  ░██████ ░███ ░██ ░███  ██ ███░░██  ░██  ░░█████    ░██████  ░░░██ ░███░░  
#  ░███████ ░███░░  ░░█████  ░░█████  ░███████ ████  ░░░██     ░███░░   ████  ░░██████
#  ░░░░░░░  ░██      ░░░░░    ░░░░░   ░░░░░░░ ░░░░   █  ██     ░██     ░░░░    ░░░░░░ 
#           ████                                    ░ ███      ████    
#          ░░░░                                      ░░░      ░░░░     
#
# ======================================================================================
#   Name:       apocalyspe
#   Author:     Gurpreet Singh
#   Url:        https://github.com/ffs97/dotfiles/picom/apocalyspe.config
#   License:    The MIT License (MIT)
#
#   A picom configuration file for apocalyspe colorscheme
# ======================================================================================

# --------------------------------------------------------------------------------------
# Backend

backend = "glx";

glx-no-stencil = true;
glx-copy-from-front = false;
glx-swap-method = -1;
glx-no-rebind-pixmap = true;
xrender-sync-fence = true;
use-damage = false;

# --------------------------------------------------------------------------------------
# Shadows

shadow = true;
shadow-radius = 12;
shadow-offset-x = -15;
shadow-offset-y = -15;
shadow-opacity = 0.65;

shadow-exclude = [
    "! name~=''",
    "name = 'Notification'",
    "name = 'Plank'",
    "name = 'Docky'",
    "name = 'Kupfer'",
    "name = 'GLava'",
    "name = 'xfce4-notifyd'",
    "name *= 'VLC'",
    "name *= 'compton'",
    "name = 'zoom_linux_float_message_reminder'",
    "class_g = 'bubble'",
	"class_g = 'Firefox' && argb",
    "class_g = 'Conky'",
    "class_g = 'Kupfer'",
    "class_g = 'Synapse'",
    "class_g ?= 'Notify-osd'",
    "class_g ?= 'Cairo-dock'",
    "class_g ?= 'Xfce4-notifyd'",
    "class_g ?= 'Xfce4-power-manager'",
    "_GTK_FRAME_EXTENTS@:c",
    "_NET_WM_STATE@:32a *= '_NET_WM_STATE_HIDDEN'",
    "class_g = 'awesome'",
];
shadow-ignore-shaped = true;

# --------------------------------------------------------------------------------------
# Opacity

inactive-opacity = 0.75;
active-opacity = 1;
frame-opacity = 1;
inactive-opacity-override = false;

opacity-rule = [
    "85:class_g = 'kitty' && focused",
    "75:class_g = 'kitty' && !focused",
    "90:class_g = 'Zathura' && focused",
    "75:class_g = 'Zathura' && !focused",
    "85:class_g = 'Gvim'",
    "75:class_g = 'Gvim' && !focused",
    "90:class_g = 'Rofi'",
    # "85:name *= 'Jupyter Notebook' && focused",
    # "75:name *= 'Jupyter Notebook' && !focused",
    # "99:class_g = 'zoom' && override_redirect = true",
    "99:class_g = 'Gimp-2.10'",
    "99:class_g = 'awesome'"
]

# --------------------------------------------------------------------------------------
# Blur

blur-background = true;
blur-method = "dual_kawase";
blur-strength = 10;
blur-background-fixed = false;
blur-background-frame = true;
blur-background-exclude = [
    # "class_g = 'zoom'",
    "window_type = 'dock'",
    # "override_redirect = true"
];

# --------------------------------------------------------------------------------------
# Fading

fading = false;
fade-delta = 1;
fade-in-step = 0.03;
fade-out-step = 0.03;
no-fading-openclose = false;

fade-exclude = [ ];

# --------------------------------------------------------------------------------------
# Miscellaneous

mark-wmwin-focused = false;
mark-ovredir-focused = false;
use-ewmh-active-win = false;
detect-rounded-corners = true;

detect-client-opacity = true;

refresh-rate = 0;

vsync = false;

dbe = false;

unredir-if-possible = true;

focus-exclude = [
    "class_g = 'Rofi'",
    "override_redirect = true"
];

detect-transient = true;
detect-client-leader = true;

# --------------------------------------------------------------------------------------
# Window type settings

wintypes:
{
    tooltip =
    {
        shadow = false;
        opacity = false;
        focus = true;
        blur_background = false;
    };
    dock =
    {
        shadow = false;
    };
    dnd =
    {
        shadow = false;
    };
    popup_menu =
    {
        opacity = false;
        shadow = false;
        blur_background = false;
    };
    dropdown_menu =
    {
        opacity = false;
        shadow = false;
        blur_background = false;
    };
};

Steps of reproduction

  1. Start a window gravitating to some corner with override redirect set with transparent background
  2. Add override_redirect = true to background-blur-exclude

Note: I did this using zoom. All I did was start a zoom meeting and it shows a reminder on the corner. This window has the override redirect property set. Also, it has rounded corners along with a transparent border.

Expected behavior

Adding override_redirect = true to background-blur-exclude property should remove blur from such windows and the behaviour for remaining windows should be the same.

Current Behavior

This removes background blur from all windows (irrespective of override redirect state)

EDIT: I tried this with exclude-shadow as well. Seems like it is not being detected after all. tryone144's comment makes sense.

Other details

vokoscreenNG-2021-05-04_14-36-58

Metadata

Metadata

Assignees

No one assigned

    Labels

    featureFeature request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions