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

Plugging in charger, Hyprland executes all the xbindkeys (xf86 keys) #6548

Closed JaKooLit closed 2 months ago

JaKooLit commented 2 months ago

Bug or Regression?

Bug

System Info and Version

System/Version info ```sh hyprctl systeminfo -c Hyprland, built from branch at commit 9e781040d9067c2711ec2e9f5b47b76ef70762b3 (props: bump version to 0.41.1). Date: Thu Jun 13 09:54:06 2024 Tag: v0.41.1, commits: 4818 flags: (if any) System Information: System name: Linux Node name: Arch-G15 Release: 6.9.4-zen1-1-zen Version: #1 ZEN SMP PREEMPT_DYNAMIC Wed, 12 Jun 2024 20:16:55 +0000 GPU information: 01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GA104M [GeForce RTX 3080 Mobile / Max-Q 8GB/16GB] [10de:249c] (rev a1) (prog-if 00 [VGA controller]) 07:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Cezanne [Radeon Vega Series / Radeon Vega Mobile Series] [1002:1638] (rev c4) (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/ja/.config/hypr/hyprland.conf: Read Succeeded # Sourcing external config files # Default Configs $configs = $HOME/.config/hypr/configs source=$configs/Settings.conf source=$configs/Keybinds.conf # User Configs $UserConfigs = $HOME/.config/hypr/UserConfigs source= $UserConfigs/Startup_Apps.conf source= $UserConfigs/ENVariables.conf source= $UserConfigs/Monitors.conf source= $UserConfigs/Laptops.conf source= $UserConfigs/LaptopDisplay.conf source= $UserConfigs/WindowRules.conf source= $UserConfigs/UserKeybinds.conf source= $UserConfigs/UserSettings.conf source= $UserConfigs/WorkspaceRules.conf Config File: /home/ja/.config/hypr/configs/Settings.conf: Read Succeeded # /* ---- πŸ’« https://github.com/JaKooLit πŸ’« ---- */ # # Default Settings. avoid changing this file as during update, this will be replaced # refer to Hyprland wiki for more info https://wiki.hyprland.org/Configuring/Variables # Initial boot script enable to apply initial wallpapers, theming, new settings etc. exec-once = $HOME/.config/hypr/initial-boot.sh Config File: /home/ja/.config/hypr/configs/Keybinds.conf: Read Succeeded # /* ---- πŸ’« https://github.com/JaKooLit πŸ’« ---- */ # # Default Keybinds # visit https://wiki.hyprland.org/Configuring/Binds/ for more info $mainMod = SUPER # Default $scriptsDir = $HOME/.config/hypr/scripts $configs = $HOME/.config/hypr/configs # User $UserConfigs = $HOME/.config/hypr/UserConfigs $UserScripts = $HOME/.config/hypr/UserScripts bind = CTRL ALT, Delete, exec, hyprctl dispatch exit 0 bind = $mainMod, Q, killactive, bind = $mainMod, F, fullscreen bind = $mainMod SHIFT, Q, exec, $scriptsDir/KillActiveProcess.sh bind = $mainMod SHIFT, F, togglefloating, bind = $mainMod ALT, F, exec, hyprctl dispatch workspaceopt allfloat bind = CTRL ALT, L, exec, $scriptsDir/LockScreen.sh bind = CTRL ALT, P, exec, $scriptsDir/Wlogout.sh # FEATURES / EXTRAS bind = $mainMod, H, exec, $scriptsDir/KeyHints.sh # Small help file bind = $mainMod ALT, R, exec, $scriptsDir/Refresh.sh # Refresh waybar, swaync, rofi bind = $mainMod ALT, E, exec, $scriptsDir/RofiEmoji.sh # emoji bind = $mainMod, S, exec, $scriptsDir/RofiSearch.sh # Google search from Rofi bind = $mainMod SHIFT, B, exec, $scriptsDir/ChangeBlur.sh # Toggle blur settings bind = $mainMod SHIFT, G, exec, $scriptsDir/GameMode.sh # animations ON/OFF bind = $mainMod ALT, L, exec, $scriptsDir/ChangeLayout.sh # Toggle Master or Dwindle Layout bind = $mainMod ALT, V, exec, $scriptsDir/ClipManager.sh # Clipboard Manager bind = $mainMod SHIFT, N, exec, swaync-client -t -sw # swayNC panel # FEATURES / EXTRAS (UserScripts) bind = $mainMod, E, exec, $UserScripts/QuickEdit.sh # Quick Edit Hyprland Settings bind = $mainMod SHIFT, M, exec, $UserScripts/RofiBeats.sh # online music bind = $mainMod, W, exec, $UserScripts/WallpaperSelect.sh # Select wallpaper to apply bind = $mainMod SHIFT, W, exec, $UserScripts/WallpaperEffects.sh # Wallpaper Effects by imagemagickWW bind = CTRL ALT, W, exec, $UserScripts/WallpaperRandom.sh # Random wallpapers # Waybar / Bar related bind = $mainMod, B, exec, killall -SIGUSR1 waybar # Toggle hide/show waybar bind = $mainMod CTRL, B, exec, $scriptsDir/WaybarStyles.sh # Waybar Styles Menu bind = $mainMod ALT, B, exec, $scriptsDir/WaybarLayout.sh # Waybar Layout Menu # Master Layout bind = $mainMod CTRL, D, layoutmsg, removemaster bind = $mainMod, I, layoutmsg, addmaster bind = $mainMod, J, layoutmsg, cyclenext bind = $mainMod, K, layoutmsg, cycleprev bind = $mainMod, M, exec, hyprctl dispatch splitratio 0.3 bind = $mainMod, P, pseudo, # dwindle bind = $mainMod CTRL, Return, layoutmsg, swapwithmaster # group bind = $mainMod, G, togglegroup bind = $mainMod SHIFT, tab, changegroupactive #change focus to another window # Cycle windows if floating bring to top bind = ALT,Tab,cyclenext bind = ALT,Tab,bringactivetotop # Special Keys / Hot Keys bindel = , xf86audioraisevolume, exec, $scriptsDir/Volume.sh --inc #volume up bindel = , xf86audiolowervolume, exec, $scriptsDir/Volume.sh --dec #volume down bindl = , xf86AudioMicMute, exec, $scriptsDir/Volume.sh --toggle-mic #mute mic bindl = , xf86audiomute, exec, $scriptsDir/Volume.sh --toggle bindl = , xf86Sleep, exec, systemctl suspend # sleep button bindl = , xf86Rfkill, exec, $scriptsDir/AirplaneMode.sh #Airplane mode # media controls using keyboards bindl = , xf86AudioPlayPause, exec, $scriptsDir/MediaCtrl.sh --pause bindl = , xf86AudioPause, exec, $scriptsDir/MediaCtrl.sh --pause bindl = , xf86AudioPlay, exec, $scriptsDir/MediaCtrl.sh --pause bindl = , xf86AudioNext, exec, $scriptsDir/MediaCtrl.sh --nxt bindl = , xf86AudioPrev, exec, $scriptsDir/MediaCtrl.sh --prv bindl = , xf86audiostop, exec, $scriptsDir/MediaCtrl.sh --stop # Screenshot keybindings NOTE: You may need to press Fn key as well bind = $mainMod, Print, exec, $scriptsDir/ScreenShot.sh --now bind = $mainMod SHIFT, Print, exec, $scriptsDir/ScreenShot.sh --area bind = $mainMod CTRL, Print, exec, $scriptsDir/ScreenShot.sh --in5 #screenshot in 5 secs bind = $mainMod CTRL SHIFT, Print, exec, $scriptsDir/ScreenShot.sh --in10 #screenshot in 10 secs bind = ALT, Print, exec, $scriptsDir/ScreenShot.sh --active #take screenshot of active window # screenshot with swappy (another screenshot tool) bind = $mainMod SHIFT, S, exec, $scriptsDir/ScreenShot.sh --swappy # Resize windows binde = $mainMod SHIFT, left, resizeactive,-50 0 binde = $mainMod SHIFT, right, resizeactive,50 0 binde = $mainMod SHIFT, up, resizeactive,0 -50 binde = $mainMod SHIFT, down, resizeactive,0 50 # Move windows bind = $mainMod CTRL, left, movewindow, l bind = $mainMod CTRL, right, movewindow, r bind = $mainMod CTRL, up, movewindow, u bind = $mainMod CTRL, down, movewindow, d # 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 # Workspaces related bind = $mainMod, tab, workspace, m+1 bind = $mainMod SHIFT, tab, workspace, m-1 # Special workspace bind = $mainMod SHIFT, U, movetoworkspace, special bind = $mainMod, U, togglespecialworkspace, # The following mappings use the key codes to better support various keyboard layouts # 1 is code:10, 2 is code 11, etc # Switch workspaces with mainMod + [0-9] bind = $mainMod, code:10, workspace, 1 bind = $mainMod, code:11, workspace, 2 bind = $mainMod, code:12, workspace, 3 bind = $mainMod, code:13, workspace, 4 bind = $mainMod, code:14, workspace, 5 bind = $mainMod, code:15, workspace, 6 bind = $mainMod, code:16, workspace, 7 bind = $mainMod, code:17, workspace, 8 bind = $mainMod, code:18, workspace, 9 bind = $mainMod, code:19, workspace, 10 # Move active window and follow to workspace mainMod + SHIFT [0-9] bind = $mainMod SHIFT, code:10, movetoworkspace, 1 bind = $mainMod SHIFT, code:11, movetoworkspace, 2 bind = $mainMod SHIFT, code:12, movetoworkspace, 3 bind = $mainMod SHIFT, code:13, movetoworkspace, 4 bind = $mainMod SHIFT, code:14, movetoworkspace, 5 bind = $mainMod SHIFT, code:15, movetoworkspace, 6 bind = $mainMod SHIFT, code:16, movetoworkspace, 7 bind = $mainMod SHIFT, code:17, movetoworkspace, 8 bind = $mainMod SHIFT, code:18, movetoworkspace, 9 bind = $mainMod SHIFT, code:19, movetoworkspace, 10 bind = $mainMod SHIFT, bracketleft, movetoworkspace, -1 # brackets [ or ] bind = $mainMod SHIFT, bracketright, movetoworkspace, +1 # Move active window to a workspace silently mainMod + CTRL [0-9] bind = $mainMod CTRL, code:10, movetoworkspacesilent, 1 bind = $mainMod CTRL, code:11, movetoworkspacesilent, 2 bind = $mainMod CTRL, code:12, movetoworkspacesilent, 3 bind = $mainMod CTRL, code:13, movetoworkspacesilent, 4 bind = $mainMod CTRL, code:14, movetoworkspacesilent, 5 bind = $mainMod CTRL, code:15, movetoworkspacesilent, 6 bind = $mainMod CTRL, code:16, movetoworkspacesilent, 7 bind = $mainMod CTRL, code:17, movetoworkspacesilent, 8 bind = $mainMod CTRL, code:18, movetoworkspacesilent, 9 bind = $mainMod CTRL, code:19, movetoworkspacesilent, 10 bind = $mainMod CTRL, bracketleft, movetoworkspacesilent, -1 # brackets [ or ] bind = $mainMod CTRL, bracketright, movetoworkspacesilent, +1 # Scroll through existing workspaces with mainMod + scroll bind = $mainMod, mouse_down, workspace, e+1 bind = $mainMod, mouse_up, workspace, e-1 bind = $mainMod, period, workspace, e+1 bind = $mainMod, comma, workspace, e-1 # Move/resize windows with mainMod + LMB/RMB and dragging bindm = $mainMod, mouse:272, movewindow bindm = $mainMod, mouse:273, resizewindow Config File: /home/ja/.config/hypr/UserConfigs/Startup_Apps.conf: Read Succeeded # /* ---- πŸ’« https://github.com/JaKooLit πŸ’« ---- */ # #Commands & Apps to be executed at launch $scriptsDir = $HOME/.config/hypr/scripts $UserScripts = $HOME/.config/hypr/UserScripts $wallDIR=$HOME/Pictures/wallpapers $lock = $scriptsDir/LockScreen.sh $SwwwRandom = $UserScripts/WallpaperAutoChange.sh # wallpaper stuff / More wallpaper options below exec-once = swww-daemon --format xrgb #exec-once = $SwwwRandom $wallDIR # random wallpaper switcher every 30 minutes # Startup exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP # Polkit (Polkit Gnome / KDE) exec-once = $scriptsDir/Polkit.sh # starup apps exec-once = waybar & exec-once = nm-applet --indicator & exec-once = swaync & exec-once = ags & exec-once = blueman-applet & exec-once = rog-control-center & #clipboard manager exec-once = wl-paste --type text --watch cliphist store exec-once = wl-paste --type image --watch cliphist store # Rainbow borders exec-once = $UserScripts/RainbowBorders.sh & # Starting hypridle to start hyprlock exec-once = hypridle & # Start pyprland daemon exec-once = pypr & # Here are list of features available but disabled by default # exec-once = swww-daemon --format xrgb && swww img $HOME/Pictures/wallpapers/mecha-nostalgia.png # persistent wallpaper #gnome polkit for nixos #exec-once = $scriptsDir/Polkit-NixOS.sh # xdg-desktop-portal-hyprland (should be auto starting. However, you can force to start) #exec-once = $scriptsDir/PortalHyprland.sh Config File: /home/ja/.config/hypr/UserConfigs/ENVariables.conf: Read Succeeded # /* ---- πŸ’« https://github.com/JaKooLit πŸ’« ---- */ # # Environment variables. See https://wiki.hyprland.org/Configuring/Environment-variables/ #environment-variables env = CLUTTER_BACKEND,wayland env = GDK_BACKEND,wayland,x11 env = QT_AUTO_SCREEN_SCALE_FACTOR,1 env = QT_QPA_PLATFORM,wayland;xcb env = QT_QPA_PLATFORMTHEME,qt5ct env = QT_QPA_PLATFORMTHEME,qt6ct env = QT_SCALE_FACTOR,1 env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1 env = XDG_CURRENT_DESKTOP,Hyprland env = XDG_SESSION_DESKTOP,Hyprland env = XDG_SESSION_TYPE,wayland # xwayland apps scale fix (useful if you are use monitor scaling) # see https://wiki.hyprland.org/Configuring/XWayland/ # toolkit-specific scale # env = GDK_SCALE,2 # firefox env = MOZ_ENABLE_WAYLAND,1 # electron >28 apps (may help) env = ELECTRON_OZONE_PLATFORM_HINT,auto # NVIDIA # This is from Hyprland Wiki. As a start, WLR_NO_HARDWARE_CURSORS 1 will be activated if nvidia gpu detected #env = LIBVA_DRIVER_NAME,nvidia #env = __GLX_VENDOR_LIBRARY_NAME,nvidia #env = GBM_BACKEND,nvidia-drm #env = __NV_PRIME_RENDER_OFFLOAD,1 #env = __VK_LAYER_NV_optimus,NVIDIA_only #env = WLR_DRM_NO_ATOMIC,1 #env = NVD_BACKEND,direct # FOR VM and POSSIBLY NVIDIA #env = WLR_NO_HARDWARE_CURSORS,1 #env = WLR_RENDERER_ALLOW_SOFTWARE,1 # nvidia firefox (for hardware acceleration on FF)? # check this post https://github.com/elFarto/nvidia-vaapi-driver#configuration #env = MOZ_DISABLE_RDD_SANDBOX,1 #env = NVD_BACKEND,direct #env = EGL_PLATFORM,wayland Config File: /home/ja/.config/hypr/UserConfigs/Monitors.conf: Read Succeeded # /* ---- πŸ’« https://github.com/JaKooLit πŸ’« ---- */ # # Monitor Configuration # See Hyprland wiki for more details # https://wiki.hyprland.org/Configuring/Monitors/ # Configure your Display resolution, offset, scale and Monitors here, use `hyprctl monitors` to get the info. # Monitors monitor=,preferred,auto,1 # NOTE: for laptop, kindly check notes in Laptops.conf regarding display # Created this inorder for the monitor display to not wake up if not intended. # See here: https://github.com/hyprwm/Hyprland/issues/4090 #monitor = eDP-1, preferred, auto, 1 #monitor = eDP-1, 2560x1440@165, 0x0, 1 #own screen #monitor = DP-3, 1920x1080@240, auto, 1 #monitor = DP-1, preferred, auto, 1 #monitor = HDMI-A-1, preferred,auto,1 # QEMU-KVM or any virtual box #monitor = Virtual-1, 1920x1080@60,auto,1 # Hi Refresh Rate #monitor=,highrr,auto,1 # High Resolution #monitor=,highres,auto,1 # to disable a monitor #monitor=name,disable # Mirror #monitor=DP-3,1920x1080@60,0x0,1,mirror,DP-2 #monitor=,preferred,auto,1,mirror,eDP-1 # Example : #monitor=eDP-1,2560x1440@165,0x0,1 #workspace=HDMI-A-1,1 #monitor=HDMI-A-1,2560x1440@144,0x0,1,mirror,eDP-1 #workspace=HDMI-A-2,2 #monitor=eDP-1,transform,0 #monitor=eDP-1,addreserved,10,10,10,49 #workspace=eDP-1,1 Config File: /home/ja/.config/hypr/UserConfigs/Laptops.conf: Read Succeeded # /* ---- πŸ’« https://github.com/JaKooLit πŸ’« ---- */ # # See https://wiki.hyprland.org/Configuring/Keywords/ for more variable settings # These configs are mostly for laptops. This is addemdum to Keybinds.conf $mainMod = SUPER $scriptsDir = $HOME/.config/hypr/scripts $UserConfigs = $HOME/.config/hypr/UserConfigs # for disabling Touchpad. hyprctl devices to get device name. $Touchpad_Device=asue1209:00-04f3:319f-touchpad binde = , xf86KbdBrightnessDown, exec, $scriptsDir/BrightnessKbd.sh --dec #Keyboard brightness Down binde = , xf86KbdBrightnessUp, exec, $scriptsDir/BrightnessKbd.sh --inc #Keyboard brightness up bind = , xf86Launch1, exec, rog-control-center # ASUS Armory crate button bind = , xf86Launch3, exec, asusctl led-mode -n #FN+F4 Switch keyboard RGB profile bind = , xf86Launch4, exec, asusctl profile -n #FN+F5 change of fan profiles (Quite, Balance, Performance) binde = , xf86MonBrightnessDown, exec, $scriptsDir/Brightness.sh --dec binde = , xf86MonBrightnessUp, exec, $scriptsDir/Brightness.sh --inc bind = , xf86TouchpadToggle, exec, $scriptsDir/TouchPad.sh #disable touchpad # Screenshot keybindings for Asus G15 (no PrinSrc button) bind = $mainMod, F6, exec, $scriptsDir/ScreenShot.sh --now # Fullscreen bind = $mainMod SHIFT, F6, exec, $scriptsDir/ScreenShot.sh --area bind = $mainMod CTRL, F6, exec, $scriptsDir/ScreenShot.sh --in5 # Screenshot in 5 secs bind = $mainMod ALT, F6, exec, $scriptsDir/ScreenShot.sh --in10 # Screenshot in 10 secs bind = ALT, F6, exec, $scriptsDir/ScreenShot.sh --active # Screenshot active window $TOUCHPAD_ENABLED = true device { name = $Touchpad_Device enabled = $TOUCHPAD_ENABLED } # Below are useful when you are connecting your laptop in external display # Suggest you edit below for your laptop display # From WIKI This is to disable laptop monitor when lid is closed. # consult https://wiki.hyprland.org/hyprland-wiki/pages/Configuring/Binds/#switches #bindl = , switch:off:Lid Switch,exec,hyprctl keyword monitor "eDP-1, preferred, auto, 1" #bindl = , switch:on:Lid Switch,exec,hyprctl keyword monitor "eDP-1, disable" # WARNING! Using this method has some caveats!! USE THIS PART WITH SOME CAUTION! # CONS of doing this, is that you need to set up your wallpaper (SUPER W) and choose wallpaper. # CAVEATS! Sometimes the Main Laptop Monitor DOES NOT have display that it needs to re-connect your external monitor # One work around is to ensure that before shutting down laptop, MAKE SURE your laptop lid is OPEN!! # Make sure to comment (put # on the both the bindl = , switch ......) above # NOTE: Display for laptop are being generated into LaptopDisplay.conf # This part is to be use if you do not want your main laptop monitor to wake up during say wallpaper change etc #bindl = , switch:off:Lid Switch,exec,echo "monitor = eDP-1, preferred, auto, 1" > $UserConfigs/LaptopDisplay.conf #bindl = , switch:on:Lid Switch,exec,echo "monitor = eDP-1, disable" > $UserConfigs/LaptopDisplay.conf # for laptop-lid action (to erase the last entry) #exec-once = echo "eDP-1, preferred, auto, 1" > $HOME/.config/hypr/UserConfigs/LaptopDisplay.conf # Config File: /home/ja/.config/hypr/UserConfigs/LaptopDisplay.conf: Read Succeeded # NOTE, THIS FILE IS BEING USED by disabling Laptop display monitor behaviour when closing lid. # See notes on Laptops.conf #monitor = eDP-1, preferred, auto, 1 Config File: /home/ja/.config/hypr/UserConfigs/WindowRules.conf: Read Succeeded # /* ---- πŸ’« https://github.com/JaKooLit πŸ’« ---- */ # # See https://wiki.hyprland.org/Configuring/Window-Rules/ for more #windowrule = noblur,gamescope #windowrule = fullscreen,gamescope #windowrule = workspace 6 silent,^(gamescope)$ # windowrule center windowrule = center,^(pavucontrol|org.pulseaudio.pavucontrol) windowrule = center,^([Ww]hatsapp-for-linux)$ windowrule = center,^([Ff]erdium)$ # WINDOWRULE v2 # windowrule v2 - position # windowrulev2 = center,floating:1 # warning, it cause even the menu to float and center. windowrulev2 = center, class:([Tt]hunar), title:(File Operation Progress) windowrulev2 = center, class:([Tt]hunar), title:(Confirm to replace files) # windowrule v2 to avoid idle for fullscreen apps windowrulev2 = idleinhibit fullscreen, class:^(*)$ windowrulev2 = idleinhibit fullscreen, title:^(*)$ windowrulev2 = idleinhibit fullscreen, fullscreen:1 # windowrule v2 move to workspace windowrulev2 = workspace 1, class:^([Tt]hunderbird)$ windowrulev2 = workspace 2, class:^([Ff]irefox|org.mozilla.firefox|[Ff]irefox-esr)$ windowrulev2 = workspace 2, class:^([Mm]icrosoft-edge(-stable|-beta|-dev|-unstable)?)$ #windowrulev2 = workspace 3, class:^([Tt]hunar)$ windowrulev2 = workspace 4, class:^(com.obsproject.Studio)$ windowrulev2 = workspace 5, class:^([Ss]team)$ windowrulev2 = workspace 5, class:^([Ll]utris)$ windowrulev2 = workspace 7, class:^([Dd]iscord)$ windowrulev2 = workspace 7, class:^([Ww]ebCord)$ windowrulev2 = workspace 7, class:^([Vv]esktop)$ windowrulev2 = workspace 7, class:^([Ff]erdium)$ windowrulev2 = workspace 7, class:^([Ww]hatsapp-for-linux)$ # windowrule v2 move to workspace (silent) windowrulev2 = workspace 6 silent, class:^(virt-manager)$ windowrulev2 = workspace 9 silent, class:^([Aa]udacious)$ # windowrule v2 - float windowrulev2 = float, class:^(org.kde.polkit-kde-authentication-agent-1)$ windowrulev2 = float, class:([Zz]oom|onedriver|onedriver-launcher)$ windowrulev2 = float, class:([Tt]hunar), title:(File Operation Progress) windowrulev2 = float, class:([Tt]hunar), title:(Confirm to replace files) windowrulev2 = float, class:(xdg-desktop-portal-gtk) windowrulev2 = float, class:(org.gnome.Calculator), title:(Calculator) windowrulev2 = float, class:(codium|codium-url-handler|VSCodium), title:(Add Folder to Workspace) windowrulev2 = float, class:^([Rr]ofi)$ windowrulev2 = float, class:^(eog)$ windowrulev2 = float, class:^(pavucontrol|org.pulseaudio.pavucontrol)$ windowrulev2 = float, class:^(nwg-look|qt5ct|qt6ct|mpv)$ windowrulev2 = float, class:^(nm-applet|nm-connection-editor|blueman-manager)$ windowrulev2 = float, class:^(gnome-system-monitor|org.gnome.SystemMonitor)$ # system monitor windowrulev2 = float, class:^(yad)$ # icon browser windowrulev2 = float, class:^(wihotspot-gui)$ # wifi hotspot windowrulev2 = float, class:^(evince)$ # document viewer windowrulev2 = float, class:^(file-roller|org.gnome.FileRoller)$ # archive manager windowrulev2 = float, class:^([Bb]aobab|org.gnome.[Bb]aobab)$ # Disk usage analyzer windowrulev2 = float, title:(Kvantum Manager) windowrulev2 = float, class:^([Ss]team)$,title:^((?![Ss]team).*|[Ss]team [Ss]ettings)$ windowrulev2 = float, class:^([Qq]alculate-gtk)$ windowrulev2 = float, class:^([Ww]hatsapp-for-linux)$ windowrulev2 = float, class:^([Ff]erdium)$ # windowrule v2 - opacity #enable as desired windowrulev2 = opacity 0.9 0.6, class:^([Rr]ofi)$ windowrulev2 = opacity 0.9 0.7, class:^(Brave-browser(-beta|-dev)?)$ windowrulev2 = opacity 0.9 0.7, class:^([Ff]irefox|org.mozilla.firefox|[Ff]irefox-esr)$ windowrulev2 = opacity 0.9 0.8, class:^([Mm]icrosoft-edge(-stable|-beta|-dev|-unstable)?)$ windowrulev2 = opacity 0.9 0.8, class:^(google-chrome(-beta|-dev|-unstable)?)$ windowrulev2 = opacity 0.94 0.86, class:^(chrome-.+-Default)$ # Chrome PWAs windowrulev2 = opacity 0.9 0.8, class:^([Tt]hunar)$ windowrulev2 = opacity 0.8 0.6, class:^(pcmanfm-qt)$ windowrulev2 = opacity 0.8 0.7, class:^(gedit|org.gnome.TextEditor)$ windowrulev2 = opacity 0.9 0.8, class:^(deluge)$ windowrulev2 = opacity 0.9 0.8, class:^(Alacritty)$ windowrulev2 = opacity 0.9 0.8, class:^(kitty)$ windowrulev2 = opacity 0.9 0.7, class:^(mousepad)$ windowrulev2 = opacity 0.9 0.7, class:^(VSCodium|codium-url-handler)$ windowrulev2 = opacity 0.9 0.8, class:^(nwg-look|qt5ct|qt6ct|yad)$ windowrulev2 = opacity 0.9 0.8, title:(Kvantum Manager) windowrulev2 = opacity 0.9 0.7, class:^(com.obsproject.Studio)$ windowrulev2 = opacity 0.9 0.7, class:^([Aa]udacious)$ windowrulev2 = opacity 0.9 0.8, class:^(org.gnome.Nautilus)$ windowrulev2 = opacity 0.9 0.8, class:^(VSCode|code-url-handler)$ windowrulev2 = opacity 0.9 0.8, class:^(jetbrains-.+)$ # JetBrains IDEs windowrulev2 = opacity 0.94 0.86, class:^([Dd]iscord|[Vv]esktop)$ windowrulev2 = opacity 0.9 0.8, class:^(org.telegram.desktop|io.github.tdesktop_x64.TDesktop)$ windowrulev2 = opacity 0.94 0.86, class:^(gnome-disks|evince|wihotspot-gui|org.gnome.baobab)$ windowrulev2 = opacity 0.9 0.8, class:^(file-roller|org.gnome.FileRoller)$ # archive manager windowrulev2 = opacity 0.8 0.7, class:^(app.drey.Warp)$ # Warp file transfer windowrulev2 = opacity 0.9 0.8, class:^(seahorse)$ # gnome-keyring gui windowrulev2 = opacity 0.82 0.75, class:^(gnome-system-monitor|org.gnome.SystemMonitor)$ windowrulev2 = opacity 0.9 0.8, class:^(xdg-desktop-portal-gtk)$ # gnome-keyring gui windowrulev2 = opacity 0.9 0.7, class:^([Ww]hatsapp-for-linux)$ windowrulev2 = opacity 0.9 0.7, class:^([Ff]erdium)$ # windowrule v2 - size windowrulev2 = size 70% 70%, class:^(gnome-system-monitor|org.gnome.SystemMonitor)$ windowrulev2 = size 70% 70%, class:^(xdg-desktop-portal-gtk)$ windowrulev2 = size 60% 70%, title:(Kvantum Manager) windowrulev2 = size 60% 70%, class:^(qt6ct)$ windowrulev2 = size 70% 70%, class:^(evince|wihotspot-gui)$ windowrulev2 = size 60% 70%, class:^(file-roller|org.gnome.FileRoller)$ windowrulev2 = size 60% 70%, class:^([Ww]hatsapp-for-linux)$ windowrulev2 = size 60% 70%, class:^([Ff]erdium)$ #layerrule = unset,class:^([Rr]ofi)$ #layerrule = blur,class:^([Rr]ofi)$ #layerrule = ignorezero, layerrule = ignorezero, overview layerrule = blur, overview #windowrulev2 = bordercolor rgb(EE4B55) rgb(880808), fullscreen:1 #windowrulev2 = bordercolor rgb(282737) rgb(1E1D2D), floating:1 #windowrulev2 = opacity 0.8 0.8, pinned:1 # Picture-in-a-Picture (PIP) rules: Oddly, some need re-duplication. This is because the window for # PIP changes after on first launch, and will not inherant the rules... windowrulev2=opacity 0.95 0.75,title:^(Picture-in-Picture)$ # for opacity: [focus num] [bg num] # Interestingly, the opacity rule above doesn't need the reduplication? windowrulev2=pin,title:^(Picture-in-Picture)$ #windowrulev2=pin,title:^(Firefox)$ windowrulev2=float, title:^(Picture-in-Picture)$ #windowrulev2=float, title:^(Firefox)$ windowrulev2=size 25% 25%,title:^(Picture-in-Picture)$ #windowrulev2=size 25% 25%,title:^(Firefox)$ windowrulev2=move 72% 7%,title:^(Picture-in-Picture)$ #windowrulev2=move 72% 7%,title:^(Firefox)$ Config File: /home/ja/.config/hypr/UserConfigs/UserKeybinds.conf: Read Succeeded # /* ---- πŸ’« https://github.com/JaKooLit πŸ’« ---- */ # # This is where you put your own keybinds. Be Mindful to check as well ~/.config/hypr/configs/Keybinds.conf to avoid conflict # if you think I should replace the Pre-defined Keybinds in ~/.config/hypr/configs/Keybinds.conf , submit an issue or let me know in DC and present me a valid reason as to why, such as conflicting with global shortcuts, etc etc # See https://wiki.hyprland.org/Configuring/Keywords/ for more settings and variables # See also Laptops.conf for laptops keybinds $mainMod = SUPER $files = thunar $term = kitty $scriptsDir = $HOME/.config/hypr/scripts $UserScripts = $HOME/.config/hypr/UserScripts # rofi App launcher #bindr = $mainMod, $mainMod_L, exec, pkill rofi || rofi -show drun -modi drun,filebrowser,run,window # Super Key to Launch rofi menu bind = $mainMod, D, exec, pkill rofi || rofi -show drun -modi drun,filebrowser,run,window # ags overview bind = $mainMod, A, exec, pkill rofi || true && ags -t 'overview' bind = $mainMod, Return, exec, $term # Launch terminal bind = $mainMod, T, exec, $files # Launch file manager bind = $mainMod ALT, C, exec, $UserScripts/RofiCalc.sh # calculator (qalculate) # pyprland bind = $mainMod SHIFT, Return, exec, pypr toggle term # Dropdown terminal bind = $mainMod, Z, exec, pypr zoom # Toggle Zoom # User Added Keybinds bind = $mainMod SHIFT, O, exec, $UserScripts/ZshChangeTheme.sh # Change oh-my-zsh theme bindn = ALT_L, SHIFT_L, exec, $scriptsDir/SwitchKeyboardLayout.sh # Changing the keyboard layout # For passthrough keyboard into a VM # bind = $mainMod ALT, P, submap, passthru #submap = passthru # to unbind #bind = $mainMod ALT, P, submap, reset #submap = reset Config File: /home/ja/.config/hypr/UserConfigs/UserSettings.conf: Read Succeeded # /* ---- πŸ’« https://github.com/JaKooLit πŸ’« ---- */ # # User Settings # This is where you put your own settings as this will not be touched during update # if the upgrade.sh is used. # refer to Hyprland wiki for more info https://wiki.hyprland.org/Configuring/Variables/ # Sourcing colors generated by wallust source = $HOME/.config/hypr/wallust/wallust-hyprland.conf # blurls = waybar # blurls = rofi dwindle { pseudotile = yes preserve_split = yes special_scale_factor = 0.8 } master { new_is_master=1 # comment this when Hyprland release a new version or you are running the git version #new_status=master # hyprland upstream or git version (next release maybe v0.41-2 or v0.42) new_on_top=1 mfact = 0.5 } general { sensitivity = 1.00 border_size = 2 apply_sens_to_raw = 1 gaps_in = 6 gaps_out = 8 resize_on_border = true col.active_border = $color0 $color2 $color9 $color12 $color15 90deg col.inactive_border = $backgroundCol layout = dwindle } decoration { rounding = 10 active_opacity = 1.0 inactive_opacity = 0.9 fullscreen_opacity = 1.0 dim_inactive = true dim_strength = 0.1 dim_special = 0.8 drop_shadow = true shadow_range = 6 shadow_render_power = 1 col.shadow = $color12 col.shadow_inactive = 0x50000000 blur { enabled = true size = 6 passes = 2 ignore_opacity = true new_optimizations = true special = true } } 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, 180, liner, loop #used by rainbow borders and rotating colors animation = fade, 1, 10, default animation = workspaces, 1, 5, wind } input { kb_layout = us kb_variant = kb_model = kb_options = kb_rules = repeat_rate = 50 repeat_delay = 300 numlock_by_default = true left_handed = false follow_mouse = true float_switch_override_focus = false touchpad { disable_while_typing = true natural_scroll = false clickfinger_behavior = false middle_button_emulation = true tap-to-click = true drag_lock = false } # below for devices with touchdevice ie. touchscreen touchdevice { enabled = true } # below is for table see link above for proper variables tablet { transform = 0 left_handed = 0 } } gestures { workspace_swipe = true workspace_swipe_fingers = 3 workspace_swipe_distance = 400 workspace_swipe_invert = true workspace_swipe_min_speed_to_force = 30 workspace_swipe_cancel_ratio = 0.5 workspace_swipe_create_new = true workspace_swipe_forever = true } group { col.border_active = $color15 groupbar { col.active = $color0 } } misc { disable_hyprland_logo = true disable_splash_rendering = true mouse_move_enables_dpms = true #vrr = 0 enable_swallow = true no_direct_scanout = true #for fullscreen games focus_on_activate = false swallow_regex = ^(kitty)$ #disable_autoreload = true initial_workspace_tracking = 0 } binds { workspace_back_and_forth=true allow_workspace_cycles=true pass_mouse_when_bound=false } #Could help when scaling and not pixelating xwayland { force_zero_scaling = true } # cursor section for Hyprland >= v0.41.0 cursor { enable_hyprcursor = true } Config File: /home/ja/.config/hypr/wallust/wallust-hyprland.conf: Read Succeeded $background = rgb(020407) $foreground = rgb(F8D7D2) $color0 = rgb(020407) $color1 = rgb(080F1B) $color2 = rgb(1D375C) $color3 = rgb(563544) $color4 = rgb(205886) $color5 = rgb(71576E) $color6 = rgb(B06A5E) $color7 = rgb(EDBEB6) $color8 = rgb(A6857F) $color9 = rgb(0B1424) $color10 = rgb(27497A) $color11 = rgb(73465B) $color12 = rgb(2A75B3) $color13 = rgb(977492) $color14 = rgb(EB8D7D) $color15 = rgb(EDBEB6) Config File: /home/ja/.config/hypr/UserConfigs/WorkspaceRules.conf: Read Succeeded # /* ---- πŸ’« https://github.com/JaKooLit πŸ’« ---- */ # # You can set workspace rules to achieve workspace-specific behaviors. # For instance, you can define a workspace where all windows are drawn without borders or gaps. # https://wiki.hyprland.org/Configuring/Workspace-Rules/ # Assigning workspace to a certain monitor # workspace = 1, monitor:eDP-1 # workspace = 2, monitor:DP-2 # example rules (from wiki) # workspace = 3, rounding:false, decorate:false # workspace = name:coding, rounding:false, decorate:false, gapsin:0, gapsout:0, border:false, decorate:false, monitor:DP-1 # workspace = 8,bordersize:8 # workspace = name:Hello, monitor:DP-1, default:true # workspace = name:gaming, monitor:desc:Chimei Innolux Corporation 0x150C, default:true # workspace = 5, on-created-empty:[float] firefox # workspace = special:scratchpad, on-created-empty:foot ======Config-End======== ```

