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.69k stars 833 forks source link

Bind super alone on release no longer works #6946

Closed Nixuge closed 1 month ago

Nixuge commented 1 month ago

Regression?

Yes

System Info and Version

System/Version info ```sh Hyprland, built from branch main at commit cf373d315e9fb060576ed407bd5ee2dfb8a6d2e2 (touch: add touch swipe invert config (6940)). Date: Sun Jul 21 13:59:09 2024 Tag: v0.41.2-50-gcf373d31, commits: 4936 flags: (if any) System Information: System name: Linux Node name: nixpc Release: 6.9.10-zen1-1-zen Version: #1 ZEN SMP PREEMPT_DYNAMIC Thu, 18 Jul 2024 18:05:52 +0000 GPU information: 27:00.0 VGA compatible controller [0300]: NVIDIA Corporation GA104 [GeForce RTX 3060 Ti Lite Hash Rate] [10de:2489] (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/nix/.config/hypr/hyprland.conf: Read Succeeded # ####################################################################################### #AUTOGENERATED HYPR CONFIG. #PLEASE USE THE CONFIG PROVIDED IN THE GIT REPO /examples/hypr.conf AND EDIT IT, #OR EDIT THIS ONE ACCORDING TO THE WIKI INSTRUCTIONS. # ####################################################################################### # # Please note not all available settings / options are set here. # For a full list, see the wiki # autogenerated = 0 # remove this line to remove the warning # See https://wiki.hyprland.org/Configuring/Monitors/ #monitor=,preferred,auto,auto monitor=DP-1, 2560x1440@144, 0x0, 1 monitor=HDMI-A-2, 1920x1080@60, 2560x0, 1 workspace = 1, monitor:DP-1, default:true workspace = 3, monitor:DP-1 workspace = 5, monitor:DP-1 workspace = 7, monitor:DP-1 workspace = 9, monitor:DP-1 workspace = 2, monitor:HDMI-A-2 workspace = 4, monitor:HDMI-A-2 workspace = 6, monitor:HDMI-A-2 workspace = 8, monitor:HDMI-A-2 workspace = 10, monitor:HDMI-A-2 # See https://wiki.hyprland.org/Configuring/Keywords/ for more # Execute your favorite apps at launch # exec-once = waybar & hyprpaper & firefox exec-once = dunst exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 & exec-once = hyprpaper # Fix - allow copying from xwayland to wayland exec-once = waybar > /home/nix/Scripts/xwayland_copy.sh # Open brave on startup so that new windows are fast to load exec-once = [workspace 9 silent] /home/nix/Scripts/brave_start_waybar.sh # screensharing # https://wiki.hyprland.org/Useful-Utilities/Screen-Sharing/#screensharing # https://gist.github.com/PowerBall253/2dea6ddf6974ba4e5d26c3139ffb7580#screen-sharing-on-hyprland--arch-linux- exec-once=dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP # Source a file (multi-file configs) # source = ~/.config/hypr/myColors.conf # Some default env vars. #env = XCURSOR_SIZE,24 env = MOZ_ENABLE_WAYLAND,1 # from the wiki env = LIBVA_DRIVER_NAME,nvidia env = XDG_SESSION_TYPE,wayland env = GBM_BACKEND,nvidia-drm env = __GLX_VENDOR_LIBRARY_NAME,nvidia env = WLR_NO_HARDWARE_CURSORS,1 # Theme env = QT_QPA_PLATFORM,wayland #unsure if that's required env = QT_QPA_PLATFORMTHEME,qt6ct # Fix LWJGL 2 without forge # Should now be fixed in the vanilla driver, edit: apparently isn't fully. env = __GL_THREADED_OPTIMIZATIONS,0 #env = ELECTRON_OZONE_PLATFORM_HINT,auto # For all categories, see https://wiki.hyprland.org/Configuring/Variables/ input { kb_layout = fr kb_variant = kb_model = kb_options = kb_rules = follow_mouse = 2 touchpad { natural_scroll = no } #force_no_accel = true accel_profile = flat sensitivity = -0.4 # -1.0 - 1.0, 0 means no modification. numlock_by_default = true } general { # See https://wiki.hyprland.org/Configuring/Variables/ for more gaps_in = 5 gaps_out = 20 border_size = 2 col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg col.inactive_border = rgba(595959aa) layout = dwindle } decoration { # See https://wiki.hyprland.org/Configuring/Variables/ for more rounding = 10 #blur = yes #blur_size = 8 #blur_passes = 3 #blur_new_optimizations = on drop_shadow = yes shadow_range = 4 shadow_render_power = 3 col.shadow = rgba(1a1a1aee) } animations { enabled = yes # Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more bezier = myBezier, 0.05, 0.9, 0.1, 1.05 animation = windows, 1, 7, myBezier animation = windowsOut, 1, 7, default, popin 30% animation = border, 1, 10, default animation = borderangle, 1, 8, default animation = fade, 1, 7, default animation = workspaces, 1, 6, default } dwindle { # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below preserve_split = yes # you probably want this } master { # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more # TODO: CHANGED, see if good rn # new_is_master = true } gestures { # See https://wiki.hyprland.org/Configuring/Variables/ for more workspace_swipe = off } # Example per-device config # REMOVED - not sure what this did # See https://wiki.hyprland.org/Configuring/Keywords/#executing for more #device:epic-mouse-v1 { # sensitivity = -0.5 #} # Example windowrule v1 # windowrule = float, ^(kitty)$ # Example windowrule v2 # windowrulev2 = float,class:^(kitty)$,title:^(kitty)$ # See https://wiki.hyprland.org/Configuring/Window-Rules/ for more # See https://wiki.hyprland.org/Configuring/Keywords/ for more $mainMod = SUPER # Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more bind = $mainMod, Return, exec, kitty bind = $mainMod, Q, killactive, bind = $mainMod SHIFT, M, exit, bind = $mainMod, E, exec, dolphin bind = $mainMod, V, togglefloating, bind = $mainMod, R, exec, wofi --show drun bind = $mainMod, P, pseudo, # dwindle bind = $mainMod, J, togglesplit, # dwindle # 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, ampersand, workspace, 1 bind = $mainMod, eacute, workspace, 2 bind = $mainMod, Eacute, workspace, 2 bind = $mainMod, quotedbl, workspace, 3 bind = $mainMod, apostrophe, workspace, 4 bind = $mainMod, parenleft, workspace, 5 bind = $mainMod, minus, workspace, 6 bind = $mainMod, egrave, workspace, 7 bind = $mainMod, Egrave, workspace, 7 bind = $mainMod, underscore, workspace, 8 bind = $mainMod, ccedilla, workspace, 9 bind = $mainMod, Ccedilla, workspace, 9 bind = $mainMod, agrave, workspace, 10 # Move active window to a workspace with mainMod + SHIFT + [0-9] bind = $mainMod SHIFT, ampersand, movetoworkspace, 1 bind = $mainMod SHIFT, eacute, movetoworkspace, 2 bind = $mainMod SHIFT, Eacute, movetoworkspace, 2 bind = $mainMod SHIFT, quotedbl, movetoworkspace, 3 bind = $mainMod SHIFT, apostrophe, movetoworkspace, 4 bind = $mainMod SHIFT, parenleft, movetoworkspace, 5 bind = $mainMod SHIFT, minus, movetoworkspace, 6 bind = $mainMod SHIFT, egrave, movetoworkspace, 7 bind = $mainMod SHIFT, Egrave, movetoworkspace, 7 bind = $mainMod SHIFT, underscore, movetoworkspace, 8 bind = $mainMod SHIFT, ccedilla, movetoworkspace, 9 bind = $mainMod SHIFT, Ccedilla, movetoworkspace, 9 bind = $mainMod SHIFT, agrave, movetoworkspace, 10 # 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 # Added binds # Win+F for Fullscreen bind = $mainMod, F,fullscreen # Win (on release) for the program starter # bind=SUPER, SUPER_L, exec, /home/nix/dotfiles/current/rofi/launcher.sh bindr=SUPER, SUPER_L, exec, rofi bindr = $mainMod SHIFT, P, exec, /home/nix/dotfiles/current/rofi/powermenu.sh # Bind only Print (first param = mod, empty) to take a screenshot bind = , Print, exec, /home/nix/Scripts/freeze_screenshot_grimblast.sh # Bind Ctrl+Print to take & edit a screenshot bind = $mainMod, Print, exec, /home/nix/Scripts/freeze_screenshot_grimswappy.sh # Blur rules windowrule=opacity 1 .9, ^(.*)$ # All unfocused windows dimmed windowrule=opacity .9 .85,^(Code)$ # Vscode windowrule=opacity .95 .8,^(kitty)$ # Kitty windowrule=opacity .9 .8,^(org.gnome.Nautilus)$ # Nautilus windowrule=opacity .9 .8,^(org.prismlauncher.PrismLauncher)$ # Prism windowrule=opacity .9 .85,^(discord)$ # Discord # Floating rulezs windowrule=tile, ^(Minecraft .*)$ windowrule=tile, ^(LiquidBounce .*)$ # Blur rofi background layer # See https://wiki.hyprland.org/Configuring/Keywords/#blurring-layersurfaces # Use sleep 1; hyprctl layers to get memory address # Can otherwise use the name as the mem adress depending on the program focused # when running it. layerrule=blur,rofi ======Config-End======== ```

Description

Using bindr=SUPER, SUPER_L, exec, ... (like shown in the wiki) doesn't seem to work anymore.

Using bind (without the release flag) works normally.

Using a french keyboard, but the issue seems to persist even with kb_layout set to us

How to reproduce

Crash reports, logs, images, videos

No response

vaxerski commented 1 month ago

oops, forgot to update the wiki. Drop the modifier.

vaxerski commented 1 month ago

done

Nixuge commented 1 month ago

Doesn't look like this is right, here's the behavior I get:

vaxerski commented 1 month ago

if it works then wdym no longer works

Nixuge commented 1 month ago

bindR does not work anymore, it worked before the aquamarine update

bind alone (no release flag) works

Rn on the wiki bindr=, SUPER_L, exec, pkill wofi || wofi is shown, which doesn't work anymore

vaxerski commented 1 month ago

@fufexan said it was working IIRC...

fufexan commented 1 month ago

Nope, someone else did.

Nixuge commented 1 month ago

@fufexan said it was working IIRC...

No idea then but it just broke right after the update for me, didn't touch anything just updated and it gone

VirtCode commented 1 month ago

Nope, someone else did.

yeah, I did

bindr= , SUPER_L, exec, pkill wofi || wofi

is still working as expected for me

VirtCode commented 1 month ago

