hyprwm / Hyprland

Hyprland is an independent, highly customizable, dynamic tiling Wayland compositor that doesn't sacrifice on its looks.
https://hyprland.org
BSD 3-Clause "New" or "Revised" License
21.65k stars 901 forks source link

Window auto-resizing is broken on specific programs, once again #8464

Open kurtbahartr opened 1 day ago

kurtbahartr commented 1 day ago

Already reported ? *

Regression?

Yes

System Info and Version

System/Version info ```sh Hyprland 0.45.0 built from branch at commit a425fbebe4cf4238e48a42f724ef2208959d66cf dirty (version: bump to 0.45.0). Date: Sat Nov 9 17:27:47 2024 Tag: v0.45.0, commits: 5433 built against aquamarine 0.4.5 flags set: debug System Information: System name: Linux Node name: spring-main Release: 6.11.7-arch1-1 Version: #1 SMP PREEMPT_DYNAMIC Fri, 08 Nov 2024 17:57:56 +0000 GPU information: 00:02.0 VGA compatible controller [0300]: Intel Corporation Alder Lake-P GT1 [UHD Graphics] [8086:46a3] (rev 0c) (prog-if 00 [VGA controller]) 01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GA107M [GeForce RTX 3050 Mobile] [10de:25a2] (rev a1) (prog-if 00 [VGA controller]) NVRM version: NVIDIA UNIX x86_64 Kernel Module 565.57.01 Thu Oct 10 12:29:05 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: dynamic-cursors by Virt ver 0.1 ======Config-Start====== Config File: /home/bahar/.config/hypr/hyprland.conf: Read Succeeded $hyprland-conf = ~/.config/hypr/config $hyprland-scripts = ~/.config/hypr/scripts # ----------------------------------------------------- # Autostart # ----------------------------------------------------- source = $hyprland-conf/autostart.conf # ----------------------------------------------------- # Monitors # ----------------------------------------------------- source = $hyprland-conf/monitor.conf # ----------------------------------------------------- # Programs # ----------------------------------------------------- source = $hyprland-conf/program.conf # ----------------------------------------------------- # Keybinding # ----------------------------------------------------- source = $hyprland-conf/keybinding.conf # ----------------------------------------------------- # Environment Vars # ----------------------------------------------------- source = $hyprland-conf/environment.conf # ----------------------------------------------------- # Animation # ----------------------------------------------------- source = $hyprland-conf/animation.conf # ----------------------------------------------------- # Decerations # ----------------------------------------------------- source = $hyprland-conf/deceration.conf # ----------------------------------------------------- # window # ----------------------------------------------------- source = $hyprland-conf/window.conf # ----------------------------------------------------- # Layout # ----------------------------------------------------- source = $hyprland-conf/layout.conf # ----------------------------------------------------- # Keyboard # ----------------------------------------------------- source = $hyprland-conf/keyboard.conf # ----------------------------------------------------- # Touchpad # ----------------------------------------------------- source = $hyprland-conf/touchpad.conf # ----------------------------------------------------- # Window rules # ----------------------------------------------------- source = $hyprland-conf/windowrule.conf # ----------------------------------------------------- # Animation # ----------------------------------------------------- source = $hyprland-conf/misc.conf # ----------------------------------------------------- # Plugins # ----------------------------------------------------- source = $hyprland-conf/plugin.conf Config File: /home/bahar/.config/hypr/config/autostart.conf: Read Succeeded ################# ### AUTOSTART ### ################# # Setup XDG for screen sharing exec-once = $hyprland-scripts/xdg.sh # Start polkit exec-once=/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 # Autostart plugins exec-once = hyprpm reload # Initilize ags exec-once = ags # Set up cursor theme exec-once = gsettings set org.gnome.desktop.interface cursor-theme Bibata-Modern-Ice exec-once = hyprctl setcursor Bibata-Modern-Ice 24 # Set up icon theme exec-once = gsettings set org.gnome.desktop.interface icon-theme Tela-circle-pink # initilize hyprpaper exec-once = hyprpaper # Initilize hypridle exec-once = hypridle # Environment for xdg-desktop-portal-hyprland exec-once=dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP # XDG autostart exec-once=dex -a Config File: /home/bahar/.config/hypr/config/monitor.conf: Read Succeeded source = $hyprland-conf/monitors/default.conf Config File: /home/bahar/.config/hypr/config/monitors/default.conf: Read Succeeded # ----------------------------------------------------- # Monitor Setup # name: "Default" # ----------------------------------------------------- monitor=,preferred,auto,1 Config File: /home/bahar/.config/hypr/config/program.conf: Read Succeeded source = $hyprland-conf/programs/default.conf Config File: /home/bahar/.config/hypr/config/programs/default.conf: Read Succeeded # ----------------------------------------------------- # Programs # name: "Default" # ----------------------------------------------------- $lock_cmd = pidof hyprlock || hyprlock # taken from hypridle.conf $terminal = wezterm $fileManager = nautilus $browser = zen-browser $system-monitor = missioncenter Config File: /home/bahar/.config/hypr/config/keybinding.conf: Read Succeeded source = $hyprland-conf/keybindings/default.conf Config File: /home/bahar/.config/hypr/config/keybindings/default.conf: Read Succeeded # ----------------------------------------------------- # Key bindings # name: "Default" # ----------------------------------------------------- # Super key $mainMod = SUPER # Sets "Windows" key as main modifier bind = $mainMod, L, exec, $lock_cmd bind = $mainMod, RETURN, exec, $terminal bind = $mainMod SHIFT, M, exit, bind = $mainMod, B, exec, $browser bind = $mainMod, Q, killactive bind = $mainMod, F, fullscreen # Set active window to fullscreen bind = $mainMod, E, exec, $fileManager bind = CTRL ALT, DELETE, exec, $system-monitor bind = $mainMod, T, togglefloating bind = $mainMod, J, togglesplit # dwindle bind = $mainMod, G, togglegroup bind = $mainMod ALT, G, exec, $hyprland-scripts/gamemode.sh bind = CTRL $mainMod, N, exec, $hyprland-scripts/hyprsunset.sh # Ags keybingings bind= CTRL SHIFT, R, exec, ags -q; ags bind = $mainMod CTRL, RETURN, exec, ags -t launcher bind = $mainMod, SLASH, exec, ags -t keybinds bind = $mainMod, F4, exec, ags -t powermenu bind = $mainMod, Tab, exec, ags -t overview bind = $mainMod, F12, exec, ags -r 'recorder.start()' bind = , Print, exec, ags -r 'recorder.screenshot()' bind = SHIFT, Print, exec, ags -r 'recorder.screenshot(true)' # 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 # Example special workspace (scratchpad) # bind = $mainMod, S, togglespecialworkspace, magic # bind = $mainMod SHIFT, S, movetoworkspace, special:magic # 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 # Passthrough SUPER KEY to Virtual Machine bind = $mainMod, P, submap, passthru # Passthrough SUPER key to virtual machine submap = passthru bind = $mainMod, Escape, submap, reset # Get SUPER key back from virtual machine submap = reset # Fn keys bind = , XF86MonBrightnessUp, exec, brightnessctl -q s +10% # Increase brightness by 10% bind = , XF86MonBrightnessDown, exec, brightnessctl -q s 10%- # Reduce brightness by 10% bind = , XF86AudioRaiseVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ +5% # Increase volume by 5% bind = , XF86AudioLowerVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ -5% # Reduce volume by 5% bind = , XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle # Toggle mute bind = , XF86AudioPlay, exec, playerctl play-pause # Audio play pause bind = , XF86AudioPause, exec, playerctl pause # Audio pause bind = , XF86AudioNext, exec, playerctl next # Audio next bind = , XF86AudioPrev, exec, playerctl previous # Audio previous bind = , XF86AudioMicMute, exec, pactl set-source-mute @DEFAULT_SOURCE@ toggle # Toggle microphone Config File: /home/bahar/.config/hypr/config/environment.conf: Read Succeeded source = $hyprland-conf/environments/default.conf #source = $hyprland-conf/environments/kvm.conf source = $hyprland-conf/environments/nvidia.conf Config File: /home/bahar/.config/hypr/config/environments/default.conf: Read Succeeded # ----------------------------------------------------- # Environments # name: "Default" # ----------------------------------------------------- # Cursor size env = XCURSOR_SIZE,24 env = HYPRCURSOR_SIZE,24 # XDG Desktop Portal env = XDG_CURRENT_DESKTOP,Hyprland env = XDG_SESSION_TYPE,wayland env = XDG_SESSION_DESKTOP,Hyprland # QT env = QT_QPA_PLATFORM,wayland;xcb env = QT_QPA_PLATFORMTHEME,qt6ct env = QT_QPA_PLATFORMTHEME,qt5ct env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1 env = QT_AUTO_SCREEN_SCALE_FACTOR,1 # GTK env = GDK_SCALE,1 # Mozilla env = MOZ_ENABLE_WAYLAND,1 # Disable appimage launcher by default env = APPIMAGELAUNCHER_DISABLE,1 Config File: /home/bahar/.config/hypr/config/environments/nvidia.conf: Read Succeeded # ----------------------------------------------------- # Environment Variables # name: "Nvidia" # ----------------------------------------------------- # https://wiki.hyprland.org/Nvidia/ env = LIBVA_DRIVER_NAME,nvidia env = XDG_SESSION_TYPE,wayland env = GBM_BACKEND,nvidia-drm env = __GLX_VENDOR_LIBRARY_NAME,nvidia # env = __GL_VRR_ALLOWED,1 # env = WLR_DRM_NO_ATOMIC,1 Config File: /home/bahar/.config/hypr/config/animation.conf: Read Succeeded source = $hyprland-conf/animations/default.conf Config File: /home/bahar/.config/hypr/config/animations/default.conf: Read Succeeded # ----------------------------------------------------- # Animations # name "Default" # ----------------------------------------------------- animations { enabled = true 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 } Config File: /home/bahar/.config/hypr/config/deceration.conf: Read Succeeded source = $hyprland-conf/decorations/default.conf Config File: /home/bahar/.config/hypr/config/decorations/default.conf: Read Succeeded # ----------------------------------------------------- # General window decoration # name: "Default" # ----------------------------------------------------- decoration { rounding = 10 blur { enabled = true size = 6 passes = 2 new_optimizations = on ignore_opacity = true xray = true # blurls = waybar } active_opacity = 1.0 inactive_opacity = 0.8 fullscreen_opacity = 1.0 shadow { enabled = true range = 30 render_power = 3 color = 0x66000000 } } Config File: /home/bahar/.config/hypr/config/window.conf: Read Succeeded source = $hyprland-conf/windows/default.conf Config File: /home/bahar/.config/hypr/config/windows/default.conf: Read Succeeded # ----------------------------------------------------- # General window layout and colors # name: "Default" # ----------------------------------------------------- general { gaps_in = 10 gaps_out = 14 border_size = 3 col.active_border = $color11 col.inactive_border = rgba(ffffffff) layout = dwindle resize_on_border = true } Config File: /home/bahar/.config/hypr/config/layout.conf: Read Succeeded source = $hyprland-conf/layouts/laptop.conf Config File: /home/bahar/.config/hypr/config/layouts/laptop.conf: Read Succeeded # ----------------------------------------------------- # Layouts # ----------------------------------------------------- dwindle { pseudotile = true preserve_split = true } master { # new_is_master = true # new_status = master } gestures { workspace_swipe = true } Config File: /home/bahar/.config/hypr/config/keyboard.conf: Read Succeeded # ----------------------------------------------------- # Keyboard Layout # https://wiki.hyprland.org/Configuring/Variables/#input # ----------------------------------------------------- input { kb_layout = us kb_variant = kb_model = kb_options = numlock_by_default = true follow_mouse = 1 mouse_refocus=false sensitivity = 0 # -1.0 - 1.0, 0 means no modification. } Config File: /home/bahar/.config/hypr/config/touchpad.conf: Read Succeeded source = $hyprland-conf/touchpads/laptop.conf Config File: /home/bahar/.config/hypr/config/touchpads/laptop.conf: Read Succeeded input { touchpad { natural_scroll = true middle_button_emulation = true clickfinger_behavior = 1 } } Config File: /home/bahar/.config/hypr/config/windowrule.conf: Read Succeeded source = $hyprland-conf/windowrules/default.conf Config File: /home/bahar/.config/hypr/config/windowrules/default.conf: Read Succeeded # ----------------------------------------------------- # Window Rules # name: "Default" # ----------------------------------------------------- # Browser Picture in Picture windowrulev2 = float, title:^(Picture-in-Picture)$ windowrulev2 = pin, title:^(Picture-in-Picture)$ windowrulev2 = move 69.5% 4%, title:^(Picture-in-Picture)$ # System Monitor windowrulev2 = float, class:($system-monitor) windowrulev2 = pin, class:($system-monitor) windowrulev2 = move 1% 4%, class:($system-monitor) windowrulev2 = size 40% 35%, class:($system-monitor) # System Monitor Preferences window windowrulev2 = float, class:($system-monitor), title:^(Preferences)$ windowrulev2 = pin, class:($system-monitor), title:^(Preferences)$ windowrulev2 = center, class:($system-monitor), title:^(Preferences)$ Config File: /home/bahar/.config/hypr/config/misc.conf: Read Succeeded # ----------------------------------------------------- # Misc settings # ----------------------------------------------------- misc { disable_hyprland_logo = true disable_splash_rendering = true } Config File: /home/bahar/.config/hypr/config/plugin.conf: Read Succeeded #source = $hyprland-conf/plugins/dynamic-cursors.conf ======Config-End======== ```