Description

ok so I did some investigations.. and it started from v0.41

it seems that when pluging in charger, it executes all the xf86 keybinds. ie XF86MonBrightnessUp XF86AudioMute XF86Volumeup .. etc

looking at the keybinds set

they are all with

bind = , XF86AudioMute, exec something

Now this seems like it only affects newer asus laptops

looking at your previous reply to previous post https://github.com/hyprwm/Hyprland/issues/4836

this seems like a kernel issue. However, this not happen on versions 0.40 and older

as Ive said, it started only from 0.41

Plus, if it is a kernel issue, I have no issues with this on Plasma Environment

The solution I have placed at the moment is to add Mainmod bind = Mainmod, XF86AudioMute, .....

annoyance of doing that is ofcourse pressing the assigned mainmod first before those special xbindkeys

How to reproduce

On asus laptop, hyprland 0.41 or newer

Plug out, and plug in charger

Crash reports, logs, images, videos

No response

vaxerski commented 2 months ago

bisect then please :)

JaKooLit commented 2 months ago

bisect then please :)

dang.. my brain is maybe just 1% of yours πŸ˜„

anyway, I will try

vaxerski commented 2 months ago

https://wiki.hyprland.org/Crashes-and-Bugs/#bisecting-an-issue

fruzitent commented 2 months ago
57e76f91d9a388a41223e5ac0f13863d4b663bcd is the first bad commit
commit 57e76f91d9a388a41223e5ac0f13863d4b663bcd (HEAD)
Author: Ikalco <73481042+ikalco@users.noreply.github.com>
Date:   Tue May 7 01:20:06 2024 -0500

    keybinds: fix xkb keybind name to keysym comparison (#5917)

 src/managers/KeybindManager.cpp | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)
vaxerski commented 2 months ago

uhhh wat

patch.txt maybe this?

fruzitent commented 2 months ago

Applied to bad commit as well as recent main it fixes the issue.

https://github.com/hyprwm/Hyprland/assets/40008647/b66b3c8c-9855-411b-b075-7ec08ecc6af4

https://github.com/hyprwm/Hyprland/assets/40008647/3fc4fb1e-511b-48b6-beb3-53697a5910e2

vaxerski commented 2 months ago

top g

JaKooLit commented 2 months ago

Thanks alot. youre the best

tested and issue has been resolved

ilyamiro commented 2 months ago

Hey, @JaKooLit, I am using your config and i found out that it's the same problem i have right now, on plugging in the charger it executes all keybinds, and i have a NEW ASUS laptop, as you stated, but i can't quite get how did you fixed the issue?

JaKooLit commented 2 months ago

Hey, @JaKooLit, I am using your config and i found out that it's the same problem i have right now, on plugging in the charger it executes all keybinds, and i have a NEW ASUS laptop, as you stated, but i can't quite get how did you fixed the issue?

install hyprland-git if you are using Arch or fedora

you need to have the latest hyprland as the patch is in upstream

it should be included on next hyprland release