Skip to content

Can't use binds that execute wtype for simulating keystrokes within discord, vscode or electron apps in general #6647

@MRSS02

Description

@MRSS02

Regression?

Yes

System Info and Version

System/Version info
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: archlinux
Release: 6.9.0-1-mainline
Version: #1 SMP PREEMPT_DYNAMIC Thu, 20 Jun 2024 01:02:00 +0000


GPU information: 
08:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 24 [Radeon RX 6400/6500 XT/6500M] [1002:743f] (rev c7) (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/mparagames/.config/hypr/hyprland.conf: Read Succeeded
# plugins 
#plugin = /home/mparagames/hyprplugins/hyprbars.so 
#plugin = /usr/lib/libhycov.so

plugin {
    hyprbars {
        bar_color = rgba(00000066)
            bar_height = 0
            bar_text_size = 0
            bar_part_of_window = false
            extra_area = 12
            buttons {
                button_size = 0
            }
     }
    hycov {
        overview_gappo = 60 # gaps width from screen edge
            overview_gappi = 24 # gaps width from clients
            hotarea_size = 0 # hotarea size in bottom left,10x10
            enable_hotarea = 1 # enable mouse cursor hotarea     
            swipe_fingers = 4 # finger number of gesture,move any directory
            move_focus_distance = 100 # distance for movefocus,only can use 3 finger to move 
            enable_gesture = 0 # enable gesture
            disable_workspace_change = 0 # disable workspace change when in overview mode
            disable_spawn = 0 # disable bind exec when in overview mode
            auto_exit = 1 # enable auto exit when no client in overview
            auto_fullscreen = 0 # auto make active window maximize after exit overview
            only_active_workspace = 0 # only overview the active workspace
            only_active_monitor = 0 # only overview the active monitor
            enable_alt_release_exit = 1 # alt swith mode,see readme for detail
            alt_toggle_auto_next = 0 # auto focus next window when toggle overview in alt swith mode
            click_in_cursor = 1 # when click to jump,the target window is find by cursor, not the current foucus window.
 }

}

# Please note not all available settings / options are set here.
# For a full list, see the wiki

# rules 

windowrulev2 = stayfocused, class:^(steam_app.*)$
windowrulev2 = bordersize 0, class:^(steam_app.*)$ # set no border if it is a steam game
windowrulev2 = rounding 0, class:^(steam_app.*)$
windowrulev2 = float, class:(mpv)
windowrulev2 = maximize, class:(mpv)
windowrulev2 = fullscreen, class:(Waydroid)
windowrulev2 = bordercolor rgba(1155ffee) rgba(905affee) 45deg, fullscreen:1
windowrulev2 = forceinput, class:^(steam_app.*)$ 
windowrulev2 = windowdance,class:^(steam_app.*)$ 
windowrulev2 = idleinhibit always,class:^(steam_app.*)$ 
windowrulev2 = float,class:blueman
windowrulev2 = move 69% 5%,class: blueman
windowrulev2 = size 30% 45%,class: blueman
windowrulev2 = pin, class:blueman
windowrulev2 = float,class:nm-connection
windowrulev2 = pin, class: nm-connection
windowrulev2 = float,class:org.kde.polkit-kde-authentication-agent
windowrulev2 = pin,class:org.kde.polkit-kde-authentication-agent
windowrulev2 = float,class:^(org.kde.dolphin),title:^(Copying)(.*)
windowrulev2 = float,class:^(org.kde.dolphin),title:^(Compressing)(.*)
windowrulev2 = float,class:^(org.kde.dolphin),title:^(Moving)(.*)
windowrulev2 = float,class:^(org.kde.dolphin),title:^(Deleting)(.*)
windowrulev2 = move 69% 5%,class: nm-connection
windowrulev2 = size 30% 45%,class: nm-connection
windowrulev2 = pin,class: nm-connection
windowrulev2 = float,class:pavucontrol
windowrulev2 = pin, class:pavucontrol                                                                                                                                                                                                                                                                                                                                                                
windowrulev2 = move 69% 5%,class: pavucontrol
windowrulev2 = size 30% 45%,class: pavucontrol
#windowrulev2 = size 40% 30%,class: org.kde.konsole
#windowrulev2 = maxsize 30% 40%,class:org.kde.konsole
windowrulev2 = float,class:orage
windowrulev2 = move 35% 5%,class: orage
windowrulev2 = size 30% 200,class: orage
windowrulev2 = float, class:file-roller
windowrulev2 = size 30% 45%,class: file-roller
windowrulev2 = center, class: file-roller
windowrulev2 = float, class: transmission
windowrulev2 = pin, class: Rofi
windowrulev2 = float, class: Rofi
windowrulev2 = bordersize 0, class: Rofi

# windowrulev2 = noshadow, fullscreen:1
# windowrulev2 = rounding 0, fullscreen:1
# windowrulev2 = gapsout 0, fullscreen:1

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   layerrule = ignorezero, gtk-layer-shell
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   layerrule = ignorezero, waybar
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   layerrule = blur, swaync-notification-window
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   layerrule = ignorezero, swaync-notification-window
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   layerrule = blur, swaync-control-center
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   layerrule = ignorezero, swaync-control-center
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   layerrule=blur,gtk-layer-shell
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   layerrule=blur,waybar
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   layerrule = blur,rofi

# See https://wiki.hyprland.org/Configuring/Monitors/

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   monitor=,preferred,auto,1

# See https://wiki.hyprland.org/Configuring/Keywords/ for more

# Execute your favorite apps at launch

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   exec-once = waybar
# exec-once = wpaperd
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   exec-once = wlsunset -l -12.9704 -L -38.5124 -t 4500 -T 6600
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   exec-once = swaync
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   exec-once = hyprctl setcursor "LyraP-cursors" 24
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   exec-once = wl-clipboard-history -t   
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   exec-once = wl-paste --watch cliphist store 
# exec-once = nwg-dock-hyprland -p left -ml 10 -l top -hd 0 -d -ico "/home/mparagames/Pictures/SFW/Misc/Strawberry_gray.png" -c "rofi -show drun"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   exec-once = /usr/lib/polkit-kde-authentication-agent-1
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   exec-once = swww init && /home/mparagames/swww_randomize.sh "/home/mparagames/Pictures/SFW/Wallpapers" || /home/mparagames/swww_randomize.sh "/home/mparagames/Pictures/SFW/Wallpapers"  
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   exec-once  = nm-applet --indicator && disown
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   exec-once = sudo /home/mparagames/overclock.sh
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   exec-once = /bin/bash /home/mparagames/scripts/checkactive.sh 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   exec-once = /home/mparagames/scripts/autosuspend.sh
exec-once = env XDG_MENU_PREFIX=arch- kbuildsycoca6                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   


# Source a file (multi-file configs)
# source = ~/.config/hypr/myColors.conf

# Some default env vars.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   env = XCURSOR_SIZE,24

# For all categories, see https://wiki.hyprland.org/Configuring/Variables/
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   input {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       kb_layout = br, us
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           kb_variant =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           kb_model =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           kb_options =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           kb_rules =

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           follow_mouse = 1

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           touchpad {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               natural_scroll = no
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           accel_profile = adaptative
sensitivity = 0.4 # -1.0 - 1.0, 0 means no modification.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   }

general {
# See https://wiki.hyprland.org/Configuring/Variables/ for more

    gaps_in = 5
        gaps_out = 10
        border_size = 2
        col.active_border = rgba(33bbffee) rgba(ac80f4ee) 45deg
        col.inactive_border = rgba(595959aa)

        layout = dwindle
        resize_on_border = true
}

decoration {
# See https://wiki.hyprland.org/Configuring/Variables/ for more

    rounding = 10

        blur {
            enabled = true
                size = 2
                passes = 3
                brightness = 0.75
                popups = true
                popups_ignorealpha = 0.26
        }

    drop_shadow = yes
        shadow_offset = 0 0
        shadow_range = 20
        shadow_render_power = 3
        col.shadow = rgba(1a1a1add)
}

animations {
    enabled = yes

# Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more

        bezier = myBezier, 0.05, 0.8, 0.1, 1.05
        bezier = easeOut, 0.23, 1, 0.32, 1.05
        bezier = easeOutCubic, 0.215, 0.61, 0.355, 1.05
        bezier = easeIn, 0.42, 0, 1, 1.05 
        bezier = easeInOut, 0.42, 0, 0.58, 1.05
        bezier = linear, 1, 1, 1, 1

        animation = windows, 1, 1, myBezier, popin 100% 
        animation = windowsIn, 1, 3, easeOut, popin 0%
        animation = windowsOut, 1, 5, easeOut, popin 50%
        animation = windowsMove, 1, 7, myBezier
        animation = border, 1, 10, easeOut
        animation = borderangle, 1, 8, easeOut
        animation = fadeIn, 1, 2, easeIn
        animation = fadeOut, 1, 7, easeOut
        animation = workspaces, 1, 5, easeOutCubic
}

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
}

misc {

    focus_on_activate = true
        animate_manual_resizes=true

}

master {
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
    new_is_master = true
}

gestures {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
    workspace_swipe = off
}

# Example per-device config
# 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

#pass keybinds

bind = ,F1,pass,^(com\.obsproject\.Studio)$
bind = ,F3,pass,^(com\.obsproject\.Studio)$
bind = ,PAUSE,pass,^(discord)$


# See https://wiki.hyprland.org/Configuring/Keywords/ for more
$mainMod = SUPER

# bind = $mainMod,tab,hycov:toggleoverview
bind = R_CTRL, semicolon, exec, wtype /
bind = R_ALT, semicolon, exec, wtype /
bind = R_CTRL, period, exec, wtype '|'
bind = R_CTRL, comma, exec, wtype '\'
bind = , mouse:276, exec, wtype -M ctrl c -m ctrl
bind = , mouse:275, exec, wtype -M ctrl v -m ctrl

bind = $mainMod, R, exec, rofi -show drun
bind = $mainMod, W, exec, rofi -show window
bind = , PRINT, exec, bash ~/.config/hypr/screenshot.sh area
bind = R_CTRL, PRINT, exec, bash ~/.config/hypr/screenshot.sh output

# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
bind = $mainMod, T, exec, konsole
bind = $mainMod, D, exec, dolphin
bind = ALT, F4, killactive, 
     bind = $mainMod, E, exec, dolphin
     bind = $mainMod, V, togglefloating,
     bind = , mouse:274, 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
     bind = $mainMod, A, fullscreen, 1
     bind = $mainMod, F, fullscreen, 0
     bind = $mainMod, Tab, cyclenext,
     bind = $mainMod, Tab, bringactivetotop,

# 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

# Scroll through existing workspaces with alt + tal
     bind = ALT, Tab, 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



======Config-End========

Description

Binds like these do NOT work inside electron apps (like Discord, VSCode); but work fine on other applications.

image

Used to work in 0.36, but no longer works in 0.41. Haven't tested in any versions in between.

How to reproduce

  • Install wtype,

set at least one of those bins in hyprland.conf:

image

Try using it in an electron app, then try using it in a non electron app.

Crash reports, logs, images, videos

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions