Skip to content

Weird window shadow bug  #8132

Description

@warx7

Already reported ? *

  • I have searched the existing open and closed issues.

Regression?

Yes

System Info and Version

Hyprland, built from branch  at commit 4520b30d498daca8079365bdb909a8dea38e8d55  (version: bump to 0.44.1).
Date: Wed Oct 9 12:54:39 2024
Tag: v0.44.1, commits: 5309
built against aquamarine 0.4.2


flags: (if any)


System Information:
System name: Linux
Node name: .....
Release: 6.11.3-arch1-1
Version: #1 SMP PREEMPT_DYNAMIC Thu, 10 Oct 2024 20:11:06 +0000


GPU information: 
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GP104 [GeForce GTX 1070] [10de:1b81] (rev a1) (prog-if 00 [VGA controller])
NVRM version: NVIDIA UNIX x86_64 Kernel Module  560.35.03  Fri Aug 16 21:39:15 UTC 2024


os-release: NAME="Arch Linux"
PRETTY_NAME="Arch Linux"
ID=arch
BUILD_ID=rolling
ANSI_COLOR="38;2;23;147;209"
HOME_URL="https://archlinux.org/"
DOCUMENTATION_URL="https://wiki.archlinux.org/"
SUPPORT_URL="https://bbs.archlinux.org/"
BUG_REPORT_URL="https://gitlab.archlinux.org/groups/archlinux/-/issues"
PRIVACY_POLICY_URL="https://terms.archlinux.org/docs/privacy-policy/"
LOGO=archlinux-logo


plugins:

======Config-Start======


Config File: /home/ware/.config/hypr/hyprland.conf: Read Succeeded
# vim: ft=hyprlang

monitor=,preferred,auto,auto
source = init.conf
source = ./rules/rules.conf
env = XCURSOR_THEME,Nordzy-cursors-white 

misc { 
    force_default_wallpaper = 0 
    disable_hyprland_logo = true 
}

input {
    kb_layout = us
    kb_variant =
    kb_model =
    kb_options = compose:ralt, caps:swapescape, shift:both_capslock_cancel
    kb_rules =
    
    follow_mouse = 1

    sensitivity = 0 # -1.0 - 1.0, 0 means no modification.

}

cursor {
    no_hardware_cursors = true
}

device {
    name = epic-mouse-v1
    sensitivity = -0.5
}


$mainMod = SUPER # Sets "Windows" key as main modifier
source = ./binds/binds.conf
source = ./style/style.conf
source = ./layout.conf
source = ./scratchpads.conf
windowrulev2 = suppressevent maximize, class:.* # You'll probably like this.


Config File: /home/ware/.config/hypr/init.conf: Read Succeeded
# vim: ft=hyprlang
env = LIBVA_DRIVER_NAME,nvidia
env = XDG_SESSION_TYPE,wayland
env = GBM_BACKEND,nvidia-drm
env = __GLX_VENDOR_LIBRARY_NAME,nvidia
env = NVD_BACKEND,direct

env = ELECTRON_OZONE_PLATFORM_HINT,auto
env = QT_QPA_PLATFORM,wayland
env = QT_QPA_PLATFORMTHEME,qt5ct
# starts autostart apps
exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
# exec-once = env > ~/env.txt
# exec-once = dbus-update-activation-environment --systemd --all
exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
exec-once = nm-applet
exec-once = ydotoold
exec-once = swaync
exec-once = swayidle
exec-once = waybar
exec-once = eww daemon 
exec-once = swww-daemon && swww -img ~/.local/bin/background/wallpaper

# cursor size
exec-once = hyprctl setcursor Nordzy-cursors-white 24
env = XCURSOR_SIZE,24



Config File: /home/ware/.config/hypr/rules/rules.conf: Read Succeeded
# vim: ft=hyprlang
source = ./games.conf
source = ./popups.conf
windowrulev2 = idleinhibit fullscreen, class:.*



Config File: /home/ware/.config/hypr/rules/games.conf: Read Succeeded
# vim: ft=hyprlang

