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
19.68k stars 832 forks source link

Xwayland not getting keyboard inputs #6955

Closed pbosab closed 1 month ago

pbosab commented 1 month ago

Regression?

No

System Info and Version

System/Version info ```sh Hyprland, built from branch main at commit 7f624d2236162db847c70ce1caa12851e77e60eb (xwayland: fixup WM_SIZE_HINTS handling according to ICCCM). Date: Sun Jul 21 17:41:26 2024 Tag: v0.41.2-54-g7f624d22, commits: 4940 flags: (if any) System Information: System name: Linux Node name: blackdot Release: 6.10.0-zen1-1-zen Version: #1 ZEN SMP PREEMPT_DYNAMIC Thu, 18 Jul 2024 20:26:11 +0000 GPU information: 02:00.0 VGA compatible controller [0300]: NVIDIA Corporation GP106 [GeForce GTX 1060 6GB] [10de:1c03] (rev a1) (prog-if 00 [VGA controller]) NVRM version: NVIDIA UNIX x86_64 Kernel Module 555.58.02 Tue Jun 25 01:39:15 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: ======Config-Start====== Config File: /home/pbo/.config/hypr/hyprland.conf: Read Succeeded # Hyprland # monitor=HDMI-A-1,2560x1080,0x0,1,bitdepth,10 monitor=HDMI-A-1,2560x1080,0x0,1 workspace=HDMI-A-1,1 # monitor=DVI-D-1,1920x1080,2560x0,1,bitdepth,10 monitor=HDMI-A-2,1920x1080,2560x0,1 workspace=HDMI-A-2,2 # Source a file (multi-file configs) source = ~/.config/hypr/hyprland-env.conf source = ~/.config/hypr/hyprland-rules.conf source = ~/.config/hypr/hyprland-exec.conf source = ~/.config/hypr/hyprland-binds.conf #source = ~/.config/hypr/plugins/Hyprspace.conf misc { animate_manual_resizes=1 animate_mouse_windowdragging=1 disable_hyprland_logo=true disable_splash_rendering=true } # Avoid blurry XWayland apps. xwayland { force_zero_scaling = true } input { kb_layout = it kb_variant = kb_model = kb_options = kb_rules = follow_mouse = 1 touchpad { natural_scroll = no } sensitivity = 0 } general { gaps_in = 3 gaps_out = 4 border_size = 1 col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg col.inactive_border = rgba(595959aa) layout = dwindle } decoration { rounding = 0 blur { enabled = true size = 3 passes = 2 vibrancy = 0.9 vibrancy_darkness = 0.10 noise = 0 contrast = 0.8 brightness = 1.5 } active_opacity = 1.0 inactive_opacity = 1.0 fullscreen_opacity = 1.0 drop_shadow = yes shadow_range = 10 shadow_render_power = 2 col.shadow = rgba(000000dd) } #animations { # enabled = yes bezier = myBezier, 0.05, 0.9, 0.1, 1.05 bezier = overshot, 0.7, 0.6, 0.1, 1.1 bezier = bounce, 1, 1.6, 0.1, 0.85 bezier = nice, 0, 6.9, 0.5, -4.20 bezier = md3_decel, 0.05, 0.7, 0.1, 1 animation = windows, 1, 7, default 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 { pseudotile = true preserve_split = true split_width_multiplier = 1.3 default_split_ratio = 1.0 } master { new_status = slave orientation = center always_center_master = true } gestures { workspace_swipe = false } exec-once = touch ~/.config/hypr/hyprland.conf Config File: /home/pbo/.config/hypr/hyprland-env.conf: Read Succeeded # https://wiki.hyprland.org/Configuring/Environment-variables/# Hyprland # env variables source # default programs env=TERMINAL,foot env=BROWSER,firefox env=EGL_PLATFORM,wayland env=XDG_SESSION_TYPE,wayland env=XDG_SESSION_DESKTOP,Hyprland env=XDG_CURRENT_DESKTOP,Hyprland env=QT_QPA,wayland env=QT_QPA_PLATFORM,wayland env=QT_QPA_PLATFORMTHEME,qt6ct env=QT_WAYLAND_DISABLE_WINDOWDECORATION,1 env=QT_AUTO_SCREEN_SCALE_FACTOR,1 # env=NO_AT_BRIDGE,1 moved to .zshrc env=GDK_BACKEND,wayland env=GDK_SCALE,1 env=CLUTTER_BACKEND,wayland env=SDL_VIDEODRIVER,wayland env=_JAVA_AWT_WM_NONEREPARENTING,1 # nvidia specific # disable like on hypr wiki #env=__EGL_VENDOR_LIBRARY_FILENAMES,/usr/share/glvnd/egl_vendor.d/10_nvidia.json # env=__EGL_VENDOR_LIBRARY_FILENAMES,/usr/share/glvnd/egl_vendor.d/50_mesa.json env=VK_ICD_FILENAMES,/usr/share/vulkan/icd.d/nvidia_icd.json env=VK_DRIVER_FILES,/usr/share/vulkan/icd.d/nvidia_icd.json env=GBM_BACKEND,nvidia-drm env=__GLX_VENDOR_LIBRARY_NAME,nvidia env=WLR_DRM_NO_ATOMIC,1 #env=WLR_NO_HARDWARE_CURSORS,1 env=DXVK_ASYNC,1 # nvidia vaapi vdpau env=LIBVA_DRIVER_NAME,nvidia env=LIBVA_DRIVE_PATH,/usr/lib/dri env=VDPAU_DRIVER,nvidia #env=NVD_BACKEND,egl env=NVD_BACKEND,direct # firefox settings env=MOZ_DISABLE_RDD_SANDBOX,1 env=MOZ_DRM_DEVICE,/dev/dri/card0 env=MOZ_ENABLE_WAYLAND,1 env=MOZ_CRASHREPORTER_DISABLE,1 env=MOZ_DBUS_REMOTE,1 Config File: /home/pbo/.config/hypr/hyprland-rules.conf: Read Succeeded # Hyprland # windows rules #multiple steam clients because "beta" windowrulev2 = float,class:^(steam)$ windowrulev2 = center(1),class:^(steam)$ #windowrulev2 = stayfocused,class:^(steam)$,title:^(?!Steam)$ windowrulev2 = minsize 1 1,class:^(steam)$ #windowrulev2 = float,class:^(steam)$ #windowrulev2 = center,class:^(steam)$ #windowrulev2 = stayfocused,class:^(steam)$,title:^(?!Steam)$ #windowrulev2 = minsize 1 1,class:^(steam)$ #windowrulev2 = pin,class:steam$,title:^(?!Steam)$ #windowrule = move cursor -50% -50%,class:steam$ #windowrulev2 = float,class:org.kde.kdeconnect* #windowrulev2 = float,class:blueman* #windowrulev2 = opacity 0.0 override 0.0 override,class:^(xwaylandvideobridge)$ #windowrulev2 = nofocus,class:^(xwaylandvideobridge)$ #windowrulev2 = noinitialfocus,class:^(xwaylandvideobridge)$ #windowrulev2 = workspace special:scratchpad,class:xwaylandvideobridge* windowrulev2 = float,class:^lutris* windowrulev2 = size 950 720,class:^lutris* windowrulev2 = center,class:^lutris* #windowrulev2 = move 0 0,class:^dmenu* #windowrulev2 = stayfocused,class:^dmenu* #Magic the Gathering windowrulev2 = float,class:mtga.exe Config File: /home/pbo/.config/hypr/hyprland-exec.conf: Read Succeeded # Hyprland exec-once = /home/pbo/.local/bin/hyprland-gtk-import exec-once = mako exec-once = hyprpaper exec-once = hyprland-autoname-workspaces exec-once = waybar exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 exec-once = wl-paste --type text --watch cliphist store exec-once = wl-paste --type image --watch cliphist store exec-once = hyprpm reload -n Config File: /home/pbo/.config/hypr/hyprland-binds.conf: Read Succeeded # Hyprland # see https://wiki.hyprland.org/Configuring/Keywords/ for more $mainMod = SUPER $hyprTERM = foot $hyprBROWSER = firefox $hyprMENU = tofi $hyprMENU_RUN = tofi-run $hyprMENU_DRUN = tofi-drun # Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more bind = $mainMod, Q, exec, $hyprTERM bind = $mainMod, C, killactive, #bind = $mainMod SHIFT, C, exec, rofi -show calc -modi calc -no-show-match -no-sort bind = $mainMod, M, exit, bind = $mainMod, E, exec, $hyprBROWSER bind = $mainMod, F, fullscreen bind = $mainMod SHIFT, F, fakefullscreen bind = $mainMod, V, togglefloating, bind = $mainMod SHIFT, V, exec, cliphist list | $hyprMENU -c /home/pbo/.config/tofi/config-vertical | cliphist decode | wl-copy #bind = $mainMod SHIFT, V, exec, cliphist list | /home/pbo/bin/dmenu-styled -l10 | cliphist decode | wl-copy #bind = $mainMod, R, exec, /home/pbo/bin/dmenu-styled -r bind = $mainMod, R, exec, $hyprMENU_RUN | xargs hyprctl dispatch exec -- bind = $mainMod SHIFT, R, exec, $hyprMENU_DRUN --drun-launch=true bind = $mainMod, P, pseudo, # dwindle bind = $mainMod, T, togglesplit, # dwindle bind = $mainMod SHIFT, T, exec, hyprland-switch-layout bind = $mainMod CTRL, P, exec, poweroff bind = $mainMod CTRL, R, exec, reboot #insert key for snips #bind = $mainMod, code:118, exec, wtype `cat /home/pbo/.snips | /home/pbo/bin/dmenu-styled -l10` bind = $mainMod, code:118, exec, wtype `cat /home/pbo/.snips | $hyprMENU -c /home/pbo/.config/tofi/config-vertical` #screenshots bind = $mainMod, Print, exec, notify-send "screenshoot screen" && notify-send `grimblast save screen | awk -F "/" {'print $6'}` bind = $mainMod SHIFT, Print, exec, notify-send "screenshot active" && grimblast save active bind = $mainMod CTRL, Print, exec, notify-send "screenshot area" && grimblast save area # Multimedia keys bind = , XF86AudioPlay, exec, playerctl play-pause bind = , XF86AudioStop, exec, playerctl stop bind = , XF86AudioPrev, exec, playerctl previous bind = , XF86AudioNext, exec, playerctl next # XF86HomePage # XF86Mail # XF86Start # XF86Search # XF86Standby bind = , XF86AudioRaiseVolume, exec, playerctl volume 0.05+ bind = , XF86AudioLowerVolume, exec, playerctl volume 0.05- bind = $mainMod , XF86AudioRaiseVolume, exec, playerctl position 5+ bind = $mainMod , XF86AudioLowerVolume, exec, playerctl position 5- #bind = , code:123, exec, mpc volume +5 #bind = , code:122, exec, mpc volume -5 #logitechG110 volume gear codes # 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 #SCRATCHPAD bind = $mainMod, s, exec, scratchpad bind = $mainMod CTRL, s, exec, scratchpad -t bind = $mainMod SHIFT, s, exec, scratchpad -m "$hyprMENU -c /home/pbo/.config/tofi/config-vertical" -g # Move active window to a workspace with mainMod + SHIFT + [0-9] bind = $mainMod SHIFT, 1, movetoworkspacesilent, 1 bind = $mainMod SHIFT, 2, movetoworkspacesilent, 2 bind = $mainMod SHIFT, 3, movetoworkspacesilent, 3 bind = $mainMod SHIFT, 4, movetoworkspacesilent, 4 bind = $mainMod SHIFT, 5, movetoworkspacesilent, 5 bind = $mainMod SHIFT, 6, movetoworkspacesilent, 6 bind = $mainMod SHIFT, 7, movetoworkspacesilent, 7 bind = $mainMod SHIFT, 8, movetoworkspacesilent, 8 bind = $mainMod SHIFT, 9, movetoworkspacesilent, 9 bind = $mainMod SHIFT, 0, movetoworkspacesilent, 10 # Move active window to a workspace and switch workspace with mainMod + CTRL + [0-9] bind = $mainMod CTRL, 1, movetoworkspace, 1 bind = $mainMod CTRL, 2, movetoworkspace, 2 bind = $mainMod CTRL, 3, movetoworkspace, 3 bind = $mainMod CTRL, 4, movetoworkspace, 4 bind = $mainMod CTRL, 5, movetoworkspace, 5 bind = $mainMod CTRL, 6, movetoworkspace, 6 bind = $mainMod CTRL, 7, movetoworkspace, 7 bind = $mainMod CTRL, 8, movetoworkspace, 8 bind = $mainMod CTRL, 9, movetoworkspace, 9 bind = $mainMod CTRL, 0, movetoworkspace, 10 # Move to used workspaces based on the current one + or - bind = $mainMod, KP_Add, workspace, e+1 bind = $mainMod, KP_Subtract, workspace, e-1 # Move window to monitor bind = $mainMod SHIFT, left, movewindow, mon:l bind = $mainMod SHIFT, right, movewindow, mon:r # Move current workspace to another monitor with arrows bind = $mainMod CTRL, left, movewindow, l bind = $mainMod CTRL, right, movewindow, r # Swap workspaces between monitors bind = $mainMod SHIFT, tab, swapactiveworkspaces, 0 1 # 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 #bind = SUPERCTRL, D, exec, hyprctl keyword general:layout "master" #submap fastedit bind = $mainMod, A, exec, notify-send -a Hyprland -u critical "EDIT MODE" "\n arrow key: change focus\nSHIFT+arrow key: move window\n CTRL+arrow key: resize focused window" bind = $mainMod, A, submap, fastedit submap = fastedit binde = CTRL, right, resizeactive, 10 0 binde = CTRL, left, resizeactive, -10 0 binde = CTRL, up, resizeactive, 0 -10 binde = CTRL, down, resizeactive, 0 10 binde = , left, movefocus, l binde = , right, movefocus, r binde = , up, movefocus, u binde = , down, movefocus, d binde = SHIFT, left, movewindow, l binde = SHIFT, right, movewindow, r binde = SHIFT, up, movewindow, u binde = SHIFT, down, movewindow, d # use reset to go back to the global submap bind = , escape, exec, makoctl dismiss bind = , escape, submap, reset submap = reset ======Config-End======== ```

