Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Clicking on tab bars results in mouse click being sent through to window on next workspace #130

Open
g-regex opened this issue Jul 4, 2024 · 1 comment

Comments

@g-regex
Copy link

g-regex commented Jul 4, 2024

Hi! I'm using hyprland 0.41.2 with the corresponding version of hy3 and have the following issue:

When clicking on a tab bar on one workspace, the click is sent to the active window on the next workspace.

For example, if workspace 1 looks like this ...
20240714_12h56m40s_grim

... and workspace 2 looks like this ...
20240714_12h56m44s_grim

... then, clicking on the left tab bar on workspace 1 results in the click being sent to the window on workspace 2, which in this case opens a menu:
20240714_12h56m48s_grim

The tab is switched as expected though.

Here is my hyprland.conf:

monitor=,preferred,auto,auto

plugin = $HOME/.local/share/hyprpm/hy3/hy3.so

env = XCURSOR_SIZE,24

plugin {
    hy3 {
        no_gaps_when_only = true

        tabs {
              height = 5
              padding = 8
              render_text = false
        }

        autotile {
            enable = true
            trigger_width = 800
            trigger_height = 500
        }
    }
}

input {
    kb_layout = us,ch
    kb_options = grp:shift_caps_toggle

    follow_mouse = 0

    touchpad {
        natural_scroll = no
        clickfinger_behavior = yes
        tap-and-drag = true
    }

    sensitivity = 0

    float_switch_override_focus = 0
}

group {
    groupbar {
        gradients = false
        col.active = rgba(33ccffee) rgba(00ff99ee) 45deg
        col.inactive = rgba(595959aa)
    }
    col.border_active = rgba(33ccffee) rgba(00ff99ee) 45deg
    col.border_inactive = rgba(595959aa)
}

general {

    gaps_in = 5
    gaps_out = 20
    border_size = 2
    col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
    col.inactive_border = rgba(595959aa)

    layout = hy3

    allow_tearing = false
}

decoration {
    rounding = 10

    blur {
        enabled = no
        size = 3
        passes = 1
    }

    drop_shadow = no
    shadow_range = 4
    shadow_render_power = 3
    col.shadow = rgba(1a1a1aee)

	dim_around = 0.7
}

animations {
    enabled = yes
    bezier = myBezier, 0.05, 0.9, 0.1, 1.05
    animation = windows, 1, 7, myBezier
    animation = windowsOut, 1, 7, default, popin 80%
    animation = border, 1, 10, default
    animation = borderangle, 1, 8, default
    animation = fade, 1, 7, default
    animation = workspaces, 1, 6, default
}

dwindle {
    pseudotile = yes
    preserve_split = yes
}

gestures {
    workspace_swipe = true
    workspace_swipe_fingers = 3
    workspace_swipe_forever = true
    workspace_swipe_cancel_ratio = 0.15
}

misc {
    force_default_wallpaper = 0
	disable_hyprland_logo = true
	enable_swallow = false
	swallow_regex = ^(URxvt)$
	layers_hog_keyboard_focus = true
}

$mainMod = SUPER

bind = $mainMod, RETURN, exec, urxvt
bind = $mainMod, C, killactive,
bind = $mainMod+SHIFT, space, togglefloating,
bind = $mainMod, D, exec, bemenu-run -b -f -p ">"
bind = $mainMod+SHIFT, F, fakefullscreen
bind = $mainMod, F, fullscreen
bind = $mainMod, S, pin

bind = $mainMod SHIFT CTRL, H, movegroupwindow, b
bind = $mainMod SHIFT CTRL, L, movegroupwindow, f

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
bind = $mainMod ALT, 1, workspace, 11

bind = $mainMod, mouse_down, workspace, e+1
bind = $mainMod, mouse_up, workspace, e-1

bind = $mainMod+ALT, f, exec, hyprctl keyword input:follow_mouse 1
bind = $mainMod+ALT+SHIFT, f, exec, hyprctl keyword input:follow_mouse 0

bindm = $mainMod, mouse:272, movewindow
bindm = $mainMod, mouse:273, resizewindow

# hy3 bindings

bindn = , mouse:272, hy3:focustab, mouse
bindn = , mouse_down, hy3:focustab, l, require_hovered
bindn = , mouse_up, hy3:focustab, r, require_hovered