windowrulev2 = noanim,title:Minecraft
windowrulev2 = noblur,title:Minecraft
windowrulev2 = idleinhibit always,title:Minecraft
windowrulev2 = pseudo,class:Minecraft* 1.20.1


Config File: /home/ware/.config/hypr/rules/popups.conf: Read Succeeded
# vim: ft=hyprlang

windowrulev2=float, class:popup
windowrule=center, class:popup
windowrule=size 400 400,class:popup

windowrule=center,class:org.gnome.Weather
windowrulev2=size 1200 900, class:org.gnome.Weather
windowrulev2=float,class:org.gnome.Weather

windowrulev2=float, class:org.gnome.Characters
windowrulev2=float, class:xdg-desktop-portal-gtk
windowrulev2=center, class:xdg-desktop-portal-gtk
windowrulev2=size 1200 900, class:xdg-desktop-portal-gtk

windowrule=center,class:org.gnome.clocks
windowrulev2=size 1200 900,class:org.gnome.clocks
windowrulev2=float, class:org.gnome.clocks

windowrulev2=float, class:valent
windowrule=center, class:valent

windowrulev2=float,class:pavucontrol

windowrule=center,title:btop
windowrulev2=float,title:btop
windowrule=size 800 600,title:btop

windowrule=center,class:com.github.neithern.g4music
windowrulev2=size 1600 900,class:com.github.neithern.g4music
windowrulev2=float, class:com.github.neithern.g4music

windowrulev2=float,class:^.*(blueman).*$
windowrulev2=center,class:^.*(blueman).*$
windowrulev2=size 800 600,class:^.*(blueman).*$

windowrulev2=center,class:^.*(nm-connection-editor).*$
windowrulev2=size 600 600,class:^.*(nm-connection-editor).*$
windowrulev2=float,class:^.*(nm-connection-editor).*$

windowrulev2=float,title:^.*Properties.*$
windowrulev2=center,title:zenity_passwd
windowrulev2=float,title:zenity_passwd

windowrulev2=size 800 900,title:File Picker

windowrulev2=center,title:^.*Properties.*$
windowrulev2=center,class:zenity
windowrulev2=float,class:zenity

windowrulev2=center,class:org.prismlauncher.PrismLauncher
windowrulev2=float,class:org.prismlauncher.PrismLauncher
windowrulev2=size 1200 900,class:org.prismlauncher.PrismLauncher

windowrulev2=idleinhibit always,class:gamescope

windowrulev2=float,class:yad

windowrulev2=center, title:Open files
windowrulev2=float, title:Open files
windowrulev2=size 1200 900, title:Open Files

windowrulev2=float, class: org.gnome.Loupe
windowrulev2=size 1400 800, class: org.gnome.Loupe
windowrulev2=center, class: org.gnome.Loupe

windowrule=center,title:Transmission
windowrulev2=size 600 700,title:Transmission
windowrulev2=float, title:Transmission


Config File: /home/ware/.config/hypr/binds/binds.conf: Read Succeeded
source = ./apps.conf
source = ./powerstate.conf
source = ./media.conf
source = ./movement.conf
source = ./windows.conf
source = ./screenshot.conf


Config File: /home/ware/.config/hypr/binds/apps.conf: Read Succeeded
# vim: ft=hyprlang

$main = SUPER 
$menu = wofi --show drun
bind = $main, RETURN, exec, kitty
bind = $main SHIFT, RETURN, exec, [float;size 1200 900; center ]kitty
bind = $main SHIFT, N, exec, ~/.local/bin/shell/nautilusfloat.sh
bind = $main, N, exec, nautilus 
bind = $main, Q, killactive,
bind = $main, space, exec, $menu
bind = $main, O, exec, libreoffice
bind = $main, W, exec, firefox
bind = $main SHIFT, W, exec, firefox --private-window
bind = $main, A, exec, nwg-drawer -c 9 -ovl -is 65 -mt 50 -mr 50 -ml 50 -mb 45
bind = $main, D, exec, gtk-launch dev.vencord.Vesktop



