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.63k stars 828 forks source link

'resolve_keybinds_by_sym' option not working #7369

Closed nimr0d closed 2 weeks ago

nimr0d commented 4 weeks ago

Regression?

Yes

System Info and Version

System/Version info ```sh Hyprland, built from branch at commit 197f8807900afc81c1c92ad17e621d1998ee268b (). Date: 2024-08-14 Tag: , commits: 197f8807900afc81c1c92ad17e621d1998ee268b flags: (if any) System Information: System name: Linux Node name: fyodor Release: 6.10.4 Version: #1-NixOS SMP PREEMPT_DYNAMIC Sun Aug 11 10:58:04 UTC 2024 GPU information: c1:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Phoenix1 [1002:15bf] (rev c4) (prog-if 00 [VGA controller]) os-release: ANSI_COLOR="1;34" BUG_REPORT_URL="https://github.com/NixOS/nixpkgs/issues" BUILD_ID="24.11.20240814.daf7bb9" DOCUMENTATION_URL="https://nixos.org/learn.html" HOME_URL="https://nixos.org/" ID=nixos IMAGE_ID="" IMAGE_VERSION="" LOGO="nix-snowflake" NAME=NixOS PRETTY_NAME="NixOS 24.11 (Vicuna)" SUPPORT_URL="https://nixos.org/community.html" VERSION="24.11 (Vicuna)" VERSION_CODENAME=vicuna VERSION_ID="24.11" plugins: ======Config-Start====== Config File: /home/nimrod/.config/hypr/hyprland.conf: Read Succeeded exec-once = /nix/store/j8l2v22xypah1srykhwjlkgwwgdxnnpw-dbus-1.14.10/bin/dbus-update-activation-environment --systemd --all && systemctl --user stop graphical-session.target && systemctl --user start hyprland-session.target $altmod=SUPERALT $mod=SUPER animations { bezier=smoothOut, 0.36, 0, 0.66, -0.56 bezier=smoothIn, 0.25, 1, 0.5, 1 bezier=overshot, 0.4,0.8,0.2,1.2 animation=windowsIn, 1, 4, overshot, slide animation=windowsOut, 1, 4, smoothOut, slide animation=border,1,10,default animation=fade, 1, 10, smoothIn animation=fadeDim, 1, 10, smoothIn animation=workspaces,1,4,overshot,slidevert enabled=true first_launch_animation=false } cursor { inactive_timeout=60 no_warps=true } decoration { blur { enabled=true ignore_opacity=true new_optimizations=true passes=3 size=3 xray=false } col.shadow=rgba(2d2d2d99) dim_inactive=true dim_strength=0.320000 drop_shadow=true rounding=7 } device { name=at-translated-set-2-keyboard kb_layout=us,us kb_options=grp:alts_toggle kb_variant=,colemak_dh_iso resolve_binds_by_sym=1 } dwindle { preserve_split=true pseudotile=false smart_split=false split_width_multiplier=1.300000 } general { border_size=0 gaps_in=4 gaps_out=8 layout=dwindle resize_on_border=true } gestures { workspace_swipe=true workspace_swipe_forever=true } input { touchpad { clickfinger_behavior=true natural_scroll=true tap-to-click=false } follow_mouse=1 } master { } misc { animate_manual_resizes=true animate_mouse_windowdragging=true disable_autoreload=true disable_hyprland_logo=true enable_swallow=true focus_on_activate=true key_press_enables_dpms=true mouse_move_enables_dpms=true new_window_takes_over_fullscreen=1 swallow_regex=^(kitty)$ vfr=true } plugin { } xwayland { force_zero_scaling=true } bind=$mod,space,exec,rofi -show drun -show-icons -matching fuzzy bind=$mod,escape,exec, /nix/store/0zmji8sw3jm1j4akllcwc6g7i8cilyza-systemd-256.2/bin/loginctl lock-session bind=$mod shift,escape,exec,pkill Hyprland bind=$mod,return,exec,kitty bind=$mod,m,fullscreen,1 bind=$altmod,m,fullscreen,0 bind=$mod,f,togglefloating bind=$mod,y,togglesplit bind=$mod,q,killactive bind=$mod,w,exec,systemctl --user kill -s SIGUSR1 waybar bind=$mod,left,movefocus,l bind=$mod,right,movefocus,r bind=$mod,up,movefocus,u bind=$mod,down,movefocus,d bind=$mod,n,movefocus,l bind=$mod,o,movefocus,r bind=$mod,i,movefocus,u bind=$mod,e,movefocus,d bind=$altmod,left,swapwindow,l bind=$altmod,right,swapwindow,r bind=$altmod,up,swapwindow,u bind=$altmod,down,swapwindow,d bind=$altmod,n,swapwindow,l bind=$altmod,o,swapwindow,r bind=$altmod,i,swapwindow,u bind=$altmod,e,swapwindow,d bind=$mod,v,movetoworkspace,empty bind=$altmod,v,movetoworkspacesilent,empty bind=$mod,period,workspace,-1 bind=$mod,comma,workspace,+1 bind=$altmod,period,movetoworkspace,-1 bind=$altmod,comma,movetoworkspace,+1 bind=$mod,mouse_down,workspace,-1 bind=$mod,mouse_up,workspace,+1 bind=$altmod,mouse_down,movetoworkspace,-1 bind=$altmod,mouse_up,movetoworkspace,+1 bind=$mod,p,exec,hyprpicker -an bind=$mod,0,workspace,1 bind=$altmod,0,movetoworkspacesilent,1 bind=$mod,1,workspace,2 bind=$altmod,1,movetoworkspacesilent,2 bind=$mod,2,workspace,3 bind=$altmod,2,movetoworkspacesilent,3 bind=$mod,3,workspace,4 bind=$altmod,3,movetoworkspacesilent,4 bind=$mod,4,workspace,5 bind=$altmod,4,movetoworkspacesilent,5 bind=$mod,5,workspace,6 bind=$altmod,5,movetoworkspacesilent,6 bind=$mod,6,workspace,7 bind=$altmod,6,movetoworkspacesilent,7 bind=$mod,7,workspace,8 bind=$altmod,7,movetoworkspacesilent,8 bind=$mod,8,workspace,9 bind=$altmod,8,movetoworkspacesilent,9 bind=$mod,9,workspace,10 bind=$altmod,9,movetoworkspacesilent,10 bindl=,XF86AudioMute,exec,wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle bindl=,XF86AudioMicMute,exec,wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle bindl=,XF86AudioPlay,exec,playerctl play-pause bindl=,XF86AudioPrev,exec,playerctl previous bindl=,XF86AudioNext,exec,playerctl next bindle=,XF86AudioRaiseVolume,exec,wpctl set-volume -l "1.0" @DEFAULT_AUDIO_SINK@ 6%+ bindle=,XF86AudioLowerVolume,exec,wpctl set-volume -l "1.0" @DEFAULT_AUDIO_SINK@ 6%- bindle=,XF86MonBrightnessUp,exec,brillo -u 300000 -A 5 bindle=,XF86MonBrightnessDown,exec,brillo -u 300000 -U 5 bindm=$mod,mouse:272,movewindow exec=systemctl --user restart waybar.service exec-once=/nix/store/7gv3x5vkmwbg7wrjwa4nhvxcphm6gyp2-keepassxc-2.7.9/bin/keepassxc exec-once=/nix/store/lq9xihmyhznlck961vjp8jpssi40ybv2-mullvad-vpn-2024.4/bin/mullvad-vpn layerrule=noanim,rofi windowrulev2=float,class:(nm-connection-editor) windowrulev2=float,class:(org.kde.kdeconnect.app) windowrulev2=float,class:(org.kde.kdeconnect-indicator) windowrulev2=float,class:(.blueman-manager-wrapped) windowrulev2=float,class:(qalculate-gtk) windowrulev2=float,class:(org.keepassxc.KeePassXC) # allows repeated switching with same keypress that starts the submap binde = ALT, TAB, exec, hyprswitch --daemon --sort-recent --do-initial-execute bind = ALT, TAB, submap, switch # allows repeated switching with same keypress that starts the submap binde = ALT SHIFT, TAB, exec, hyprswitch --daemon --sort-recent --do-initial-execute -r bind = ALT SHIFT, TAB, submap, switch submap = switch # allow repeated window switching in submap (same keys as repeating while starting) binde = ALT, TAB, exec, hyprswitch --daemon --sort-recent binde = ALT SHIFT, TAB, exec, hyprswitch --daemon --sort-recent -r # switch to specific window offset bind = ALT, 0, exec, hyprswitch --daemon --sort-recent --offset=0 bind = ALT SHIFT, 0, exec, hyprswitch --daemon --sort-recent --offset=0 -r bind = ALT, 1, exec, hyprswitch --daemon --sort-recent --offset=1 bind = ALT SHIFT, 1, exec, hyprswitch --daemon --sort-recent --offset=1 -r bind = ALT, 2, exec, hyprswitch --daemon --sort-recent --offset=2 bind = ALT SHIFT, 2, exec, hyprswitch --daemon --sort-recent --offset=2 -r bind = ALT, 3, exec, hyprswitch --daemon --sort-recent --offset=3 bind = ALT SHIFT, 3, exec, hyprswitch --daemon --sort-recent --offset=3 -r bind = ALT, 4, exec, hyprswitch --daemon --sort-recent --offset=4 bind = ALT SHIFT, 4, exec, hyprswitch --daemon --sort-recent --offset=4 -r bind = ALT, 5, exec, hyprswitch --daemon --sort-recent --offset=5 bind = ALT SHIFT, 5, exec, hyprswitch --daemon --sort-recent --offset=5 -r bind = ALT, 6, exec, hyprswitch --daemon --sort-recent --offset=6 bind = ALT SHIFT, 6, exec, hyprswitch --daemon --sort-recent --offset=6 -r bind = ALT, 7, exec, hyprswitch --daemon --sort-recent --offset=7 bind = ALT SHIFT, 7, exec, hyprswitch --daemon --sort-recent --offset=7 -r bind = ALT, 8, exec, hyprswitch --daemon --sort-recent --offset=8 bind = ALT SHIFT, 8, exec, hyprswitch --daemon --sort-recent --offset=8 -r bind = ALT, 9, exec, hyprswitch --daemon --sort-recent --offset=9 bind = ALT SHIFT, 9, exec, hyprswitch --daemon --sort-recent --offset=9 -r # exit submap and stop hyprswitch bindrt = ALT, ALT_L, exec, hyprswitch --stop-daemon bindrt = ALT, ALT_L, submap, reset # if it somehow doesn't close on releasing $switch_release, escape can kill bindr = ,escape, exec, pkill hyprswitch bindr = ,escape, submap, reset submap = reset bind=$mod,r,submap,resize submap=resize binde=,o,resizeactive,10 0 binde=,n,resizeactive,-10 0 binde=,i, resizeactive,0 -10 binde=,e,resizeactive,0 10 binde=,right,resizeactive,10 0 binde=,left,resizeactive,-10 0 binde=,up,resizeactive,0 -10 binde=,down,resizeactive,0 10 bind=,escape,submap,reset submap=reset ======Config-End======== ```

Description

resolve_keybinds_by_sym worked when it was introduced, but no longer works. If I switch layouts, the keybindings don't change.

How to reproduce

  1. Configure layout variants for keyboard input
  2. Load hyprland
  3. Switch layouts
  4. Try keybindings

Crash reports, logs, images, videos

No response

vaxerski commented 3 weeks ago

can you bisect it?

nimr0d commented 3 weeks ago

016da234d0e852de3ef20eb2e89ac58d2a85f6e7 (move to aquamarine)

vaxerski commented 3 weeks ago

right, makes sense.

vaxerski commented 2 weeks ago

patch.txt does this patch work?