Description

See #4164. The same issue happens once again, but this time without the stretching but rather in the form of windows drawing outside of their frames.

How to reproduce

If using Telegram,

If using Windscribe,

If using VMware Workstation,

Crash reports, logs, images, videos

vaxerski commented 1 day ago

screenshot pls?

kurtbahartr commented 21 hours ago

screenshot pls?

So here's the case with Windscribe: https://photos.app.goo.gl/8YZstwKv2oafPa2R9

And here's a screenshot of what's expected happen to Telegram in this bug: 2024-11-14_13-35-44

kurtbahartr commented 15 hours ago

So I got a response from Windscribe's side a while ago and they told me they're working on the way window is reported as under a lower priority.

However, the resizing issue will still be there and I assume it has to do with the fact that the windows with this issue are mostly XWayland windows.

Can I prove it? Absolutely, with VMware Workstation being the cherry on top!

Oh and this also happens with VMware sometimes for some reason: image

I guess this one is because of one of the keybindings (SUPER+T is bound to togglefloating) even though I never use that binding even on Windows.

EDIT: I also updated the main post to include the steps for VMware and for the screenshots section to act as a hub to the videos and screenshots I posted about this issue so far.

vaxerski commented 7 hours ago

hm, windscribe, wouldnt that be a problem with the app not being able to handle being tiled?

kurtbahartr commented 4 hours ago

hm, windscribe, wouldnt that be a problem with the app not being able to handle being tiled?

That's why I suggested them to make the GUI report itself as a popup instead. The resizing issue, however, seems to be the case with pretty much any app that uses XWayland.