Config File: /home/ware/.config/hypr/binds/powerstate.conf: Read Succeeded
# vim: ft=hyprlang
$main = SUPER

bindl = CTRL $main, P, exec, systemctl poweroff
bindl = CTRL $main, R, exec, systemctl reboot 
bind = CTRL $main, L, exec, /home/ware/.config/bin/shell/locking.sh


Config File: /home/ware/.config/hypr/binds/media.conf: Read Succeeded
# vim: ft=hyprlang

$mainMod = SUPER

bindel=, code:69, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+
bindel=, code:68, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
bindl=, code:70, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
bindl=, code:106, exec, playerctl play-pause
bindl=, code:63, exec, playerctl previous
bindl=, code:82, exec, playerctl next


Config File: /home/ware/.config/hypr/binds/movement.conf: Read Succeeded
# vim: ft=hyprlang

#Workspaces
$main = SUPER
bind = $main, 1, workspace, 1  
bind = $main, 2, workspace, 2  
bind = $main, 3, workspace, 3  
bind = $main, 4, workspace, 4  
bind = $main, 5, workspace, 5  
bind = $main, 6, workspace, 6  
bind = $main, 7, workspace, 7  
bind = $main, 8, workspace, 8  
bind = $main, 9, workspace, 9  
bind = $main, 0, workspace, 10 

bind =,code:87, workspace, 1  
bind =,code:88, workspace, 2  
bind =,code:89, workspace, 3  
bind =,code:83, workspace, 4  
bind =,code:84, workspace, 5  
bind =,code:85, workspace, 6  
bind =,code:79, workspace, 7  
bind =,code:80, workspace, 8  
bind =,code:81, workspace, 9  

bind = $main, mouse_down, workspace, e+1
bind = $main, mouse_up, workspace, e-1
bind = $main SHIFT, H, workspace, e-1
bind = $main SHIFT, L, workspace, e+1
#Windows
bind = $main, H, movefocus, l  
bind = $main, L, movefocus, r 
bind = $main, K, movefocus, u    
bind = $main, J, movefocus, d  

bind = $main SHIFT, 1, movetoworkspace, 1
bind = $main SHIFT, 2, movetoworkspace, 2
bind = $main SHIFT, 3, movetoworkspace, 3
bind = $main SHIFT, 4, movetoworkspace, 4
bind = $main SHIFT, 5, movetoworkspace, 5
bind = $main SHIFT, 6, movetoworkspace, 6
bind = $main SHIFT, 7, movetoworkspace, 7
bind = $main SHIFT, 8, movetoworkspace, 8
bind = $main SHIFT, 9, movetoworkspace, 9
bind = $main SHIFT, 0, movetoworkspace, 10

bind = $main SHIFT, 87, movetoworkspace, 1
bind = $main SHIFT, 88, movetoworkspace, 2
bind = $main SHIFT, 89, movetoworkspace, 3
bind = $main SHIFT, 83, movetoworkspace, 4
bind = $main SHIFT, 84, movetoworkspace, 5
bind = $main SHIFT, 85, movetoworkspace, 6
bind = $main SHIFT, 79, movetoworkspace, 7
bind = $main SHIFT, 80, movetoworkspace, 8
bind = $main SHIFT, 81, movetoworkspace, 9
#move without changing focus
bind = $main SHIFT CONTROL, 2, movetoworkspacesilent, 2
bind = $main SHIFT CONTROL, 3, movetoworkspacesilent, 3
bind = $main SHIFT CONTROL, 4, movetoworkspacesilent, 4
bind = $main SHIFT CONTROL, 5, movetoworkspacesilent, 5
bind = $main SHIFT CONTROL, 6, movetoworkspacesilent, 6
bind = $main SHIFT CONTROL, 7, movetoworkspacesilent, 7
bind = $main SHIFT CONTROL, 8, movetoworkspacesilent, 8
bind = $main SHIFT CONTROL, 9, movetoworkspacesilent, 9
bind = $main SHIFT CONTROL, 0, movetoworkspacesilent, 10

