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
21.38k stars 898 forks source link

System shortcuts for hyprland are forwarded to focused application #6565

Closed mxaddict closed 4 months ago

mxaddict commented 4 months ago

Bug or Regression?

Bug

System Info and Version

System/Version info ```sh 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: mxaddict-pc Release: 6.9.5-arch1-1 Version: #1 SMP PREEMPT_DYNAMIC Sun, 16 Jun 2024 19:06:37 +0000 GPU information: 03:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 31 [Radeon RX 7900 XT/7900 XTX/7900M] [1002:744c] (rev c8) (prog-if 00 [VGA controller]) 18:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Raphael [1002:164e] (rev c1) (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/mxaddict/.config/hypr/hyprland.conf: Read Succeeded # Please note not all available settings / options are set here. # For a full list, see the wiki https://wiki.hyprland.org/ # See https://wiki.hyprland.org/Configuring/Monitors/ source=~/.config/hypr/monitors.conf source=~/.config/hypr/workspaces.conf # See https://wiki.hyprland.org/Configuring/Keywords/ for more # Execute your favorite apps at launch exec-once = hyprpaper exec-once = waybar exec-once = swaync exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 exec-once = dbus-update-activation-environment --systemd --all exec-once = sleep 30; nm-applet exec-once = sleep 30; blueman-applet # Fix qt application cursor size env = XCURSOR_SIZE,24 # Themes env = CLUTTER_BACKEND,wayland env = GTK_THEME,Lavanda-Dark env = QT_AUTO_SCREEN_SCALE_FACTOR,1 env = QT_QPA_PLATFORM,wayland env = QT_QPA_PLATFORMTHEME,qt6ct env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1 env = XDG_CURRENT_DESKTOP,Hyprland env = XDG_SESSION_DESKTOP,Hyprland env = XDG_SESSION_TYPE,wayland misc { disable_hyprland_logo = yes } # For all categories, see https://wiki.hyprland.org/Configuring/Variables/ input { kb_layout = us kb_variant = kb_model = kb_options = kb_rules = follow_mouse = yes natural_scroll = yes touchpad { natural_scroll = yes } sensitivity = 0 # -1.0 - 1.0, 0 means no modification. force_no_accel = yes } general { # See https://wiki.hyprland.org/Configuring/Variables/ for more gaps_in = 4 gaps_out = 8 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 = 4 drop_shadow = yes shadow_range = 4 shadow_render_power = 3 col.shadow = rgba(1a1a1aee) blur:enabled = no } animations { enabled = yes # Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more bezier = fafb, 0.05, 0.9, 0.1, 1.05 animation = windows, 1, 7, fafb animation = windowsOut, 1, 7, fafb, popin 80% animation = border, 1, 10, fafb animation = borderangle, 1, 8, fafb animation = fade, 1, 7, fafb animation = workspaces, 1, 6, fafb } 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 new_is_master = true } # WINE STUFF windowrulev2 = opacity 0.0 override 0.0 override,class:^(explorer.exe)$ windowrulev2 = move 0 0,class:^(explorer.exe)$ windowrulev2 = noanim,class:^(explorer.exe)$ windowrulev2 = nofocus,class:^(explorer.exe)$ windowrulev2 = noinitialfocus,class:^(explorer.exe)$ windowrulev2 = workspace 10 silent,class:^(explorer.exe)$ # Make apps opaque when in focus windowrule = opacity 1.00 0.95,^(.*)$ # Force some apps/windows to be floating windowrulev2 = float,title:^(Calculator)(.*)$ windowrulev2 = float,title:^(MetaMask)(.*)$ windowrulev2 = float,title:^(Steam - News)(.*)$ windowrulev2 = float,title:^(Friends List)(.*)$ windowrulev2 = float,title:^(btop)(.*)$ windowrulev2 = float,class:^(nm-connection-editor)$ windowrulev2 = float,class:^(blueman-manager)$ windowrulev2 = float,class:^(pavucontrol)$ windowrulev2 = float,class:^(chrome-bhghoamapcdpbohphigoooaddinpkbai.*)$ windowrulev2 = float,class:^(chrome-aholpfdialjgjfhomihkjbmgjidlcdno.*)$ windowrulev2 = float,class:^(nwg-look)$ windowrulev2 = float,class:^(nwg-displays)$ # Hide the sharing screen window windowrulev2 = opacity 0.0 override 0.0 override,title:^(.*)(is sharing your screen.)$ windowrulev2 = move 0 0,title:^(.*)(is sharing your screen.)$ windowrulev2 = noanim,title:^(.*)(is sharing your screen.)$ windowrulev2 = nofocus,title:^(.*)(is sharing your screen.)$ windowrulev2 = noinitialfocus,title:^(.*)(is sharing your screen.)$ windowrulev2 = workspace 10 silent,title:^(.*)(is sharing your screen.)$ # Workspace rules #windowrule = workspace 1 silent, Chromium windowrule = workspace 2 silent, discord windowrule = workspace 2 silent, teams-for-linux windowrule = workspace 3 silent, thunderbird windowrule = workspace 9 silent, Spotify windowrule = workspace 10 silent, lutris windowrule = workspace 10 silent, steam # See https://wiki.hyprland.org/Configuring/Keywords/ for more $mainMod = SUPER # START??? bind = $mainMod SHIFT, G, exec, notify-send "Join them not beat them"; .start # Notification center bind = $mainMod, N, exec, swaync-client -t -sw bind = $mainMod SHIFT, N, exec, swaync-client -d -sw bind = $mainMod ALT, N, exec, swaync-client -C -sw # App binds bind = $mainMod, B, exec, chromium bind = $mainMod, C, exec, alacritty bind = $mainMod, E, exec, nautilus -w bind = $mainMod, M, exec, hyprlock bind = $mainMod SHIFT, M, exec, systemctl suspend && hyprlock bind = $mainMod, SPACE, exec, pkill wofi || wofi bind = $mainMod SHIFT, SPACE, exec, pkill wofi || wofi --show run bind = $mainMod, R, exec, gnome-calculator bind = $mainMod, O, exec, spotify-launcher bind = $mainMod, P, exec, grimblast --notify --freeze copysave area ~/Captures/$(date "+%Y%m%d_%Hh%Mm%Ss").png bind = $mainMod SHIFT, P, exec, kooha # Systemcontrol binds bind = $mainMod, F, fullscreen, 1 bind = $mainMod SHIFT, F, fullscreen, 0 bind = $mainMod, Q, killactive, bind = $mainMod, S, togglesplit, # dwindle bind = $mainMod, V, togglefloating, # Volume control bind = $mainMod, up, exec, pactl -- set-sink-volume @DEFAULT_SINK@ +5% bind = $mainMod, down, exec, pactl -- set-sink-volume @DEFAULT_SINK@ -5% bind = $mainMod, left, exec, pactl -- set-sink-mute @DEFAULT_SINK@ on bind = $mainMod, right, exec, pactl -- set-sink-mute @DEFAULT_SINK@ off # Microphone volume control bind = $mainMod SHIFT, up, exec, pactl -- set-source-volume @DEFAULT_SOURCE@ +5% bind = $mainMod SHIFT, down, exec, pactl -- set-source-volume @DEFAULT_SOURCE@ -5% bind = $mainMod SHIFT, left, exec, pactl -- set-source-mute @DEFAULT_SOURCE@ on bind = $mainMod SHIFT, right, exec, pactl -- set-source-mute @DEFAULT_SOURCE@ off # Move focus with mainMod + hjkl keys bind = $mainMod, H, movefocus, l bind = $mainMod, L, movefocus, r bind = $mainMod, K, movefocus, u bind = $mainMod, J, movefocus, d # Window TAB for switching while in fullscreen or fakefullscreen bind = $mainMod, TAB, cyclenext bind = $mainMod SHIFT, TAB, cyclenext, prev # Move window with mainMod + hjkl keys bind = $mainMod SHIFT, H, movewindow, l bind = $mainMod SHIFT, L, movewindow, r bind = $mainMod SHIFT, K, movewindow, u bind = $mainMod SHIFT, J, movewindow, 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 # 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/resize windows with mainMod + LMB/RMB and dragging bindm = $mainMod, mouse:272, movewindow bindm = $mainMod, mouse:273, resizewindow Config File: /home/mxaddict/.config/hypr/monitors.conf: Read Succeeded # Generated by nwg-displays on 2024-06-15 at 17:15:17. Do not edit manually. monitor=desc:ASUSTek COMPUTER INC XG27ACS S2LMTF053713,2560x1440@180.0,0x0,1.0 Config File: /home/mxaddict/.config/hypr/workspaces.conf: Read Succeeded ======Config-End======== ```

