Foot Terminal has an incorrect/missing closing animation
Bug or Regression?
Regression
System Info and Version
System/Version info
Hyprland, built from branch at commit ea2501d4556f84d3de86a4ae2f4b22a474555b9f (props: bump version to 0.41.0).
Date: Mon Jun 10 16:23:06 2024
Tag: v0.41.0, commits: 4794
flags: (if any)
System Information:
System name: Linux
Node name: violet
Release: 6.10.0-rc3-violet
Version: #1 SMP PREEMPT_DYNAMIC TKG Mon Jun 10 15:25:15 CEST 2024
GPU information:
09:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 23 [Radeon RX 6650 XT / 6700S / 6800S] [1002:73ef] (rev c1) (prog-if 00 [VGA controller])
os-release: NAME=Gentoo
ID=gentoo
PRETTY_NAME="Gentoo Linux"
ANSI_COLOR="1;32"
HOME_URL="https://www.gentoo.org/"
SUPPORT_URL="https://www.gentoo.org/support/"
BUG_REPORT_URL="https://bugs.gentoo.org/"
VERSION_ID="2.15"
plugins:
hyprsplit by shezdy ver 1.0
csgo-vulkan-fix by Vaxry ver 1.2
======Config-Start======
Config File: /home/max/.config/hypr/hyprland.conf: Read Succeeded
# __ __ __
# / /_ __ ______ _____/ /___ _____ ____/ /
# / __ \/ / / / __ \/ ___/ / __ `/ __ \/ __ /
# / / / / /_/ / /_/ / / / / /_/ / / / / /_/ /
# /_/ /_/\__, / .___/_/ /_/\__,_/_/ /_/\__,_/
# /____/_/
# Monitors
monitor = DP-3, highrr, 1920x0, 1
monitor = HDMI-A-1, highrr, 0x0, 1
# Source files
source = ~/.config/hypr/hyprland/vars.hl
source = ~/.config/hypr/hyprland/env.hl
source = ~/.config/hypr/hyprland/auto.hl
source = ~/.config/hypr/hyprland/binds.hl
source = ~/.config/hypr/hyprland/opts.hl
source = ~/.config/hypr/hyprland/rules.hl
Config File: /home/max/.config/hypr/hyprland/vars.hl: Read Succeeded
$term = foot
$menu = tofi-drun --drun-launch=true
$fman = nemo
$shot = grimblast --notify copysave area
$edit = neovide
$wall = mpvpaper '*' ~/Videos/mpvpaper/ -o "--hwdec yes no-audio --loop inf --loop-playlist inf input-ipc-server=/tmp/mpv-socket" --fork
$cw = cat /home/max/.cache/swww/DP-3
$waybar-mono = waybar -c ~/.config/waybar/mono/config.jsonc -s ~/.config/waybar/mono/style.css
$waybar-cloud = waybar -c ~/.config/waybar/cloud/config.jsonc -s ~/.config/waybar/cloud/style.css
$waybar-bun = waybar -c ~/.config/waybar/bun/config.jsonc -s ~/.config/waybar/bun/style.css && hyprctl keyword decoration:rounding 15
Config File: /home/max/.config/hypr/hyprland/env.hl: Read Succeeded
# Env vars
env = XDG_CURRENT_DESKTOP, Hyprland
env = XDG_SESSION_DESKTOP, Hyprland
env = MOZ_ENABLE_WAYLAND, 1
env = QT_QPA_PLATFORM, wayland;xcb
env = QT_QPA_PLATFORMTHEME, qt6ct
env = CMAKE_COLOR_DIAGNOSTICS, ON
env = BROWSER, /usr/bin/librewolf
env = WLR_DRM_NO_ATOMIC, 1
env = ZDOTDIR, $HOME/.config/zsh
env = PATH, /home/max/.local/bin:$PATH
env = EDITOR, /usr/bin/nvim
env = DXVK_ASYNC, 1
env = HYPRCURSOR_THEME, Bibata-Modern-Classic
env = HYPRCURSOR_SIZE, 24
env = GTK_THEME, Graphite-Dark
env = ICON_THEME, Reversal-dark
env = DOTNET_CLI_TELEMETRY_OPTOUT, 1
Config File: /home/max/.config/hypr/hyprland/auto.hl: Read Succeeded
# Load Plugins
exec-once = hyprpm reload -n
exec-once = hyprctl plugin load /home/max/.repos/hyprland-plugins/hyprbars/hyprbars.so
# General Autostart
exec-once = dbus-update-activation-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=Hyprland
exec-once = gentoo-pipewire-launcher restart &
exec-once = wl-paste -t text --watch clipman store --no-persist &
exec-once = /usr/libexec/polkit-gnome-authentication-agent-1 &
exec-once = mako &
exec-once = swayosd-server &
exec-once = hypridle &
exec-once = sleep 0.5 && ags -c ~/.config/ags/mono/config.js > /dev/null &
#exec-once = $waybar-mono
exec-once = wpmgr init &
exec-once = corectrl --minimize-systray &
# GTK Themes
exec-once = gsettings set org.gnome.desktop.interface gtk-theme Graphite-Dark
exec-once = gsettings set org.gnome.desktop.interface icon-theme Tela-black-dark
exec-once = gsettings set org.gnome.desktop.interface cursor-theme Bibata-Modern-Classic
Config File: /home/max/.config/hypr/hyprland/binds.hl: Read Succeeded
# Keybinds
$mainMod = SUPER
bind = $mainMod, Return, exec, $term
bind = $mainMod SHIFT, Return, exec, $fman
bind = $mainMod SHIFT, S, exec, $shot
bind = $mainMod, D, exec, $menu
bind = $mainMod SHIFT, P, exec, hyprpicker -f hex -a
bind = $mainMod SHIFT, R, exec, ags -q && ags -c ~/.config/ags/mono/config.js > /dev/null &
#bind = $mainMod, X, exec, wlogout -b 4 -T 360 -B 360 -r 10 -c 10 -p layer-shell
bind = $mainMod, X, exec, ags -t power
bind = $mainMod, V, exec, clipman pick -t wofi
bind = $mainMod SHIFT, space, exec, echo 'cycle pause' | socat - /tmp/mpv-socket
bind = $mainMod, P, pseudo,
bind = $mainMod, space, togglefloating,
bind = $mainMod, space, resizeactive, exact 1000 700
bind = $mainMod, space, centerwindow, 0
bind = $mainMod, C, centerwindow, 0
bind = $mainMod SHIFT, F, fullscreen, 0
bind = $mainMod SHIFT, M, fullscreen, 1
bind = $mainMod, J, togglesplit,
bind = $mainMod, G, togglegroup,
bind = $mainMod, B, changegroupactive, f
bind = $mainMod SHIFT, B, changegroupactive, b
bind = $mainMod, Q, killactive,
bind = $mainMod SHIFT, E, exit,
bind = $mainMod, Tab, exec, playerctl play-pause
# bind = $mainMod, escape, hycov:toggleoverview
bind = $mainMod, Left, movefocus, l
bind = $mainMod, Right, movefocus, r
bind = $mainMod, Up, movefocus, u
bind = $mainMod, Down, movefocus, d
bind = $mainMod SHIFT, Left, movewindow, l
bind = $mainMod SHIFT, Right, movewindow, r
bind = $mainMod SHIFT, Up, movewindow, u
bind = $mainMod SHIFT, Down, movewindow, d
bind = $mainMod, 1, split:workspace, 1
bind = $mainMod, 2, split:workspace, 2
bind = $mainMod, 3, split:workspace, 3
bind = $mainMod, 4, split:workspace, 4
bind = $mainMod, 5, split:workspace, 5
bind = $mainMod, 6, split:workspace, 6
bind = $mainMod, 7, split:workspace, 7
bind = $mainMod, 8, split:workspace, 8
bind = $mainMod, 9, split:workspace, 9
bind = $mainMod, 0, split:workspace, 10
bind = $mainMod SHIFT, 1, split:movetoworkspace, 1
bind = $mainMod SHIFT, 2, split:movetoworkspace, 2
bind = $mainMod SHIFT, 3, split:movetoworkspace, 3
bind = $mainMod SHIFT, 4, split:movetoworkspace, 4
bind = $mainMod SHIFT, 5, split:movetoworkspace, 5
bind = $mainMod SHIFT, 6, split:movetoworkspace, 6
bind = $mainMod SHIFT, 7, split:movetoworkspace, 7
bind = $mainMod SHIFT, 8, split:movetoworkspace, 8
bind = $mainMod SHIFT, 9, split:movetoworkspace, 9
bind = $mainMod SHIFT, 0, split:movetoworkspace, 10
bind=,XF86AudioLowerVolume, exec, swayosd-client --output-volume lower
bind=,XF86AudioRaiseVolume, exec, swayosd-client --output-volume raise
bind=CTRL,XF86AudioLowerVolume, exec, swayosd-client --input-volume lower
bind=CTRL,XF86AudioRaiseVolume, exec, swayosd-client --input-volume raise
bind=,XF86AudioMute, exec, swayosd-client --input-volume mute-toggle
bind=,XF86AudioMute, exec, ags -r "muteCheck.value = !muteCheck.value" &
bind=,Caps_Lock, exec, swayosd-client --caps-lock-led input7::capslock
bind=CTRL_SHIFT,m, pass, ^(VencordDesktop)$
bind=,F9, pass, ^(com\.obsproject\.Studio)$
bind = $mainMod, bracketright, pass, ^(com\.obsproject\.Studio)$
bindm = $mainMod, mouse:272, movewindow
bindm = $mainMod, mouse:273, resizewindow
Config File: /home/max/.config/hypr/hyprland/opts.hl: Read Succeeded
# Main Settings
general {
gaps_in = 5
gaps_out = 10
border_size = 0
col.active_border = rgb(cdcdcd)
col.inactive_border = rgb(2f2f2f)
resize_on_border = false
no_focus_fallback = true
allow_tearing = true
layout = dwindle
}
decoration {
# multisample_edges = true
rounding = 0
drop_shadow = true
shadow_range = 10
shadow_render_power = 2
col.shadow = 0x66000000
blur {
enabled = false
}
}
animations {
enabled = true
bezier = hyprnostretch, 0.05, 0.9, 0.1, 1 # Hyprland's default but no stretch
animation = windows, 1, 3, hyprnostretch, slide
animation = windowsOut, 1, 7, default, popin 80%
animation = border, 1, 10, default
animation = fade, 1, 3, default
animation = workspaces, 1, 3, hyprnostretch, slide
animation = layers, 1, 3, hyprnostretch, fade
#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
}
input {
kb_layout = eu,ru
#kb_variant = euro,legacy
kb_options = grp:alt_shift_toggle
scroll_method = no_scroll
follow_mouse = 1
mouse_refocus = false
accel_profile = flat
repeat_rate = 60
repeat_delay = 500
natural_scroll = false
sensitivity = 0
}
group {
groupbar {
col.inactive = rgb(cdcdcd) rgb(cdcdcd)
col.active = rgb(ff7eb6)
gradients = false
font_size = 12
render_titles = false
}
}
dwindle {
pseudotile = true
preserve_split = true
force_split = 2
}
master {
new_is_master = false
}
misc {
vfr = true
vrr = 2
enable_swallow = true;
swallow_regex = "^(foot)$";
force_default_wallpaper = false
disable_hyprland_logo = true
#mouse_move_enables_dpms = true
#middle_click_paste = false
no_direct_scanout = false
}
binds {
workspace_center_on = 1
}
plugin {
hyprbars {
# example config
bar_height = 35
bar_color = rgb(060606)
col.text = rgb(CDCDCD)
bar_text_size = 11
bar_text_font = BlexMono Nerd Font Propo
bar_text_align = left
bar_buttons_alignment = right
bar_padding = 7
bar_button_padding = 8
bar_part_of_window = true
bar_precedence_over_border = true
# example buttons (R -> L)
# hyprbars-button = color, size, on-click
hyprbars-button = rgb(EE5396), 17, , hyprctl dispatch killactive
#hyprbars-button = rgb(42be65), 17, , hyprctl dispatch fullscreen
hyprbars-button = rgb(33b1ff), 17, , hyprctl dispatch togglefloating && hyprctl dispatch resizeactive exact 1000 700 && hyprctl dispatch centerwindow 0
#hyprbars-button = rgb(060606), 20, , hyprctl dispatch togglefloating
}
csgo-vulkan-fix {
res_w = 1280
res_h = 960
# NOT a regex! This is a string and has to exactly match initial_class
class = cs2
}
hycov {
overview_gappi = 60
enable_hotarea = 0
}
hyprexpo {
columns = 1
gap_size = 10
bg_col = rgb(cdcdcd)
workspace_method = first 1 # [center/first] [workspace] e.g. first 1 or center m+1
enable_gesture = true # laptop touchpad, 4 fingers
gesture_distance = 300 # how far is the "max"
gesture_positive = true # positive = swipe down. Negative = swipe up.
}
}
#debug {
# error_position = 1
#}
Config File: /home/max/.config/hypr/hyprland/rules.hl: Read Succeeded
# Windowrules
windowrule=float,Rofi
windowrule=float, title:File Operation Progress
windowrule=float, title:Confirm to replace files
windowrule=size 1000 500,title:Wine configuration
windowrule=tile,title:Spotify
windowrule=float,pavucontrol
windowrule=float, com-group_finity-mascot-Main
windowrule=noblur, com-group_finity-mascot-Main
windowrule=nofocus, com-group_finity-mascot-Main
windowrule=noshadow, com-group_finity-mascot-Main
windowrule=noborder, com-group_finity-mascot-Main
windowrule=plugin:hyprbars:nobar,librewolf
windowrule=plugin:hyprbars:nobar,steam
windowrule=plugin:hyprbars:nobar,firefox
windowrule=plugin:hyprbars:nobar,moe.launcher.an-anime-game-launcher
windowrulev2 = immediate, class:^(cs2)$
windowrulev2 = immediate, class:^(steam_proton)$
windowrulev2 = immediate, class:^(tetrio-desktop)$
windowrulev2 = immediate, class:^(gamescope)$
windowrulev2 = immediate, class:(gamescope)$
windowrulev2 = immediate, title:^(Counter-Strike 2)$
windowrulev2 = immediate, class:(Minecraft)(.*)$
windowrulev2 = immediate, class:(Lunar Client)(.*)$
windowrulev2 = immediate, class:^(osu!)$
windowrulev2 = noblur,class:(steam)$
windowrulev2 = forcergbx,class:(steam)$
windowrulev2 = suppressevent maximize, class:.*
# Vesktop on Mon 2 WS 1
windowrulev2 = monitor 1, class:^(vesktop)$
windowrulev2 = workspace 11, class:^(vesktop)$
layerrule = animation fade, swayosd
layerrule = animation slide, notifications
layerrule = animation none, selection
layerrule = animation none, gtk-layer-shell
# blurls = waybar
workspace = 1, monitor:DP-3, persistent:true
workspace = 2, monitor:DP-3, persistent:true
workspace = 3, monitor:DP-3, persistent:true
workspace = 4, monitor:DP-3, persistent:true
workspace = 5, monitor:DP-3, persistent:true
workspace = 11, monitor:HDMI-A-1, persistent:true
workspace = 12, monitor:HDMI-A-1, persistent:true
workspace = 13, monitor:HDMI-A-1, persistent:true
workspace = 14, monitor:HDMI-A-1, persistent:true
workspace = 15, monitor:HDMI-A-1, persistent:true
======Config-End========
Description
the foot terminal seems to have an incorrect closing animation, compared to other windows. With my config windows should fade out, but foot's "texture" simply disappears instantly, you can only see it's shadow fade out, see the vid(using default animations to show it better).
Issue appeared after updating to 0.41.0, not present on 0.40.0
foot version: 1.17.2 -pgo +ime +graphemes -assertions
How to reproduce
- have animations enabled
- open foot
- close foot
- observe problem
Crash reports, logs, images, videos
https://github.com/hyprwm/Hyprland/assets/68853493/c8544254-e0bd-49d1-b624-ce82735fd2f9
this is likely caused by https://github.com/hyprwm/Hyprland/pull/6268 but please bisect
Bisected, here's what I've found:
7eeee2c94e882a5df1914234df0571b221f9aa35 - Broken animation fc72df8e58bc127442a245f2f29a3246acf77cce - doesnt launch, err: wayland.c:1528: no clipboard available (wl_data_device_manager not implemented by server) 0cfdde3d1acbfbf698af17f6986fbc4d644214da - doesnt launch, err: wayland.c:1528: no clipboard available (wl_data_device_manager not implemented by server) 121d3a72137d4780602cf245704615f63357ea22 - doesnt launch, err: wayland.c:1528: no clipboard available (wl_data_device_manager not implemented by server) 4cdddcfe466cb21db81af0ac39e51cc15f574da9 - last commit where everything is fine
I'm not particularly knowledgeable at this, but I can assume it's one of the commits moving something to the new impl, either wl_seat, xdg-shell or wl-data-device
works fine for me on https://github.com/hyprwm/Hyprland/commit/155fe6f165f70ea69a44cbd6989fc01a473e6946 doe maybe it's caused by a different animation config
works fine for me on 155fe6f doe maybe it's caused by a different animation config
That's really strange. For me, it is broken on 155fe6f. And I'm also using the default animation config, as I'm doing all the testing on a nested debug build, with the generated config. What's your foot ver? And is it also broken for you on 7eeee2c94e882a5df1914234df0571b221f9aa35?
https://github.com/hyprwm/Hyprland/assets/68853493/c021cb27-83e8-4ea7-9718-93a6b57ec049
my bad, border made it look like it was getting drawn it definitely is broken
Hi @cuddleplush,
How do you configure the window module in waybar to display more than one window?
Thanks!
Hi @cuddleplush,
How do you configure the window module in waybar to display more than one window?
Thanks!
It's not actually Waybar, it's AGS. If you're interested you can look at my dots here, but be warned they're pretty cursed
Still present as of cc98594c3aed0b542e03818371a4636f549f80e1.
Hyprland log during closing of a foot window: hyprland.log
Foot log of opening it and closing with WAYLAND_DEBUG=1: foot.log
still present in e4abf26069b4d43c8f6ad6b3dfb56c952abb38c2
https://github.com/user-attachments/assets/510c9126-d427-42b5-8411-17a5c1de4528
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!