hyprwm / Hyprland

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

Turning a monitor on and off messes up with dimensionality of the screen #6740

Closed alexlnkp closed 2 days ago

alexlnkp commented 6 days ago

Regression?

Yes

System Info and Version

System/Version info ```sh 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: 413x1nkp Release: 6.9.7-arch1-1 Version: #1 SMP PREEMPT_DYNAMIC Fri, 28 Jun 2024 04:32:50 +0000 GPU information: 01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GA106 [GeForce RTX 3060 Lite Hash Rate] [10de:2504] (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/alex/.config/hypr/hyprland.conf: Read Succeeded monitor=DP-2,1920x1080@165,0x0,1 # monitor=Unknown-1,disable source=~/.config/hypr/mocha.conf # Background Settings $BACKGROUND = 'windows-error.jpg' # Execute your favorite apps at launch exec-once = ~/.config/hypr/xdg-portal-hyprland exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 exec-once = swww init exec = ~/.config/waybar/wb-full-restart exec-once = mako exec-once = blueman-applet exec-once = nm-applet --indicator exec-once = wl-paste --watch cliphist store exec = swww img ~/.config/hypr/bg/$BACKGROUND exec = ~/.config/hypr/themeing-script input { numlock_by_default = true kb_layout = us,ru kb_variant = kb_model = kb_options = # grp:lwin_toggle # Switches keymap, but doesn't update it on waybar. The script `kb-layout-switch` does both kb_rules = follow_mouse = 1 touchpad { natural_scroll = no } sensitivity = 0 # [-1.0 ; 1.0], 0 means no modification. } general { gaps_in = 5 gaps_out = 10 border_size = 2 #col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg col.active_border = $mauve col.inactive_border = $mauveAlpha layout = dwindle } misc { disable_hyprland_logo = yes vrr = 1 } decoration { rounding = 2 blur { enabled = true size = 7 passes = 4 new_optimizations = true } blurls = lockscreen drop_shadow = yes shadow_range = 4 shadow_render_power = 3 col.shadow = rgba(1a1a1aee) } animations { enabled = yes bezier = myBezier, 0.10, 0.9, 0.1, 1.05 animation = windows, 1, 7, myBezier, slide animation = windowsOut, 1, 7, myBezier, slide animation = border, 1, 10, default animation = fade, 1, 7, default animation = workspaces, 1, 6, default } dwindle { pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below preserve_split = yes # you probably want this } gestures { workspace_swipe = off } windowrule = float, title:^(SMPlayer)$ windowrule = float,^(pavucontrol)$ windowrule = float,^(nm-connection-editor)$ windowrule = float,^(chromium)$ windowrule = float,^(image-roll)$ windowrule = float, title:^(btop)$ windowrule = float, title:^(update-sys)$ windowrule = float, title:^(Image Roll)$ windowrule = float, title:^(Confirm to replace files)$ windowrule = float, title:^(File Operation Progress)$ windowrule = float, title:^(Compress)$ windowrule = move 50 50, title:^(File Operation Progress)$ windowrule = float, title:^(6624)$ windowrule = float, title:^(Picture-in-Picture)$ windowrule = pin, title:^(Picture-in-Picture)$ windowrule = size 30% 30%, title:^(Picture-in-Picture)$ windowrule = float, title:^(Open File)$ windowrule = float, title:^(Open Folder)$ windowrule = float, title:^(Figure [0-9])$ windowrule = float, title:^(zenity)$ windowrulev2 = float, class:^(file-roller)$, title:^(File Roller)$ windowrulev2 = animation popin, class:^(file-roller)$, title:^(File Roller)$ windowrulev2 = animation popin, class:^(librewolf)$, title:^(Picture-in-Picture)$ windowrulev2 = animation popin, class:^(kitty)$, title:^(update-sys)$ windowrulev2 = animation popin, class:^(thunar)$ windowrulev2 = noanim, class:^(wofi)$ windowrulev2 = move cursor -3% -105%, class:^(wofi)$ windowrulev2 = opacity 0.8 0.8, class:^(kitty)$ windowrulev2 = opacity 1.0 1.0, title:^(neovim)$ windowrulev2 = opacity 1.0 1.0, title:^(nvim)$ windowrulev2 = nofocus, class:^(fl64.exe)$, title:^()$ windowrulev2 = noinitialfocus, xwayland:1 # windowrulev2 = opacity 0.0 override 0.0 override,class:^(xwaylandvideobridge)$ # windowrulev2 = noanim,class:^(xwaylandvideobridge)$ # windowrulev2 = noinitialfocus,class:^(xwaylandvideobridge)$ # windowrulev2 = maxsize 1 1,class:^(xwaylandvideobridge)$ # windowrulev2 = noblur,class:^(xwaylandvideobridge)$ $mainMod = Alt bind = $mainMod, code:36, exec, kitty # open the terminal bind = $mainMod SHIFT, Q, killactive, # close the active window bind = $mainMod, V, togglefloating, # Allow a window to float bind = $mainMod, SPACE, exec, wofi # Show the graphical app launcher bind = $mainMod, P, pseudo, # dwindle bind = $mainMod, J, togglesplit, # dwindle bind = SHIFT, Print, exec, grim -g "$(slurp)" - | swappy -f - # screenshot selection bind = $mainMod, Print, exec, grim -g "$(slurp)" - | wl-copy -t image/png # screenshot selection + autocopy bind = , Print, exec, grim - | wl-copy -t image/png # full screenshot bind = SUPER, V, exec, cliphist list | wofi -dmenu | cliphist decode | wl-copy # open clipboard manager bind = $mainMod, F, fullscreen bind = SUPER, code:47, exec, ~/.config/waybar/wb-full-restart bind = SUPER, C, exec, ~/.config/hypr/kb-layout-switch bind = $mainMod, code:35, exec, ~/.config/waybar/scripts/volume --toggle-mic bind = $mainMod CTRL, Delete, exec, kitty --start-as=fullscreen --title btop sh -c 'btop' bind = $mainMod, code:76, exec, obs-cmd replay save bind = SUPER code:9, code:51, exec, wofi-power-menu # Move focus with mainMod & shift+ arrow keys bind = $mainMod SHIFT, left, movefocus, l bind = $mainMod SHIFT, right, movefocus, r bind = $mainMod SHIFT, up, movefocus, u bind = $mainMod SHIFT, 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 # Move/resize windows with SUPER + SHIFT + LMB/RMB and dragging bindm = SUPER SHIFT, mouse:272, movewindow bindm = SUPER SHIFT, mouse:273, resizewindow # Source a file (multi-file configs) # source = ~/.config/hypr/myColors.conf source = ~/.config/hypr/media-binds.conf source = ~/.config/hypr/env_var.conf source = ~/.config/hypr/env_var_nvidia.conf exec-once=dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP Config File: /home/alex/.config/hypr/mocha.conf: Read Succeeded $rosewaterAlpha = f5e0dc $flamingoAlpha = f2cdcd $pinkAlpha = f5c2e7 $mauveAlpha = cba6f7 $redAlpha = f38ba8 $maroonAlpha = eba0ac $peachAlpha = fab387 $yellowAlpha = f9e2af $greenAlpha = a6e3a1 $tealAlpha = 94e2d5 $skyAlpha = 89dceb $sapphireAlpha = 74c7ec $blueAlpha = 89b4fa $lavenderAlpha = b4befe $textAlpha = cdd6f4 $subtext1Alpha = bac2de $subtext0Alpha = a6adc8 $overlay2Alpha = 9399b2 $overlay1Alpha = 7f849c $overlay0Alpha = 6c7086 $surface2Alpha = 585b70 $surface1Alpha = 45475a $surface0Alpha = 313244 $baseAlpha = 1e1e2e $mantleAlpha = 181825 $crustAlpha = 11111b $rosewater = 0xfff5e0dc $flamingo = 0xfff2cdcd $pink = 0xfff5c2e7 $mauve = 0xffcba6f7 $red = 0xfff38ba8 $maroon = 0xffeba0ac $peach = 0xfffab387 $yellow = 0xfff9e2af $green = 0xffa6e3a1 $teal = 0xff94e2d5 $sky = 0xff89dceb $sapphire = 0xff74c7ec $blue = 0xff89b4fa $lavender = 0xffb4befe $text = 0xffcdd6f4 $subtext1 = 0xffbac2de $subtext0 = 0xffa6adc8 $overlay2 = 0xff9399b2 $overlay1 = 0xff7f849c $overlay0 = 0xff6c7086 $surface2 = 0xff585b70 $surface1 = 0xff45475a $surface0 = 0xff313244 $base = 0xff1e1e2e $mantle = 0xff181825 $crust = 0xff11111b Config File: /home/alex/.config/hypr/media-binds.conf: Read Succeeded $SCRIPT = ~/.config/HyprV/waybar/scripts bind = , xf86audioraisevolume, exec, $SCRIPT/volume --inc bind = , xf86audiolowervolume, exec, $SCRIPT/volume --dec bind = , xf86AudioMicMute, exec, $SCRIPT/volume --toggle-mic bind = , xf86audioMute, exec, $SCRIPT/volume --toggle bind = , xf86KbdBrightnessDown, exec, $SCRIPT/kb-brightness --dec bind = , xf86KbdBrightnessUp, exec, $SCRIPT/kb-brightness --inc bind = , xf86MonBrightnessDown, exec, $SCRIPT/brightness --dec bind = , xf86MonBrightnessUp, exec, $SCRIPT/brightness --inc Config File: /home/alex/.config/hypr/env_var.conf: Read Succeeded # Environment Variables # see https://wiki.hyprland.org/Configuring/Environment-variables/ # Theming Related Variables # Set cursor size. See FAQ below for why you might want this variable set. # https://wiki.hyprland.org/FAQ/ # env = XCURSOR_SIZE,24 # Set a GTK theme manually, for those who want to avoid appearance tools such as lxappearance or nwg-look # env = GTK_THEME,Adwaita-dark # Set your cursor theme. The theme needs to be installed and readable by your user. # env = XCURSOR_THEME,Catppuccin-Frappe-Dark # the line below may help with multiple monitors #env = WLR_EGL_NO_MODIFIERS,1 #XDG Specifications env = XDG_CURRENT_DESKTOP,Hyprland env = XDG_SESSION_TYPE,wayland env = XDG_SESSION_DESKTOP,Hyprland # Toolkit Backend Variables # GTK: Use wayland if available, fall back to x11 if not. #env = GDK_BACKEND,wayland,x11 # QT: Use wayland if available, fall back to x11 if not. #env = QT_QPA_PLATFORM,wayland,xcb # Run SDL2 applications on Wayland. Remove or set to x11 if games that # provide older versions of SDL cause compatibility issues #env = SDL_VIDEODRIVER,wayland # Clutter package already has wayland enabled, this variable #will force Clutter applications to try and use the Wayland backend #env = CLUTTER_BACKEND,wayland # QT Variables # (From the QT documentation) enables automatic scaling, based on the monitor’s pixel density # https://doc.qt.io/qt-5/highdpi.html #env = QT_AUTO_SCREEN_SCALE_FACTOR,1 # Tell QT applications to use the Wayland backend, and fall back to x11 if Wayland is unavailable #env = QT_QPA_PLATFORM,wayland,xcb # Disables window decorations on QT applications #env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1 #Tells QT based applications to pick your theme from qt5ct, use with Kvantum. #env = QT_QPA_PLATFORMTHEME,qt5ct Config File: /home/alex/.config/hypr/env_var_nvidia.conf: Read Succeeded # Environment Variables NVIDIA Specific # See the wiki for more info as some work is required # https://wiki.hyprland.org/hyprland-wiki/pages/Nvidia/ env = WLR_NO_HARDWARE_CURSORS,1 # Hardware acceleration on NVIDIA GPUs # See Archwiki Hardware Acecleration Page for details and necessary values before setting this variable. # https://wiki.archlinux.org/title/Hardware_video_acceleration env = LIBVA_DRIVER_NAME,nvidia env = ELECTRON_OZONE_PLATFORM_HINT,auto # The lines below may cause issues, proceed at your own risk # To force GBM as a backend, set the following environment variables: # See Archwiki Wayland Page for more details on those variables. # https://wiki.archlinux.org/title/Wayland#Requirements #env = GBM_BACKEND,nvidia-drm #env = __GLX_VENDOR_LIBRARY_NAME,nvidia # Controls if G-Sync capable monitors should use Variable Refresh Rate (VRR) # See Nvidia Documentation for details. # https://download.nvidia.com/XFree86/Linux-32bit-ARM/375.26/README/openglenvvariables.html #env = __GL_GSYNC_ALLOWED, # Controls if Adaptive Sync should be used. Recommended to set as “0” to avoid having problems on some games. env = __GL_VRR_ALLOWED,1 # use legacy DRM interface instead of atomic mode setting. Might fix flickering issues. #env = WLR_DRM_NO_ATOMIC,1 ======Config-End======== ```