bind = $mainMod, e, hy3:changegroup, opposite
bind = $mainMod, r, hy3:expand, expand
bind = $mainMod+SHIFT, r, hy3:expand, base
bind = $mainMod, a, hy3:changefocus, raise
bind = $mainMod+SHIFT, a, hy3:changefocus, lower

bind = $mainMod SHIFT, 1, hy3:movetoworkspace, 1
bind = $mainMod SHIFT, 2, hy3:movetoworkspace, 2
bind = $mainMod SHIFT, 3, hy3:movetoworkspace, 3
bind = $mainMod SHIFT, 4, hy3:movetoworkspace, 4
bind = $mainMod SHIFT, 5, hy3:movetoworkspace, 5
bind = $mainMod SHIFT, 6, hy3:movetoworkspace, 6
bind = $mainMod SHIFT, 7, hy3:movetoworkspace, 7
bind = $mainMod SHIFT, 8, hy3:movetoworkspace, 8
bind = $mainMod SHIFT, 9, hy3:movetoworkspace, 9
bind = $mainMod SHIFT, 0, hy3:movetoworkspace, 10
bind = $mainMod ALT SHIFT, 1, hy3:movetoworkspace, 11

bind = $mainMod, g, hy3:makegroup, v, ephemeral
bind = $mainMod, w, hy3:changegroup, toggletab
bind = $mainMod+SHIFT, q, hy3:killactive

bind = $mainMod, h, hy3:movefocus, l
bind = $mainMod, l, hy3:movefocus, r
bind = $mainMod, k, hy3:movefocus, u
bind = $mainMod, j, hy3:movefocus, d

bind = $mainMod+CONTROL, h, hy3:movefocus, l, visible
bind = $mainMod+CONTROL, j, hy3:movefocus, d, visible
bind = $mainMod+CONTROL, k, hy3:movefocus, u, visible
bind = $mainMod+CONTROL, l, hy3:movefocus, r, visible

bind = $mainMod+CONTROL+SHIFT, h, hy3:movewindow, l, once, visible
bind = $mainMod+CONTROL+SHIFT, j, hy3:movewindow, d, once, visible
bind = $mainMod+CONTROL+SHIFT, k, hy3:movewindow, u, once, visible
bind = $mainMod+CONTROL+SHIFT, l, hy3:movewindow, r, once, visible

bind = $mainMod+CONTROL, 1, hy3:focustab, index, 01
bind = $mainMod+CONTROL, 2, hy3:focustab, index, 02
bind = $mainMod+CONTROL, 3, hy3:focustab, index, 03
bind = $mainMod+CONTROL, 4, hy3:focustab, index, 04
bind = $mainMod+CONTROL, 5, hy3:focustab, index, 05
bind = $mainMod+CONTROL, 6, hy3:focustab, index, 06
bind = $mainMod+CONTROL, 7, hy3:focustab, index, 07
bind = $mainMod+CONTROL, 8, hy3:focustab, index, 08
bind = $mainMod+CONTROL, 9, hy3:focustab, index, 09
bind = $mainMod+CONTROL, 0, hy3:focustab, index, 10

bind = $mainMod, t, hy3:changegroup, toggletab
bind = $mainMod+SHIFT, t, hy3:setephemeral, false

bind = $mainMod+SHIFT, h, hy3:movewindow, l, once
bind = $mainMod+SHIFT, j, hy3:movewindow, d, once
bind = $mainMod+SHIFT, k, hy3:movewindow, u, once
bind = $mainMod+SHIFT, l, hy3:movewindow, r, once

source = $HOME/.config/hypr/bind.conf

source = $HOME/.config/hypr/windowrules.conf

source = $HOME/.config/hypr/exec-once.conf

I installed the plugin via hyprpm, the wayland version is 1.22.0.

Let me know, if you need any further information. Thanks for looking into this :)

@g-regex
Copy link
Author

g-regex commented Aug 11, 2024

UPDATE: I have just updated to the now most recent version of Hyprland, namely 0.42.0, but the problem persists.

I also did some further investigation and it seems that the "clicking-through" behaviour only affects Qt GUIs, e.g. Okular, KeepassXC, etc..

Besides that, it is not always the application on the next workspace that receives the click (as I stated earlier), but it is rather the application on the most recently active workspace. E.g. if I have a Qt application open on workspace 10 and I switch directly to workspace 3, then no matter what is on the workspaces in between, clicks on the tab bars on workspace 3 will be sent through to the Qt application on workspace 10.

With this additional information, is anybody able to reproduce this behaviour?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant