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 gets stuck with offset from expected position #7789

Open alansartorio opened 2 months ago

alansartorio commented 2 months ago

Already reported ? *

Regression?

No

System Info and Version

System/Version info ```sh Hyprland, built from branch at commit 0f594732b063a90d44df8c5d402d658f27471dfe (props: bump version to 0.43.0). Date: Sun Sep 8 16:48:21 2024 Tag: v0.43.0, commits: 5196 flags: (if any) System Information: System name: Linux Node name: alan-artix Release: 6.10.9-artix1-2 Version: #1 SMP PREEMPT_DYNAMIC Wed, 11 Sep 2024 19:48:52 +0000 GPU information: 08:00.0 VGA compatible controller [0300]: NVIDIA Corporation TU116 [GeForce GTX 1660] [10de:2184] (rev a1) (prog-if 00 [VGA controller]) NVRM version: NVIDIA UNIX x86_64 Kernel Module 560.35.03 Fri Aug 16 21:39:15 UTC 2024 os-release: NAME="Artix Linux" PRETTY_NAME="Artix Linux" ID=artix BUILD_ID=rolling ANSI_COLOR="0;36" HOME_URL="https://www.artixlinux.org/" DOCUMENTATION_URL="https://wiki.artixlinux.org/" SUPPORT_URL="https://forum.artixlinux.org/" BUG_REPORT_URL="https://bugs.artixlinux.org/" PRIVACY_POLICY_URL="https://terms.artixlinux.org/docs/privacy-policy/" LOGO=artixlinux-logo plugins: ======Config-Start====== Config File: /home/alan/.config/hypr/hyprland.conf: Read Succeeded # # Please note not all available settings / options are set here. # For a full list, see the wiki # # See https://wiki.hyprland.org/Configuring/Monitors/ monitor=,preferred,auto,auto workspace = 1, monitor:DP-1 workspace = 2, monitor:DP-1 workspace = 3, monitor:DP-1 workspace = 4, monitor:DP-1 workspace = 5, monitor:DP-1 workspace = 6, monitor:HDMI-A-1 workspace = 7, monitor:HDMI-A-1 workspace = 8, monitor:HDMI-A-1 workspace = 9, monitor:HDMI-A-1 workspace = 10, monitor:HDMI-A-1 #bind = ,mouse:282,pass,^(discord)$ # See https://wiki.hyprland.org/Configuring/Keywords/ for more # Execute your favorite apps at launch exec-once = MONITOR=0 MONITOR_ID=1 eww open -c ~/.config/eww/bar main-bar exec-once = MONITOR=1 MONITOR_ID=0 eww open -c ~/.config/eww/bar secondary-bar exec-once = artix-pipewire-launcher exec-once = swaybg -c "##121319" exec-once = /usr/lib/kdeconnectd exec-once = launch-desktop-portal exec-once = /usr/lib/polkit-kde-authentication-agent-1 exec-once = dunst windowrulev2 = float,class:^(firefox)$,title:^(Firefox — Sharing Indicator)$ #windowrulev2 = nofullscreenrequest,class:^(firefox)$,title:^(Firefox — Sharing Indicator)$ #windowrulev2 = nomaximizerequest,class:^(firefox)$,title:^(Firefox — Sharing Indicator)$ # Source a file (multi-file configs) # source = ~/.config/hypr/myColors.conf # Some default env vars. env = XCURSOR_SIZE,24 env = QT_QPA_PLATFORM,wayland # For all categories, see https://wiki.hyprland.org/Configuring/Variables/ input { kb_layout = us,latam kb_variant = kb_model = kb_options = kb_rules = repeat_delay = 225 follow_mouse = 1 touchpad { natural_scroll = yes disable_while_typing = no } sensitivity = 0.0 # -1.0 - 1.0, 0 means no modification. numlock_by_default = yes #force_no_accel = yes } general { # See https://wiki.hyprland.org/Configuring/Variables/ for more gaps_in = 5 gaps_out = 10 border_size = 2 col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg col.inactive_border = rgba(595959aa) layout = dwindle } cursor { no_hardware_cursors = true #no_break_fs_vrr = true min_refresh_rate = 48 no_warps = true } decoration { # See https://wiki.hyprland.org/Configuring/Variables/ for more rounding = 10 blur { enabled = true size = 3 passes = 1 } drop_shadow = yes shadow_range = 4 shadow_render_power = 3 col.shadow = rgba(1a1a1aee) } 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_status = master } gestures { # See https://wiki.hyprland.org/Configuring/Variables/ for more workspace_swipe = on } misc { disable_splash_rendering = true disable_hyprland_logo = true #vrr = 2 render_ahead_of_time = false middle_click_paste = false } opengl { nvidia_anti_flicker = true } render { direct_scanout = true } # Example windowrule v1 # windowrule = float, ^(kitty)$ # Example windowrule v2 # windowrulev2 = float,class:^(kitty)$,title:^(kitty)$ # See https://wiki.hyprland.org/Configuring/Window-Rules/ for more # See https://wiki.hyprland.org/Configuring/Keywords/ for more $mainMod = SUPER # Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more bind = $mainMod, return, exec, alacritty bind = $mainMod, W, killactive, bind = $mainMod, M, exit, bind = $mainMod, E, exec, dolphin bind = $mainMod, S, togglefloating, bind = $mainMod, R, exec, rofi -show run bind = $mainMod SHIFT, P, pseudo, # dwindle bind = $mainMod, F, fullscreen, # dwindle bind = $mainMod, P, exec, alacritty -e zsh -c "PYTHONSTARTUP=$HOME/.dotfiles/python/mathstart.py python" # Move windows with mainMod + shift + arrow keys bind = $mainMod SHIFT, H, movewindow, l bind = $mainMod SHIFT, L, movewindow, r bind = $mainMod SHIFT, K, movewindow, u bind = $mainMod SHIFT, J, movewindow, d # Move focus with mainMod + arrow keys bind = $mainMod, H, movefocus, l bind = $mainMod, L, movefocus, r bind = $mainMod, K, movefocus, u bind = $mainMod, J, 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, 34, workspace, m-1 bind = $mainMod, 35, workspace, m+1 # Move/resize windows with mainMod + LMB/RMB and dragging bindm = $mainMod, mouse:272, movewindow bindm = $mainMod, mouse:273, resizewindow bind = $mainMod, space, exec, hyprctl switchxkblayout by-tech-usb-gaming-keyboard next bind = , XF86MonBrightnessDown, exec, brightnessctl s 10%- bind = , XF86MonBrightnessUp, exec, brightnessctl s +10% binde = , XF86AudioRaiseVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ +5% binde = , XF86AudioLowerVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ -5% binde = , XF86AudioMute, exec, pactl set-sink-mute @DEFAULT_SINK@ toggle # Media player controls bind = , XF86AudioPlay, exec, playerctl play-pause bind = , XF86AudioStop, exec, playerctl stop bind = , XF86AudioNext, exec, playerctl next bind = , XF86AudioPrev, exec, playerctl previous bind = $mainMod SHIFT, S, exec, grim -g "$(slurp -d)" - | wl-copy bind = $mainMod SHIFT, W, exec, grim -g "$(hyprctl activewindow -j | jq -j '"\(.at[0]),\(.at[1]) \(.size[0])x\(.size[1])"')" - | wl-copy bind=$mainMod CTRL SHIFT, G, submap, passthrough submap=passthrough bind=$mainMod CTRL SHIFT, G, submap, reset submap=reset ======Config-End======== ```

Description

Every once in a while some window I have open gets into a state which keeps it offset from the position it should be. It happened to me with an Alacritty window and a few times with a Firefox window.

The video below shows one window behaving like this while I open more windows and later toggle it's floating state:

https://github.com/user-attachments/assets/dd7c034a-3917-47bf-a804-ce3cd87b92c9

The window also shows some rendering artifacts on the left border (I don't mean the characters that are spread over the window, those are real).

While trying to investigate the issue I thought of running hyprctl clients to log the position, but the issue went away either after I switched workspace, closed a few other windows or when I ran hyprctl clients, as I noticed it was fixed after running it.

How to reproduce

I don't know how to reproduce it. It happened close to 10 times in total and I wasn't doing anything in particular before it happens.

Crash reports, logs, images, videos

No response

vaxerski commented 2 months ago

wot de foq? Does this happen with the default config?