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.62k stars 827 forks source link

Focused window does not receive keyboard input even if i start clicking on it. #6929

Closed BluewyDiamond closed 1 month ago

BluewyDiamond commented 1 month ago

Regression?

No

System Info and Version

System/Version info ```sh Hyprland, built from branch main at commit 8e15f91c2417c8f05d69a93f1294185ccc5f8f3e (input: Emulate discrete scrolling from v120 events (6881)). Date: Thu Jul 18 21:57:08 2024 Tag: v0.41.2-45-g8e15f91c, commits: 4931 flags: (if any) System Information: System name: Linux Node name: CachyOS Release: 6.10.0-2-cachyos-lto Version: #1 SMP PREEMPT_DYNAMIC Mon, 15 Jul 2024 21:35:34 +0000 GPU information: 2f:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 10 [Radeon RX 5600 OEM/5600 XT / 5700/5700 XT] [1002:731f] (rev c1) (prog-if 00 [VGA controller]) os-release: NAME="CachyOS Linux" PRETTY_NAME="CachyOS" ID=cachyos ID_LIKE=arch BUILD_ID=rolling ANSI_COLOR="38;2;23;147;209" HOME_URL="https://cachyos.org/" DOCUMENTATION_URL="https://wiki.cachyos.org/" SUPPORT_URL="https://forum.cachyos.org/" BUG_REPORT_URL="https://github.com/cachyos" PRIVACY_POLICY_URL="https://terms.archlinux.org/docs/privacy-policy/" LOGO=cachyos plugins: ======Config-Start====== Config File: /home/bluewy/.config/hypr/hyprland.conf: Read Succeeded # ----------------------------------------------------- # Monitors # ----------------------------------------------------- source = $HOME/.config/hypr/sections/monitors.conf # ----------------------------------------------------- # Inputs # ----------------------------------------------------- source = $HOME/.config/hypr/sections/inputs.conf # ----------------------------------------------------- # Keybinds # ----------------------------------------------------- source = $HOME/.config/hypr/sections/keybinds.conf # ----------------------------------------------------- # Environment Variables # ----------------------------------------------------- source = $HOME/.config/hypr/sections/env.conf # ----------------------------------------------------- # Window Rules # ----------------------------------------------------- source = $HOME/.config/hypr/sections/window_rules.conf # ----------------------------------------------------- # Behaviour Rules # ----------------------------------------------------- source = $HOME/.config/hypr/sections/behaviours.conf # ----------------------------------------------------- # Tiling Rules # ----------------------------------------------------- source = $HOME/.config/hypr/sections/tiling.conf # ----------------------------------------------------- # Aesthetics # ----------------------------------------------------- source = $HOME/.config/hypr/sections/aesthetics.conf # ----------------------------------------------------- # Autostart # ----------------------------------------------------- source = $HOME/.config/hypr/sections/autostart.conf Config File: /home/bluewy/.config/hypr/sections/monitors.conf: Read Succeeded monitor = DP-2, 1920x1080@239.964, 0x0, 1 misc { vfr = on vrr = 2 } general { allow_tearing = true } Config File: /home/bluewy/.config/hypr/sections/inputs.conf: Read Succeeded # ----------------------------------------------------- # Keyboard # ----------------------------------------------------- input { kb_layout = bluewy kb_options = grp:win_space_toggle } # ----------------------------------------------------- # Mouse # ----------------------------------------------------- device { name = steelseries-steelseries-rival-3 sensitivity = -0.5 accel_profile = flat } Config File: /home/bluewy/.config/hypr/sections/keybinds.conf: Read Succeeded # ----------------------------------------------------- # Main Keybinds # ----------------------------------------------------- bind = SUPER, 1, focusworkspaceoncurrentmonitor, 1 bind = SUPER, 2, focusworkspaceoncurrentmonitor, 2 bind = SUPER, 3, focusworkspaceoncurrentmonitor, 3 bind = SUPER, 4, focusworkspaceoncurrentmonitor, 4 bind = SUPER, 8, focusworkspaceoncurrentmonitor, 8 bind = SUPER, 9, focusworkspaceoncurrentmonitor, 9 bind = SUPER, 0, focusworkspaceoncurrentmonitor, 10 bind = SUPER + SHIFT, 1, movetoworkspace, 1 bind = SUPER + SHIFT, 2, movetoworkspace, 2 bind = SUPER + SHIFT, 3, movetoworkspace, 3 bind = SUPER + SHIFT, 4, movetoworkspace, 4 bind = SUPER + SHIFT, 8, movetoworkspace, 8 bind = SUPER + SHIFT, 9, movetoworkspace, 9 bind = SUPER + SHIFT, 0, movetoworkspace, 10 bind = SUPER, Left, movefocus, l bind = SUPER, Right, movefocus, r bind = SUPER, Up, movefocus, u bind = SUPER, Down, movefocus, d bind = SUPER, N, movefocus, l bind = SUPER, I, movefocus, r bind = SUPER, U, movefocus, u bind = SUPER, E, movefocus, d bind = SUPER + SHIFT, Left, movewindoworgroup, l bind = SUPER + SHIFT, Right, movewindoworgroup, r bind = SUPER + SHIFT, Up, movewindoworgroup, u bind = SUPER + SHIFT, Down, movewindoworgroup, d bind = SUPER + SHIFT, N, movewindoworgroup, l bind = SUPER + SHIFT, I, movewindoworgroup, r bind = SUPER + SHIFT, U, movewindoworgroup, u bind = SUPER + SHIFT, E, movewindoworgroup, d bind = SUPER, B, togglefloating, bind = SUPER, S, togglesplit, bind = SUPER, G, togglegroup bind = SUPER, K, lockgroups, toggle bind = SUPER, period, changegroupactive bind = SUPER, H, changegroupactive, b bind = SUPER, M, fullscreen, 1 bind = SUPER, Q, fakefullscreen bind = SUPER, F, fullscreen bindm = SUPER, mouse:272, movewindow bindm = SUPER, mouse:273, resizewindow bind = SUPER + SHIFT, Escape, exit bind = SUPER, X, killactive # ----------------------------------------------------- # Other Keybinds # ----------------------------------------------------- bind = SUPER, L, exec, wezterm bind = SUPER, Y, exec, ags -t launcher bind = SUPER, P, exec, ags -r 'recorder.screenshot(true)' bind = SUPER + SHIFT, P, exec, ags -r 'recorder.screenshot()' bind = SUPER, TAB, exec, ags -t overview bind = ALT, TAB, exec, ags -t overview bind = SUPER, V, exec, cliphist list | fuzzel --dmenu | cliphist decode | wl-copy bind = SUPER, O, exec, $HOME/.config/fuzzel/scripts/hyprland/show_quick_options.fish # ----------------------------------------------------- # Laptop Specific # ----------------------------------------------------- # screen brightness bind = , XF86MonBrightnessUp, exec, brightnessctl s +5% bind = , XF86MonBrightnessDown, exec, brightnessctl s 5%- # keyboard brightness bind = , xf86KbdBrightnessUp, exec, brightnessctl -d *::kbd_backlight set +33% bind = , xf86KbdBrightnessDown, exec, brightnessctl -d *::kbd_backlight set 33%- # volume and media control bind = , XF86AudioRaiseVolume, exec, pamixer -i 5 bind = , XF86AudioLowerVolume, exec, pamixer -d 5 bind = , XF86AudioMicMute, exec, pamixer --default-source -m bind = , XF86AudioMute, exec, pamixer -t bind = , XF86AudioPlay, exec, playerctl play-pause bind = , XF86AudioPause, exec, playerctl play-pause bind = , XF86AudioNext, exec, playerctl next bind = , XF86AudioPrev, exec, playerctl previous Config File: /home/bluewy/.config/hypr/sections/env.conf: Read Succeeded env = XDG_CURRENT_DESKTOP, Hyprland env = XDG_SESSION_DESKTOP, Hyprland env = XDG_SESSION_TYPE, wayland env = XDG_CONFIG_HOME, $HOME/.config env = XDG_DATA_HOME, $HOME/.local/share env = XDG_STATE_HOME, $HOME/.local/state env = XDG_CACHE_HOME, $HOME/.cache env = PATH, $PATH:$HOME/.local/bin:$HOME/.cargo/bin # wayland stuff env = SDL_VIDEODRIVER, wayland env = CLUTTER_BACKEND, wayland env = GDK_BACKEND, wayland,x11 env = QT_QPA_PLATFORM, wayland;xcb # more wayland stuff but from other sources env = WAYLAND, 1 env = MOZ_DBUS_REMOTE, 1 env = MOZ_ENABLE_WAYLAND, 1 env = _JAVA_AWT_WM_NONREPARENTING, 1 env = BEMENU_BACKEND, wayland env = ECORE_EVAS_ENGINE, wayland_egl env = ELM_ENGINE, wayland_egl # enable tearing support for hyprland env = WLR_DRM_NO_ATOMIC, 1 env = EDITOR, nvim # Manage sensitive information with kwallet. env = GIT_ASKPASS, /usr/bin/ksshaskpass env = SSH_ASKPASS, /usr/bin/ksshaskpass env = SSH_ASKPASS_REQUIRE, prefer # GTK stuff env = GTK_THEME, Sweet-Dark # QT stuff env = QT_QPA_PLATFORMTHEME, qt6ct env = QT_WAYLAND_DISABLE_WINDOWDECORATION, 1 # pointer env = XCURSOR_THEME, Bibata-Modern-Classic Config File: /home/bluewy/.config/hypr/sections/window_rules.conf: Read Succeeded layerrule = blur, launcher layerrule = blur, waybar layerrule = blur, gtk-layer-shell layerrule = blur, nwg-dock windowrulev2 = idleinhibit fullscreen, class:^(.*)$ # Improve responsiveness for all applications with exceptions. # example of how the regular expression might look like -> class:^(?!LibreWolf$|Firefox$).*$ windowrulev2 = immediate, class:^(?!LibreWolf$).*$ # Disable potentially annoying requests with exceptions. windowrulev2 = suppressevent fullscreen, class:^(?!LibreWolf$).*$ windowrulev2 = suppressevent maximize, class:^(.*)$ windowrulev2 = suppressevent activate, class:^(.*)$ windowrulev2 = suppressevent activatefocus, class:^(.*)$ # Make jetbrains applications less buggy. windowrulev2 = noinitialfocus, class:^(jetbrains-.*)$, title:^(win.*)$ # Did this get nuked? # windowrulev2 = windowdance, class:^(jetbrains-.*)$ # Attempt to make steam less buggy # windowrulev2 = noinitialfocus, class:^(steam)$ # windowrulev2 = windowdance, class:^(steam)$ layerrule = animation slide right, swaync-control-center layerrule = animation slide top, waybar layerrule = animation slide bottom, nwg-dock Config File: /home/bluewy/.config/hypr/sections/behaviours.conf: Read Succeeded input { follow_mouse = 2 mouse_refocus = false float_switch_override_focus = 0 } gestures { workspace_swipe = true workspace_swipe_fingers = 3 } misc { key_press_enables_dpms = true new_window_takes_over_fullscreen = 2 disable_hyprland_logo = true } xwayland { force_zero_scaling = true } Config File: /home/bluewy/.config/hypr/sections/tiling.conf: Read Succeeded general { layout = dwindle } dwindle { pseudotile = yes preserve_split = yes } Config File: /home/bluewy/.config/hypr/sections/aesthetics.conf: Read Succeeded # ----------------------------------------------------- # Visuals # ----------------------------------------------------- general { gaps_in = 4 gaps_out = 8 border_size = 3 col.active_border = rgba(E06C75ff) # red col.inactive_border = 0xff5c6370 # grey } group { col.border_active = rgba(98C379CC) # green col.border_inactive = rgba(c678ddff) # grey col.border_locked_active = rgba(E06C75ff) # red col.border_locked_inactive = rgba(c678ddff) # grey groupbar { enabled = false gradients = false text_color = 0xffabb2bf font_size = 10 col.active = rgba(98C379CC) # green col.inactive = rgba(d19a66ff) # orange col.locked_active = rgba(e06c75ff) # red col.locked_inactive = rgba(d19a66ff) # orange render_titles = false } } decoration { blur { size = 7 passes = 2 } rounding = 4 drop_shadow = false } # ----------------------------------------------------- # Animations # ----------------------------------------------------- animations { enabled = yes bezier = easeOutQuart, 0.165, 0.84, 0.44, 1 animation = workspaces, 1, 7, easeOutQuart, slide animation = fade, 0 animation = windows, 1, 7, easeOutQuart, popin 0% animation = layers, 1, 7, easeOutQuart, popin 0% } Config File: /home/bluewy/.config/hypr/sections/autostart.conf: Read Succeeded # Make systemd aware of the specified environment variables. exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP exec-once = systemctl --user import-environment XDG_SESSION_TYPE XDG_CURRENT_DESKTOP exec-once = systemctl --user import-environment QT_QPA_PLATFORMTHEME # Use preferred privilage elevation tool. exec-once = /usr/lib/polkit-kde-authentication-agent-1 # Use portals for additional features. (though its started automatically) exec-once = systemctl start --user xdg-desktop-portal-hyprland exec-once = systemctl start --user xdg-desktop-portal-gtk # Get widgets such as status bar, notifications popups, launcher... exec-once = sleep 1 && ags -c $HOME/.config/ags-ayulr/config.js # Listen for user absence. # exec-once = hypridle # Record notifications history. exec-once = bash $HOME/.config/hypr/scripts/hyprland/log_notifications.sh $XDG_DATA_HOME/notify.log # Set background wallpaper. # exec-once = hyprpaper # Enable clipboard capabilities. exec-once = wl-paste --type text --watch cliphist store # stores only text data exec-once = wl-paste --type image --watch cliphist store # stores only image data # Start sensitive information manager. exec-once = /usr/lib/pam_kwallet_init # Prevent idle during sound playback. exec-once = wayland-pipewire-idle-inhibit ======Config-End======== ```