Description

running games, Xwayland isn't receiving keyboard input, mouse works. tested with steam games and non steam games (b.net launcher too)

How to reproduce

.

Crash reports, logs, images, videos

No response

Agent00Ming commented 1 month ago

This is actually a regression. Cursor locking fails on xwayland clients too. Regressed by f7fb7e7e49e3b47f9b72c55fbf2d093e1a7981f5

vaxerski commented 1 month ago

literally fucking playing tag with X.

I fix one issue, another comes back

vaxerski commented 1 month ago

does undoing just the change at line 404 from that commit fix this?

Agent00Ming commented 1 month ago

does undoing just the change at line 404 from that commit fix this?

That doesn't fix it, no.

PaideiaDilemma commented 1 month ago

no, but undoing other change at line 882 fixes it

vaxerski commented 1 month ago

that will reintroduce what I fixed though

vaxerski commented 1 month ago

oh wait the condition is wrong...

vaxerski commented 1 month ago

patch.txt I am an idiot, try this

Agent00Ming commented 1 month ago

patch.txt I am an idiot, try this

that works

vaxerski commented 1 month ago

but breaks orca. Try this

patch.txt

Should work for both (I tested orca and works)

Agent00Ming commented 1 month ago

but breaks orca. Try this

patch.txt

Should work for both (I tested orca and works)

This also works

PaideiaDilemma commented 1 month ago

Can confirm, but isn't it the same as before? Because the if statement above already checks overrideRedirect?

vaxerski commented 1 month ago

you are correct, right, the second case can be dropped