Description

When running gamescope my binding for Mod+F and Mod+Shift+F conflict with gamescope shortcuts for Mod+F

Is there a way to disable forwarding of keypresses that are detected as system shortcuts?

How to reproduce

Set a bind for fullscreen to Mod+F, run a gamescope game, press Mod+F This will cause gamescope to spazout ang lock up (unresponsive)

Crash reports, logs, images, videos

No response

vaxerski commented 4 months ago

wdym?

mxaddict commented 4 months ago

Gamescope goes crazy when I go Fullscreen with my hyprland shortcut, I assumed it was because I have the same shortcut as the gamescope shortcut which is meta+f

Cheers, Barry Deeney

On Mon, Jun 17, 2024, 10:52 PM Vaxry @.***> wrote:

wdym?

— Reply to this email directly, view it on GitHub https://github.com/hyprwm/Hyprland/issues/6565#issuecomment-2173631080, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAIDAKMQ5Q327VXWXOYKBELZH3Z3RAVCNFSM6AAAAABJOCOFHCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCNZTGYZTCMBYGA . You are receiving this because you authored the thread.Message ID: @.***>

vaxerski commented 4 months ago

hyprland shortcuts should shadow app shortcuts unless it uses the shortcut-inhibit protocol

mxaddict commented 4 months ago

I'm not sure what you mean by shadow.

Does fullscreen vs fake fullscreen make a difference?

Cause the shortcut in gamescope is meta+f for fullscreen And in hyprland it's meta+f for fakefullscreen in my config

vaxerski commented 4 months ago

shadow as in block the events from propagating to the app.

mxaddict commented 4 months ago

Hmmm, maybe this is just an issue with gamescope then, might not be related to hyprland.

mxaddict commented 4 months ago

Closing for now