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

Running hyprctl reload through keybindings makes keyboard workey wierdly #7337

Closed Gigas002 closed 4 weeks ago

Gigas002 commented 1 month ago

Regression?

Yes

System Info and Version

System/Version info ```sh Hyprland, built from branch at commit 9a09eac79b85c846e3a865a9078a3f8ff65a9259 (props: bump version to 0.42.0). Date: Wed Aug 7 19:17:10 2024 Tag: v0.42.0, commits: 5069 flags: (if any) System Information: System name: Linux Node name: gigas-acer Release: 6.10.4-x64v3-xanmod2 Version: #0~20240813.g0338286 SMP PREEMPT_DYNAMIC Tue Aug 13 01:23:07 UTC GPU information: 01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GA106M [GeForce RTX 3060 Mobile / Max-Q] [10de:2520] (rev a1) (prog-if 00 [VGA controller]) 06:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Cezanne [Radeon Vega Series / Radeon Vega Mobile Series] [1002:1638] (rev c6) (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="Manjaro Linux" PRETTY_NAME="Manjaro Linux" ID=manjaro ID_LIKE=arch BUILD_ID=rolling ANSI_COLOR="32;1;24;144;200" HOME_URL="https://manjaro.org/" DOCUMENTATION_URL="https://wiki.manjaro.org/" SUPPORT_URL="https://forum.manjaro.org/" BUG_REPORT_URL="https://docs.manjaro.org/reporting-bugs/" PRIVACY_POLICY_URL="https://manjaro.org/privacy-policy/" LOGO=manjarolinux plugins: ======Config-Start====== Config File: /home/gigas/.config/hypr/hyprland.conf: Read Succeeded monitor = ,1920x1080@144,auto,1 exec-once = reset_xdg_portal.sh # Reset XDPH for screenshare exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP # For XDPH exec-once = dbus-update-activation-environment --systemd --all # For XDPH exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP # For XDPH exec-once = /usr/lib/polkit-kde-authentication-agent-1 & # Authentication dialogue for GUI apps exec-once = waybar # Launch the system bar # exec-once = blueman-applet # Systray app for Bluetooth exec-once = nm-applet --indicator # Systray app for Network/Wifi exec-once = dunst # Start notification demon exec-once = wl-paste --type text --watch cliphist store # Clipboard store text data exec-once = wl-paste --type image --watch cliphist store # Clipboard store image data # exec-once = hyprpaper & exec-once = wallpaper.sh & exec-once = hypridle & source = ~/.config/hypr/env.conf input { kb_layout = us,ru kb_options = grp:alt_shift_toggle follow_mouse = 1 touchpad { natural_scroll = no } sensitivity = 0 force_no_accel = 1 numlock_by_default = true } device { name = epic mouse V1 sensitivity = -0.5 } gestures { workspace_swipe = off } dwindle { pseudotile = yes preserve_split = yes } master { new_status = "master" } misc { vrr = 0 } source = ~/.config/hypr/animations.conf source = ~/.config/hypr/keybindings.conf source = ~/.config/hypr/windowrules.conf source = ~/.config/hypr/font.conf # Shared theme settings source = ~/.config/hypr/themes/Sweet.conf # Theme specific settings # Note: as userprefs.conf is sourced at the end, settings configured in this file will override the defaults source = ~/.config/hypr/nvidia.conf # auto sourced vars for nvidia Config File: /home/gigas/.config/hypr/env.conf: Read Succeeded env = XDG_CURRENT_DESKTOP,Hyprland #env = WLR_RENDERER,vulkan env = XDG_SESSION_TYPE,wayland env = XDG_SESSION_DESKTOP,Hyprland env = QT_QPA_PLATFORM,wayland;xcb #env = QT_STYLE_OVERRIDE,kvantum env = QT_QPA_PLATFORMTHEME,qt6ct env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1 env = QT_AUTO_SCREEN_SCALE_FACTOR,1 env = MOZ_ENABLE_WAYLAND,1 env = GDK_SCALE,1 env = GDK_BACKEND,wayland env = GTK_USE_PORTAL,1 env = SDL_VIDEODRIVER,wayland,x11 env = ELECTRON_OZONE_PLATFORM_HINT,wayland env = ZDOTDIR,$HOME/.config/zsh env = TERMINAL,alacritty Config File: /home/gigas/.config/hypr/animations.conf: Read Succeeded animations { enabled = yes bezier = wind, 0.05, 0.9, 0.1, 1.05 bezier = winIn, 0.1, 1.1, 0.1, 1.1 bezier = winOut, 0.3, -0.3, 0, 1 bezier = liner, 1, 1, 1, 1 animation = windows, 1, 6, wind, slide animation = windowsIn, 1, 6, winIn, slide animation = windowsOut, 1, 5, winOut, slide animation = windowsMove, 1, 5, wind, slide animation = border, 1, 1, liner animation = borderangle, 1, 30, liner, loop animation = fade, 1, 10, default animation = workspaces, 1, 5, wind } Config File: /home/gigas/.config/hypr/keybindings.conf: Read Succeeded # Main modifier $mainMod = Super # Super / Meta / Windows key # Assign apps $term = alacritty $editor = codium --ozone-platform-hint=wayland $file = dolphin $browser = firefox # Window/Session actions bind = $mainMod, Q, exec, hyprctl dispatch killactive "" # killactive, kill the window on focus bind = $mainMod, Delete, exit, # kill hyperland session bind = $mainMod, W, togglefloating, # toggle the window on focus to float bind = $mainMod, G, togglegroup, # toggle the window on focus to group (tab mode) bind = Alt, Return, fullscreen, # toggle the window on focus to fullscreen bind = $mainMod, L, exec, hyprlock # lock screen bind = $mainMod, Backspace, exec, wleave -b 2 -c 0 -r 0 -p layer-shell # logout menu bind = Ctrl, Escape, exec, killall waybar || waybar # toggle waybar # Screenshots bind = , print, exec, watershot -c directory $HOME/images/screenshots # Remove window boundaries bind = $mainMod, H, exec, borderless.sh bind = $mainMod ALT, H, exec, hyprctl reload # Make all windows on current workspace floating bind = $mainMod SHIFT, C, workspaceopt, allfloat # Run wallpaper daemon bind = $mainMod SHIFT, P, exec, wallpaper.sh # Application shortcuts bind = $mainMod, T, exec, $term # open terminal bind = $mainMod, E, exec, $file # open file manager bind = $mainMod, C, exec, $editor # open vscode bind = $mainMod, F, exec, $browser # open browser bind = Ctrl+Shift, Escape, exec, $term -e "htop" # open htop/btop if installed or default to top (system monitor) # Rofi is toggled on/off if you repeat the key presses # bind = $mainMod, R, exec, pkill -x rofi || rofi -show drun # launch desktop applications bind = $mainMod, R, exec, tofi-drun # launch desktop applications # bind = $mainMod, Tab, exec, pkill -x rofi || rofi -show window # switch between desktop applications # 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 bind = Alt, Tab, 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 # Resize windows binde = $mainMod+Shift, Right, resizeactive, 30 0 binde = $mainMod+Shift, Left, resizeactive, -30 0 binde = $mainMod+Shift, Up, resizeactive, 0 -30 binde = $mainMod+Shift, Down, resizeactive, 0 30 # 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 active window around current workspace with mainMod + SHIFT + CTRL [←→↑↓] bind = $mainMod+Shift+Ctrl, Left, movewindow, l bind = $mainMod+Shift+Ctrl, Right, movewindow, r bind = $mainMod+Shift+Ctrl, Up, movewindow, u bind = $mainMod+Shift+Ctrl, Down, movewindow, d # 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 bindm = $mainMod, Z, movewindow bindm = $mainMod, X, resizewindow # Special workspaces (scratchpad) bind = $mainMod+Alt, S, movetoworkspacesilent, special bind = $mainMod, S, togglespecialworkspace, # Toggle Layout bind = $mainMod, J, togglesplit, # dwindle # Move window silently to workspace Super + Alt + [0-9] bind = $mainMod ALT, 1, movetoworkspacesilent, 1 bind = $mainMod ALT, 2, movetoworkspacesilent, 2 bind = $mainMod ALT, 3, movetoworkspacesilent, 3 bind = $mainMod ALT, 4, movetoworkspacesilent, 4 bind = $mainMod ALT, 5, movetoworkspacesilent, 5 bind = $mainMod ALT, 6, movetoworkspacesilent, 6 bind = $mainMod ALT, 7, movetoworkspacesilent, 7 bind = $mainMod ALT, 8, movetoworkspacesilent, 8 bind = $mainMod ALT, 9, movetoworkspacesilent, 9 bind = $mainMod ALT, 0, movetoworkspacesilent, 10 Config File: /home/gigas/.config/hypr/windowrules.conf: Read Succeeded windowrulev2 = opacity 0.90 0.90,class:^(firefox)$ windowrulev2 = opacity 0.90 0.90,class:^(Brave-browser)$ windowrulev2 = opacity 0.80 0.80,class:^(Steam)$ windowrulev2 = opacity 0.80 0.80,class:^(steam)$ windowrulev2 = opacity 0.80 0.80,class:^(steamwebhelper)$ windowrulev2 = opacity 0.80 0.80,class:^(code-oss)$ windowrulev2 = opacity 0.80 0.80,class:^(Code)$ windowrulev2 = opacity 0.80 0.80,class:^(vscodium)$ windowrulev2 = opacity 0.80 0.80,class:^(codium)$ windowrulev2 = opacity 0.80 0.80,class:^(code-url-handler)$ windowrulev2 = opacity 0.80 0.80,class:^(codium-url-handler)$ windowrulev2 = opacity 0.80 0.80,class:^(code-insiders-url-handler)$ windowrulev2 = opacity 0.80 0.80,class:^(kitty)$ windowrulev2 = opacity 0.80 0.80,class:^(org.kde.dolphin)$ windowrulev2 = opacity 0.80 0.80,class:^(org.freedesktop.impl.portal.desktop.gtk)$ windowrulev2 = opacity 0.80 0.80,class:^(org.freedesktop.impl.portal.desktop.kde)$ windowrulev2 = opacity 0.80 0.80,class:^(org.freedesktop.impl.portal.desktop.hyprland)$ windowrulev2 = opacity 0.80 0.80,class:^(org.kde.ark)$ windowrulev2 = opacity 0.80 0.80,class:^(nwg-look)$ windowrulev2 = opacity 0.80 0.80,class:^(qt5ct)$ windowrulev2 = opacity 0.80 0.80,class:^(qt6ct)$ windowrulev2 = opacity 0.80 0.80,class:^(kvantummanager)$ windowrulev2 = opacity 0.90 0.90,class:^(org.telegram.desktop)$ windowrulev2 = opacity 0.80 0.80,class:^(com.obsproject.Studio)$ # Obs-Qt windowrulev2 = opacity 0.80 0.80,class:^(gnome-boxes)$ # Boxes-Gtk windowrulev2 = opacity 0.80 0.80,class:^(discord)$ # Discord-Electron windowrulev2 = opacity 0.80 0.80,class:^(yad)$ # Protontricks-Gtk windowrulev2 = opacity 0.80 0.80,class:^(Signal)$ # Signal-Gtk windowrulev2 = opacity 0.80 0.70,class:^(pavucontrol)$ windowrulev2 = opacity 0.80 0.70,class:^(blueman-manager)$ windowrulev2 = opacity 0.80 0.70,class:^(nm-applet)$ windowrulev2 = opacity 0.80 0.70,class:^(nm-connection-editor)$ windowrulev2 = opacity 0.80 0.70,class:^(org.kde.polkit-kde-authentication-agent-1)$ windowrulev2 = float,class:^(org.kde.dolphin)$,title:^(Progress Dialog — Dolphin)$ windowrulev2 = float,class:^(org.kde.dolphin)$,title:^(Copying — Dolphin)$ windowrulev2 = float,title:^(Picture-in-Picture)$ windowrulev2 = float,class:^(firefox)$,title:^(Library)$ windowrulev2 = float,class:^(vlc)$ windowrulev2 = float,class:^(kvantummanager)$ windowrulev2 = float,class:^(qt5ct)$ windowrulev2 = float,class:^(qt6ct)$ windowrulev2 = float,class:^(nwg-look)$ windowrulev2 = float,class:^(org.kde.ark)$ windowrulev2 = float,class:^(Signal)$ # Signal-Gtk windowrulev2 = float,class:^(net.davidotek.pupgui2)$ # ProtonUp-Qt windowrulev2 = float,class:^(yad)$ # Protontricks-Gtk windowrulev2 = float,class:^(pavucontrol)$ windowrulev2 = float,class:^(blueman-manager)$ windowrulev2 = float,class:^(nm-applet)$ windowrulev2 = float,class:^(nm-connection-editor)$ windowrulev2 = float,class:^(org.kde.polkit-kde-authentication-agent-1)$ layerrule = blur,rofi layerrule = ignorezero,rofi layerrule = blur,notifications layerrule = ignorezero,notifications layerrule = blur,swaync-notification-window layerrule = ignorezero,swaync-notification-window layerrule = blur,swaync-control-center layerrule = ignorezero,swaync-control-center layerrule = blur,logout_dialog Config File: /home/gigas/.config/hypr/font.conf: Read Succeeded exec = gsettings set org.gnome.desktop.interface font-name 'Cantarell 10' exec = gsettings set org.gnome.desktop.interface document-font-name 'Cantarell 10' exec = gsettings set org.gnome.desktop.interface monospace-font-name 'JetBrainsMono Nerd Font Mono 9' exec = gsettings set org.gnome.desktop.interface font-antialiasing 'rgba' exec = gsettings set org.gnome.desktop.interface font-hinting 'full' Config File: /home/gigas/.config/hypr/themes/Sweet.conf: Read Succeeded exec = gsettings set org.gnome.desktop.interface icon-theme 'Sweet-Rainbow' exec = gsettings set org.gnome.desktop.interface gtk-theme 'Sweet' exec = gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark' exec = gsettings set org.gnome.desktop.wm.preferences theme 'Sweet' # GTK cursors # minor hack for GTK4, see: https://wiki.archlinux.org/title/GTK exec = gsettings set org.gnome.desktop.interface cursor-theme 'Sweet-cursors' exec = gsettings set org.gnome.desktop.interface cursor-size 20 # exec = hyprctl setcursor Sweet-cursors 20 env = GTK_THEME,Sweet:dark env = XCURSOR_THEME,Sweet-cursors env = XCURSOR_SIZE,20 # hyprcursors exec = hyprctl setcursor Sweet-cursors-hyprcursor 30 env = HYPRCURSOR_THEME,Sweet-cursors-hyprcursor env = HYPRCURSOR_SIZE, 30 general { gaps_in = 3 gaps_out = 8 border_size = 2 col.active_border = rgba(c74dedff) rgba(ed254eff) 45deg col.inactive_border = rgba(00c1e4cc) rgba(7cb7ffcc) 45deg layout = dwindle resize_on_border = true allow_tearing = true } group { col.border_active = rgba(c74dedff) rgba(ed254eff) 45deg col.border_inactive = rgba(00c1e4cc) rgba(7cb7ffcc) 45deg col.border_locked_active = rgba(c74dedff) rgba(ed254eff) 45deg col.border_locked_inactive = rgba(00c1e4cc) rgba(7cb7ffcc) 45deg } decoration { rounding = 10 drop_shadow = false dim_inactive = true dim_strength = 0.4 dim_special = 0.3 blur { special = true enabled = yes size = 6 passes = 3 new_optimizations = on ignore_opacity = on xray = false } } Config File: /home/gigas/.config/hypr/nvidia.conf: Read Succeeded #env = GBM_BACKEND,nvidia-drm env = LIBVA_DRIVER_NAME,nvidia env = __GLX_VENDOR_LIBRARY_NAME,nvidia env = __GL_VRR_ALLOWED,1 env = WLR_NO_HARDWARE_CURSORS,1 env = WLR_DRM_NO_ATOMIC,1 ======Config-End======== ```

Description

I have a keybind to remove window borders on a current workspace, after which I usually reload the compositor in order to make borders appear again. For this, I have the following bind:

bind = $mainMod ALT, H, exec, hyprctl reload

After 0.42.0 update, the keyboard and mouse after reloading hyprland this way starts working weird: some keys doesn't work (like, ctrl+c, ctrl+v; changing workspaces with super+1. etc), some works (writing characters in a textboxes). Some keys works... weird (like, arrow buttons start printing some characters, backspace does some weird shit too).

However, running hyprctl reload from terminal, or entering tty2 and returning to tty1 (me guess it reloads the hyprland usual way?) works fine.

How to reproduce

Add binding:

bind = Super ALT, H, exec, hyprctl reload

Press Super+ALT+H and wait until hyprland reloads

Press some buttons like arrow keys, space, etc and see what happens

Crash reports, logs, images, videos

No response

Eugenenoble2005 commented 4 weeks ago

Same here. Bit odd cause it was working fine earlier even in 0.42

Edit. Seem to have gotten it working when I bind Super+R as opposed to Super+Shift+R

vaxerski commented 4 weeks ago

7069