Okay, discovered why it doesn't seem to work for anyone else.

I am setting kb_options = caps:escape,altwin:swap_lalt_lwin for my keyboard in the input section. If I remove these options, it doesn't work anymore.

Sorry about that, but maybe this helps finding the issue.

kalkishnu commented 1 month ago

i am on hyprland-git-0.41.2.r60.cbaac6de-1: bindr = SUPER , SUPER_L, exec, ags -t launcher (wont work) bind = SUPER, SUPER_L, exec, ags -t launcher (works but only when press and not when released) bindr = , SUPER_L, exec, ags -t launcher (wont work)

Nixuge commented 1 month ago

Okay, discovered why it doesn't seem to work for anyone else.

I am setting kb_options = caps:escape,altwin:swap_lalt_lwin for my keyboard in the input section. If I remove these options, it doesn't work anymore.

Sorry about that, but maybe this helps finding the issue.

altwin:swap_lalt_lwin does indeed seem to "fix" the problem (as long as you enjoy using alt as the win key)

FelipeSharkao commented 1 month ago

I have the same problem.

Testing with wev, when I have the keybind active, Super_L keycode is not shown, so Hyprland is being able to capture it. Moreover, bindr = SUPER, ALT_L seems to work just fine, and bindr = , SUPER_L also works when using CapsLock with kb_options = caps:super, so it seems to be a problem only with the super/win key.

Also, it might be useful to note, I'm using a br-abnt2 layout, and this problem happens with both my USB and laptop keyboard, so it's not a layout specific or hardware specific problem

zjeffer commented 1 month ago

Having the same problem since aquamarine, currently onv0.41.2-52-gefcbcd72. I have no special keybind settings.

This doesn't work:

$mainMod = SUPER
bindr = $mainMod, SUPER_L, exec, pkill wofi || wofi

or:

bindr =, SUPER_L, exec, pkill wofi || wofi

It does work with bind.

seishin4real commented 1 month ago

bind is not a solution. it triggers the command when held for a combination

zjeffer commented 1 month ago

Indeed, I wasn't proposing it as a solution, but to make a comparison what does and doesn't work.

Plyply99 commented 1 month ago

Same issue. v0.41.2-94-g4beac91c

bindr =, SUPER_L, exec, pkill wofi || wofi

Does not work.

Nixuge commented 1 month ago

Seems to be indeed fixed thank you mr vaxryy

The wiki is wrong now tho: bindr=, SUPER_L, exec, pkill wofi || wofi (shown in the wiki rn) doesn't work bindr=SUPER, SUPER_L, exec, pkill wofi || wofi (like before) works

Nixuge commented 1 month ago

After testing a bit more, it seems like win+click/drag to move windows doesn't work anymore :/

will test if it's this commit or a previous one

Edit: can confirm it still works on https://github.com/hyprwm/Hyprland/commit/daf5fad19034def8062acfd32e66bea78c62aaff, it's https://github.com/hyprwm/Hyprland/commit/cd942ad12d9d2030963e3dd5fbfe2d181013c750 that broke it

vaxerski commented 1 month ago

works on my end?

Nixuge commented 1 month ago

After testing a bit more things seem a bit weird

Had it happen twice instantly on boot, then rebooted, didn't get it at first but then got it (randomly?), rebooted again and now not getting it anymore

Will open another issue if it comes back