Hyprland
Hyprland copied to clipboard
Buggy floating windows with slidevert workspace switching and big shadow range
Hyprland Version
System/Version info
Hyprland, built from branch at commit 555afea73c87f8e2bb374d1112431bb3a6f451dd ().
Date: 2024-03-01
Tag:
flags: (if any)
System Information:
System name: Linux
Node name: theseus
Release: 6.7.6
Version: #1-NixOS SMP PREEMPT_DYNAMIC Fri Feb 23 08:51:59 UTC 2024
GPU information:
09:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Ellesmere [Radeon RX 470/480/570/570X/580/580X/590] [1002:67df] (rev e7) (prog-if 00 [VGA controller])
os-release: ANSI_COLOR="1;34"
BUG_REPORT_URL="https://github.com/NixOS/nixpkgs/issues"
BUILD_ID="24.05.20240229.1536926"
DOCUMENTATION_URL="https://nixos.org/learn.html"
HOME_URL="https://nixos.org/"
ID=nixos
IMAGE_ID=""
IMAGE_VERSION=""
LOGO="nix-snowflake"
NAME=NixOS
PRETTY_NAME="NixOS 24.05 (Uakari)"
SUPPORT_URL="https://nixos.org/community.html"
VERSION="24.05 (Uakari)"
VERSION_CODENAME=uakari
VERSION_ID="24.05"
plugins:
hycov by DreamMaoMao ver 0.3
Config
exec-once = /nix/store/h3zv7932ymvq41z7dh92v02h9pmnb583-dbus-1.14.10/bin/dbus-update-activation-environment --systemd DISPLAY HYPRLAND_INSTANCE_SIGNATURE WAYLAND_DISPLAY XDG_CURRENT_DESKTOP && systemctl --user stop hyprland-session.target && systemctl --user start hyprland-session.target
plugin=/nix/store/scj90r4ikyzly6g9shrczzm2mxpgaca3-hycov-0.1/lib/libhycov.so
animations {
bezier=simple,0.13,0.99,0.29,1
animation=windows,1,5,simple,popin 50%
animation=border,1,5,default
animation=fade,1,5,default
animation=workspaces,1,5,simple,slidevert
animation=layers,1,5,simple,popin 80%
enabled=true
first_launch_animation=false
}
decoration {
blur {
enabled=false
}
col.shadow=rgba(00000050)
drop_shadow=true
rounding=10
shadow_range=40
shadow_render_power=3
}
dwindle {
preserve_split=true
}
general {
border_size=1
col.active_border=rgb(323232) rgb(525252) 270deg
col.inactive_border=rgb(323232) rgb(525252) 270deg
gaps_in=3
gaps_out=6
layout=dwindle
}
gestures {
workspace_swipe=true
workspace_swipe_create_new=true
workspace_swipe_distance=300
workspace_swipe_fingers=3
workspace_swipe_forever=true
}
input {
touchpad {
natural_scroll=false
}
follow_mouse=true
kb_layout=us,ru
kb_model=
kb_options=grp:alt_shift_toggle
kb_rules=
kb_variant=
}
misc {
background_color=rgba(161616ff)
disable_hyprland_logo=true
}
xwayland {
force_zero_scaling=true
use_nearest_neighbor=true
}
bind=SUPER, Q, killactive
bind=SUPER, M, exec, hyprctl reload
bind=SUPER SHIFT, M, exit
bind=SUPER, V, togglefloating
bind=SUPER SHIFT, Z, alterzorder, bottom
bind=SUPER, F, fullscreen, 1
bind=SUPER ALT, F, fullscreen
bind=SUPER SHIFT, F, fakefullscreen
bind=SUPER, W, movefocus, u
bind=SUPER, A, movefocus, l
bind=SUPER, S, movefocus, d
bind=SUPER, D, movefocus, r
bind=SUPER, up, movefocus, u
bind=SUPER, left, movefocus, l
bind=SUPER, down, movefocus, d
bind=SUPER, right, movefocus, r
bind=SUPER SHIFT, W, swapwindow, u
bind=SUPER SHIFT, A, swapwindow, l
bind=SUPER SHIFT, S, swapwindow, d
bind=SUPER SHIFT, D, swapwindow, r
bind=SUPER SHIFT, up, swapwindow, u
bind=SUPER SHIFT, left, swapwindow, l
bind=SUPER SHIFT, down, swapwindow, d
bind=SUPER SHIFT, right, swapwindow, r
bind=SUPER, X, togglesplit
bind=SUPER, P, pin
bind=SUPER, E, exec, rofi -show drun
bind=SUPER, T, exec, kitty
bind=SUPER, Y, exec, nautilus
bind=SUPER, U, exec, firefox
bind=SUPER, Tab, hycov:toggleoverview
bind=SUPER, Print, exec, hyprscreen -m screen
bind=SUPER SHIFT, Print, exec, hyprscreen -f
bind=SUPER,F10,pass,^(com.obsproject.Studio)$
bind=SUPER,F11,pass,^(com.obsproject.Studio)$
bind=SUPER SHIFT, e, exec, nautilus
bind=SUPER,mouse_down,workspace,-1
bind=SUPER,mouse_up,workspace,+1
bind=SUPER SHIFT,mouse_down,movetoworkspace,-1
bind=SUPER SHIFT,mouse_up,movetoworkspace,+1
bind=SUPER,1,workspace, 1
bind=SUPER SHIFT, 1, movetoworkspace, 1
bind=SUPER,2,workspace, 2
bind=SUPER SHIFT, 2, movetoworkspace, 2
bind=SUPER,3,workspace, 3
bind=SUPER SHIFT, 3, movetoworkspace, 3
bind=SUPER,4,workspace, 4
bind=SUPER SHIFT, 4, movetoworkspace, 4
bind=SUPER,5,workspace, 5
bind=SUPER SHIFT, 5, movetoworkspace, 5
bind=SUPER,6,workspace, 6
bind=SUPER SHIFT, 6, movetoworkspace, 6
bind=SUPER,7,workspace, 7
bind=SUPER SHIFT, 7, movetoworkspace, 7
bind=SUPER,8,workspace, 8
bind=SUPER SHIFT, 8, movetoworkspace, 8
bind=SUPER,9,workspace, 9
bind=SUPER SHIFT, 9, movetoworkspace, 9
bind=SUPER,0,workspace, 10
bind=SUPER SHIFT, 0, movetoworkspace, 10
binde=,XF86MonBrightnessUp, exec, light -A 5
binde=,XF86MonBrightnessDown, exec, light -U 5
bindm=SUPER, mouse:272, movewindow
bindm=SUPER, mouse:273, resizewindow
bindm=SUPER SHIFT, mouse:273, resizewindow 1
env=GDK_BACKEND,wayland
env=SDL_VIDEODRIVER,wayland,x11
env=CLUTTER_BACKEND,wayland
env=NIXOS_OZONE_WL,1
exec=swww init
exec=swww img /home/ligthiago/Pictures/Wallpapers/DarkNoise06.png
windowrule=float,^(io.github.celluloid_player.Celluloid)$
windowrule=center,^(io.github.celluloid_player.Celluloid)$
windowrule=size 80% 80%,^(io.github.celluloid_player.Celluloid)$
windowrule=float,^(org.gnome.Loupe)$
windowrule=center,^(org.gnome.Loupe)$
windowrule=float,^(org.gnome.baobab)$
windowrule=center,^(org.gnome.baobab)$
windowrule=size 80% 80%,^(org.gnome.baobab)$
windowrule=float,^(org.gnome.Calculator)$
windowrule=center,^(org.gnome.Calculator)$
windowrule=size 400 640,^(org.gnome.Calculator)$
windowrule=float,^(net.nokyan.Resources)$
windowrule=center,^(net.nokyan.Resources)$
windowrule=size 80% 80%,^(net.nokyan.Resources)$
windowrule=float,^(io.bassi.Amberol)$
windowrule=center,^(io.bassi.Amberol)$
windowrule=size 400 700,^(io.bassi.Amberol)$
windowrulev2=noshadow, floating:0
windowrulev2=float,class:(firefox),title:(Library)
windowrulev2=center,class:(firefox),title:(Library)
windowrulev2=size 80% 80%,class:(firefox),title:(Library)
bind = SUPER, R, submap, resize
submap = resize
binde = SUPER, W, resizeactive, 0 -20
binde = SUPER, A, resizeactive, -20 0
binde = SUPER, S, resizeactive, 0 20
binde = SUPER, D, resizeactive, 20 0
binde = SUPER, up, resizeactive, 0 -20
binde = SUPER, left, resizeactive, -20 0
binde = SUPER, down, resizeactive, 0 20
binde = SUPER, right, resizeactive, 20 0
bind = SUPER SHIFT, W, movefocus, u
bind = SUPER SHIFT, A, movefocus, l
bind = SUPER SHIFT, S, movefocus, d
bind = SUPER SHIFT, D, movefocus, r
bind = SUPER SHIFT, up, movefocus, u
bind = SUPER SHIFT, left, movefocus, l
bind = SUPER SHIFT, down, movefocus, d
bind = SUPER SHIFT, right, movefocus, r
bind = SUPER, X, togglesplit
bind = SUPER, E, splitratio, exact 1
bind = SUPER, R, submap, reset
bind = , escape, submap, reset
submap = reset
plugin {
hycov {
overview_gappo = 20
overview_gappi = 20
hotarea_size = 10
enable_hotarea = 0
swipe_fingers = 4
move_focus_distance = 100
enable_gesture = 1
disable_workspace_change = 1
disable_spawn = 1
auto_exit = 1
auto_fullscreen = 0
only_active_workspace = 0
only_active_monitor = 1
enable_alt_release_exit = 0
alt_toggle_auto_next = 0
}
}
Bug or Regression?
Bug
Description
Floating windows at bottom of workspace kinda buggy when I switch to it from next workspace with slidevert
animation for workspace switching.
This bugs mostly appears with drop_shadow = true
, and the higher the value of shadow_range
, the further away from the screen border the window can be placed to make the bug appear (but part of the shadow must be offscreen or near to screen border)
I may be duplicating existing issues, but problems in them occur in the horizontal slide
animation, which in my case works just fine.
Examples
- This is fast even with the slowest animation, but it is visible frame by frame, see bottom of the floating window or top of the browser when switching workspaces and also top of floating window.
https://github.com/hyprwm/Hyprland/assets/142721811/eba5186d-06cf-4672-ac54-f4a20c9a1f04
- This one is more visible, reproducible only if window width must smaller than window height.
https://github.com/hyprwm/Hyprland/assets/142721811/2aa1f601-35ae-4810-bcac-1bcc3b17a222
How to reproduce
- Set the workspace animation to
slidevert
and optionally make it slow. - Set drop_shadow = true and shadow_range more then 10, 40 in my case.
- Place a floating window at the bottom of the workspace, shadow must be near screen border or offscreen and switch to the next workspace.
- Switch back to previous workspace and see a bug
- For second bug: Make window width smaller than height
Crash reports, logs, images, videos
No response
I've tried your config and can't repro this. Can you try without hycov?
Yes, same without plugins
well, can't repro. I'll need something else that triggers this, as I don't seem to be able to repro
I will try on another machine tomorrow, maybe it's specific hardware issue or something.
Another weird thing, 2 bug not reproducible when floating window shadow touches bottom and top of screen at the same time (or just big enough, idk how to interpret this)
https://github.com/hyprwm/Hyprland/assets/142721811/a418fae9-b585-4b5b-a3b3-032e5141fe4c
I found a way to maybe repro this but with 2 monitors
Assuming main monitor is on the left and second monitor is on the right Using workspace 1 and 2 on first monitor and 4 on right monitor
Open 2 or more terminals (im using alacritty) on workspace 2 Put the windows leaking content to the second monitor (see image), it also works without leaking content to second monitor but is less consistent Switch between workpaces 1 and 2 on first monitor multiple times and watch monitor 3 corrupt
The weird cut is the edge between the 2 monitors
Nah, I tested it on a different machine, basically same system config but different hardware - same bugs. Only similarity is 1920x1080@60hz monitor (but not the same) and amd. I guess it's a serious skill issue with my system config, as you can't reproduce it just from hyprland config. I will investigate further.
Well, all bugs with workspace switching and floating windows mentioned here and also some other nasty stuff is fixed after updating to last commit. Issue closed.
Oh no, i just rtrd, second one is still here, it's just don't appear when switching to workspace with fullscreen window
I think this has the same root cause as https://github.com/hyprwm/Hyprland/issues/3514 Basically if you have a floating window thats sits across two workspaces, during the animation it flies in at an incorrect speed that's different from all the other windows. And that difference in its speed will cause the damage box position to be inaccurate.
it flies in at an incorrect speed that's different from all the other windows
Yes, the speed is clearly different, especially with slidevert
. It also appeared with slide
, but window has to be placed much more out of screen and it is even less visible. Btw, can you check if it's reproducible for you?
https://github.com/hyprwm/Hyprland/assets/142721811/1ff28ba7-4136-42ce-9b8e-82252a050fa0
Reproducible for me yes Interestingly the drop shadow seems to be flying at the correct speed