bind = $main SHIFT, Right, workspace, r+1
bind = $main SHIFT, Left, workspace, r-1

bind = CONTROL SUPER, Left, exec, /home/ware/.local/bin/shell/moveworkspacetoleft.sh


Config File: /home/ware/.config/hypr/binds/windows.conf: Read Succeeded
# vim: ft=hyprlang

$main = SUPER

#kill the window 
bind = $main SHIFT, Q, exec, hyprctl kill
bind = $main SHIFT, minus, resizeactive, -100 -100
bind = $main SHIFT, equal, resizeactive, 100 100

bind = $main SHIFT, Up, fullscreen, 1
bind = ,code:95, fullscreen, 0

bind = $main, Up, movewindow, u
bind = $main, Left, movewindow, l
bind = $main, Right, movewindow, r
bind = $main, Down, movewindow, d

bindm = $main, mouse:272, movewindow
bindm = $main, mouse:273, resizewindow


bind = $main SHIFT, F, workspaceopt, allfloat

bind = $main, C, centerwindow
bind = $main, TAB, cyclenext
bind = $main, TAB, bringactivetotop

bind = $main, F, togglefloating
bind = $main, F, resizeactive, exact 1200 900
bind = $main, F, centerwindow

bind = $main SHIFT, P, exec, hyprctl "dispatch pin active"

bind = ALT, R, exec, hyprctl dispatch submap Resize && sleep 0.1 && notify-send -t 800 "Entered resize submap" -i 'preferences-desktop-theme-windowdecorations'& disown

bind=ALT,R,submap,Resize
submap=Resize

binde=,right,resizeactive,10 0
binde=,left,resizeactive,-10 0
binde=,up,resizeactive,0 -10
binde=,down,resizeactive,0 10

bind = $main, TAB, cyclenext
bind = $main, L, movefocus, r 
bind = $main, K, movefocus, u    
bind = $main, J, movefocus, d  
# use reset to go back to the global submap
bind=,escape, exec, hyprctl dispatch submap reset && sleep 0.1 && notify-send -t 800 "Exited resize submap" -i 'preferences-desktop-theme-windowdecorations'& disown

# will reset the submap, which will return to the global submap
submap=reset

bind = $main SHIFT, M, exec, hyprctl keyword general:layout master && notify-send -t 1500 -i 'default-user-desktop' "Layout: master"&& disown

bind = $main SHIFT, D, exec, hyprctl keyword general:layout dwindle && notify-send -t 1500 -i 'default-user-desktop' "Layout: dwindle"&& disown

bind = $main, P, togglesplit, # dwindle


Config File: /home/ware/.config/hypr/binds/screenshot.conf: Read Succeeded
# vim: ft=hyprlang

bind =,Print, exec, hyprctl dispatch submap Screenshot && sleep 0.1 && notify-send -t 800 "Entered screenshot submap" -i 'accessories-screenshot'& disown
submap=Screenshot

bind =, T, exec, /home/ware/.local/bin/shell/screenshot/./tmpselect.sh
bind =, P, exec, /home/ware/.local/bin/shell/screenshot/./permselect.sh
bind =, F, exec, /home/ware/.local/bin/shell/screenshot/./full.sh
bind =, W, exec, /home/ware/.local/bin/shell/screenshot/./windowselect.sh

bind=ALT, Q, exec, hyprctl dispatch submap reset& sleep 0.2 && notify-send -t 1000 "Exited screenshot submap" -i 'accessories-screenshot'& disown

submap=reset




Config File: /home/ware/.config/hypr/style/style.conf: Read Succeeded
source = ./animations.conf
source = ./windows.conf
layerrule = blur,waybar