Description

Whenever I change settings on a monitor (Like turn on Adaptive sync, change Ghosting setting, and any other setting that causes monitor to turn off for a second) - Hyprland's perception of where screen is located is kind of messed up (not the best description, but I literally can't come up with anything else) Notice, I'm not changing the monitor's resolution in any way whatsoever.

Then, trying to move cursor to the right edge of the screen makes it... "lag" and disappear, as if there's another monitor connected, when there's not!

In my config file, SMPlayer's window is made to float by default, so whenever this issue occurs the window of SMPlayer just seems to not show up; however, it actually IS there! Here's an output of hyprctl clients:

Window 5ac6de97e490 -> SMPlayer:
    mapped: 1
    hidden: 0
    at: -1920,0
    size: 683,509
    workspace: 3 (3)
    floating: 1
    pseudo: 0
    monitor: 0
    class: smplayer
    title: SMPlayer
    initialClass: smplayer
    initialTitle: SMPlayer
    pid: 76193
    xwayland: 1
    pinned: 0
    fullscreen: 0
    fullscreenmode: 0
    fakefullscreen: 0
    grouped: 0
    tags: 
    swallowing: 0
    focusHistoryID: 2

...It just spawns at -1920,0 coordinates, for some reason? The monitor it displays is right however. Here's an instance of a terminal that is ran and displayed correctly:

Window 5ac6de950740 -> hyprctl clients:
    mapped: 1
    hidden: 0
    at: 12,34
    size: 1896,1034
    workspace: 1 (1)
    floating: 0
    pseudo: 0
    monitor: 0
    class: kitty
    title: hyprctl clients
    initialClass: kitty
    initialTitle: kitty
    pid: 75619
    xwayland: 0
    pinned: 0
    fullscreen: 0
    fullscreenmode: 0
    fakefullscreen: 0
    grouped: 0
    tags: 
    swallowing: 0
    focusHistoryID: 0

The issue is not specific to the Adaptive Sync, or any other feature, really. It is directly caused by toggling a setting that makes monitor restart itself.

How to reproduce

  1. Open monitor's settings through some button on the monitor itself
  2. Toggle a setting that would cause monitor to restart itself (i.e. Adaptive Sync)

Crash reports, logs, images, videos

https://github.com/hyprwm/Hyprland/assets/79400603/0b5e4ae1-c0ac-4c4c-a7bf-ab56222d8c19

Same video re-encoded with a constant frame-rate (in case the one above doesn't work):

https://github.com/hyprwm/Hyprland/assets/79400603/236e8324-2788-4756-8354-a93e55058105
MightyPlaza commented 6 days ago

if it's a regression please bisect does the center window rule not fix this?

alexlnkp commented 6 days ago

if it's a regression please bisect does the center window rule not fix this?

I've tested latest release against 0.41.1, those two behave identical. As for the 0.40.0, I'm unable to build it.

[107/169] Building CXX object CMakeFiles/Hyprland.dir/src/protocols/OutputManagement.cpp.o
FAILED: CMakeFiles/Hyprland.dir/src/protocols/OutputManagement.cpp.o 
/usr/bin/c++ -DHAS_EXECINFO -DHyprland_EXPORTS -DUSES_SYSTEMD -DWLR_USE_UNSTABLE -I/home/alex/Desktop/Hyprland/. -I/home/alex/Desktop/Hyprland/src -I/home/alex/Desktop/Hyprland/subprojects/wlroots-hyprland/include -I/home/alex/Desktop/Hyprland/subprojects/wlroots-hyprland/build/include -I/home/alex/Desktop/Hyprland/subprojects/udis86 -I/home/alex/Desktop/Hyprland/protocols -I/home/alex/Desktop/Hyprland/subprojects/udis86/libudis86 -isystem /usr/include/uuid -isystem /usr/include/pango-1.0 -isystem /usr/include/cairo -isystem /usr/include/glib-2.0 -isystem /usr/lib/glib-2.0/include -isystem /usr/include/harfbuzz -isystem /usr/include/freetype2 -isystem /usr/include/pixman-1 -isystem /usr/include/libdrm -isystem /usr/include/libpng16 -isystem /usr/include/libmount -isystem /usr/include/blkid -isystem /usr/include/fribidi -isystem /usr/include/sysprof-6 -O3 -DNDEBUG -std=gnu++23 -O3 -Wall -Wextra -Wno-unused-parameter -Wno-unused-value -Wno-missing-field-initializers -Wno-narrowing -Wno-pointer-arith -pthread -Winvalid-pch -include /home/alex/Desktop/Hyprland/build/CMakeFiles/Hyprland.dir/cmake_pch.hxx -MD -MT CMakeFiles/Hyprland.dir/src/protocols/OutputManagement.cpp.o -MF CMakeFiles/Hyprland.dir/src/protocols/OutputManagement.cpp.o.d -o CMakeFiles/Hyprland.dir/src/protocols/OutputManagement.cpp.o -c /home/alex/Desktop/Hyprland/src/protocols/OutputManagement.cpp
/home/alex/Desktop/Hyprland/src/protocols/OutputManagement.cpp: In member function ‘void COutputHead::sendAllData()’:
/home/alex/Desktop/Hyprland/src/protocols/OutputManagement.cpp:169:64: error: cannot convert ‘wl_resource*’ to ‘CZwlrOutputModeV1*’
  169 |                 resource->sendCurrentMode(m->resource->resource());
      |                                           ~~~~~~~~~~~~~~~~~~~~~^~
      |                                                                |
      |                                                                wl_resource*
In file included from /home/alex/Desktop/Hyprland/src/protocols/OutputManagement.hpp:7,
                 from /home/alex/Desktop/Hyprland/src/protocols/OutputManagement.cpp:1:
/home/alex/Desktop/Hyprland/protocols/wlr-output-management-unstable-v1.hpp:224:26: note:   initializing argument 1 of ‘void CZwlrOutputHeadV1::sendCurrentMode(CZwlrOutputModeV1*)’
  224 |     void sendCurrentMode(CZwlrOutputModeV1*);
      |                          ^~~~~~~~~~~~~~~~~~
/home/alex/Desktop/Hyprland/src/protocols/OutputManagement.cpp: In member function ‘void COutputHead::updateMode()’:
/home/alex/Desktop/Hyprland/src/protocols/OutputManagement.cpp:200:64: error: cannot convert ‘wl_resource*’ to ‘CZwlrOutputModeV1*’
  200 |                 resource->sendCurrentMode(m->resource->resource());
      |                                           ~~~~~~~~~~~~~~~~~~~~~^~
      |                                                                |
      |                                                                wl_resource*
/home/alex/Desktop/Hyprland/protocols/wlr-output-management-unstable-v1.hpp:224:26: note:   initializing argument 1 of ‘void CZwlrOutputHeadV1::sendCurrentMode(CZwlrOutputModeV1*)’
  224 |     void sendCurrentMode(CZwlrOutputModeV1*);
      |                          ^~~~~~~~~~~~~~~~~~
[118/169] Building CXX object CMakeFiles/Hyprland.dir/src/protocols/PointerConstraints.cpp.o
ninja: build stopped: subcommand failed.
make[1]: *** [Makefile:15: release] Error 1
make[1]: Leaving directory '/home/alex/Desktop/Hyprland'
make: *** [Makefile:35: all] Error 2

Looking at the error it seems quite severe, not sure how this release was even packaged in the first place...

Looking back at it, bisection of commits after 0.40.0 didn't yield any results that show exactly WHEN this issue began with the monitor. My only assumption is that this is NOT a regression, but it appeared this way simply because I didn't notice it before (not often I had to restart my monitor). Therefore, please ignore the regression label for now, at least until i'm able to confirm that 0.40.0 didn't have this issue and until i yield bisection logs pointing out the actual bad commit.

As for the idea to center the floating window of SMPlayer - it works, but it's a not a good way to fix. This isn't specific to SMPlayer, it was just used as an example; the issue is the case for literally EVERY window that is floating by default, be it because of the windowrule, or the app that made the window floaty. This includes some of the windows Davinci Resolve makes, for example.

MightyPlaza commented 6 days ago

iirc you have to

git reset --hard
git submodule update --init

but more info is on the dev channel on the discord server

in the mean time you can just center all the floating window with a window rule (and maybe add exceptions for xwayland popups)

alexlnkp commented 6 days ago

iirc you have to

git reset --hard
git submodule update --init

but more info is on the dev channel on the discord server

in the mean time you can just center all the floating window with a window rule (and maybe add exceptions for xwayland popups)

Okay, I figured it out (had to downgrade hyprwayland-scanner) On 0.40.0 the issue persists, however the cursor isn't able to escape the monitor by simply moving to the right edge of it.

Bisection led me to this commit:

ed411f53bdcf8d455f9e6ca769693aa84dc8372f is the first bad commit
commit ed411f53bdcf8d455f9e6ca769693aa84dc8372f (HEAD)
Author: Vaxry <vaxry@vaxry.net>
Date:   Sun May 5 22:18:10 2024 +0100

    cursor: move to a hyprland impl

    This moves wlr_cursor to a completely new impl mostly under
    CPointerManager

    Also adds beginSimple to OpenGL for simple render passes (e.g. cursor)

I.e. this is the first bad commit that introduces the issue of the cursor wandering off-screen after the monitor has been turned off and on during and active Hyprland session

alexlnkp commented 6 days ago

I hope that this issue is worth it, I broke my main Hyprland install on the system by having both at the same time (the one from the pkgmanager and the one manually installed via sudo make install) and simply running yay -S hyprland doesn't seem to fix the issue.

$ Hyprland 
bash: /usr/local/bin/Hyprland: No such file or directory
MightyPlaza commented 6 days ago

type which Hyprland and delete all the binaries then try using yay again

alexlnkp commented 6 days ago

type which Hyprland and delete all the binaries then try using yay again

It turned out to be some kind of issue with pacman and the filesystem itself Just played around with it until it worked again, so no worries there

alexlnkp commented 2 days ago

Tried out the patch at https://github.com/hyprwm/Hyprland/issues/6700#issuecomment-2211389552 It works great!