Description

https://github.com/user-attachments/assets/15b4a7b0-b8b7-4170-aa67-ddbc55b5390d

In the recording, I first show that when leaving the mouse cursor outside the layer and closing the layer through a keybind it will automatically activate the window and the window has keyboard focus. After, I show that when leaving the mouse on the layer or bar it will not activate the window nor the window will reobtain keyboard focus so I try clicking the window (in the video its when I'm moving the mouse in a circle) which still does not grab keyboard focus. The only ways to reobtain keyboard focus from what I have seen are changing to another workspace and back will activate the window or open another window and switch focus back to the window.

How to reproduce

  1. Have a layer opened and then open another one.
  2. Close the last opened layer but leave the mouse on the other layer.
  3. Click on a window.
  4. Window does not have keyboard focus.

Crash reports, logs, images, videos

No response

BluewyDiamond commented 1 month ago

It did not solve the problem for me. Clicking the window (in the video its when i make my cursor go in circles) does not bring back keyboard focus for me.

https://github.com/user-attachments/assets/f944c2f5-11ba-42e4-9965-0722f03ebec9

MightyPlaza commented 1 month ago

It did not solve the problem for me. Clicking the window (in the video its when i make my cursor go in circles) does not bring back keyboard focus for me. recording3.mp4

what about the patch in https://github.com/hyprwm/Hyprland/issues/4460 ?

BluewyDiamond commented 1 month ago

it fixes the problem