Config File: /home/ware/.config/hypr/style/animations.conf: Read Succeeded
# vim: ft=hyprlang
animations {

    #   Animation
    #   Format:
    #   animation = <name:str>, <on:bool<int(0||1)>>, <speed:float>, <curve:str<bezier>>, <style:str>

    #   Bezier Curve:
    #   bezier = <name:str>, <start.x:float>, <start.y:float>, <end.x:float>, <end.y:float>

    enabled = yes

    bezier = myBezier, 0.05, 0.9, 0.1, 1.05
    bezier = slowdown, 0.24, 0.86, 0.22, 0.86
    bezier = linear, 0, 0, 1, 1
    bezier = ease_window, 0.05, 0.7, 0.1, 1
    bezier = md3_decel, 0.05, 0.7, 0.1, 1
    bezier = md3_accel, 0.3, 0, 0.8, 0.15   
    bezier = fade, 0.1, 1, 0, 1

    animation = windows, 1, 3, md3_decel, popin 60%

    animation = windowsIn, 1, 5, md3_decel, popin 40%
    animation = windowsOut, 1, 5, md3_accel, popin 80%
    animation = fade, 1, 4, default
    animation = workspaces, 1, 10, fade, slidefade
    animation = specialWorkspace, 1, 10 , fade, fade 

    animation = layers, 0

}


Config File: /home/ware/.config/hypr/style/windows.conf: Read Succeeded
# vim: ft=hyprlang

general { 
    gaps_in = 5
    gaps_out = 8
    border_size = 0

    # https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors
    #col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
    #col.inactive_border = rgba(595959aa)

    # Set to true enable resizing windows by clicking and dragging on borders and gaps
    resize_on_border = true
    hover_icon_on_border = true

    # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on
    allow_tearing = false
}

decoration {
    active_opacity = 1
    inactive_opacity = 1
    rounding = 15
    dim_inactive = true
    dim_strength = 0.05
    drop_shadow = true
    shadow_range = 300 
    shadow_render_power = 4
    col.shadow = rgba(1a1a1aaf)
    shadow_offset = 0 40
    shadow_scale = 0.9

}



Config File: /home/ware/.config/hypr/layout.conf: Read Succeeded
# vim: ft=hyprlang 

# configuration for the two layouts

general {
    layout = dwindle 
}

dwindle {
    pseudotile = yes 
    preserve_split = yes
    force_split= 2
}
master {
    new_status = slave
    new_on_top = true
    orientation = top
    mfact=0.7
    special_scale_factor = 1
}


Config File: /home/ware/.config/hypr/scratchpads.conf: Read Succeeded
# vim: ft=hyprlang

windowrulev2 = workspace special:music,class:(com.github.neithern.g4music)
bind =, code:77, exec, pgrep g4music && hyprctl dispatch togglespecialworkspace music|| g4music &

bind = SUPER, code:59, exec, hyprctl dispatch togglespecialworkspace working


windowrulev2 = workspace special:games,class:^(.*steam.*)$
windowrulev2 = workspace special:games,class:^(.*Minecraft.*)$
windowrulev2 = workspace special:games,class:^(.*prismlauncher.*)$

bind = SUPER, G, exec, hyprctl dispatch togglespecialworkspace games

======Config-End========

Description

After trying to launch wofi as a normal window all my shadows are messed up, they are now transparent layers with just a colored border like this(stacked a bunch of windows so its more obvious):
2024_10 16_06:37:54_sc

Before the shadow was smoother and you couldnt see those weird lines while my config has not changed a bit:
image
(older screenshot)

from my config:

decoration {
    active_opacity = 1
    inactive_opacity = 1
    rounding = 15
    dim_inactive = true
    dim_strength = 0.05
    drop_shadow = true
    shadow_range = 300 
    shadow_render_power = 4
    col.shadow = rgba(1a1a1aaf)
    shadow_offset = 0 40
    shadow_scale = 0.9

}

I am running on nvidia with all the nvidia specific modifications the hyprland wiki recommends and havent encountered this issue until now.

How to reproduce

Switch wofi from using its own layer shell to rendering it as a normal window.

Crash reports, logs, images, videos

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingstaleNot much going on

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions