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.79k stars 842 forks source link

The mouse goes beyond the borders without restriction #6274

Closed gfhdhytghd closed 2 months ago

gfhdhytghd commented 3 months ago

System Info and Version

Hyprland, built from branch main at commit ebf258788e46cd0320fb17138ba413f719180418 dirty (config: add tag dispacther and window rule (6211)).
Date: Wed May 29 05:37:24 2024
Tag: v0.40.0-143-gebf25878, commits: 4749

flags: (if any)

System Information:
System name: Linux
Node name: Arch
Release: 6.9.2-zen1-1-zen
Version: #1 ZEN SMP PREEMPT_DYNAMIC Sun, 26 May 2024 01:30:09 +0000

GPU information: 
00:02.0 VGA compatible controller [0300]: Intel Corporation Alder Lake-P GT2 [Iris Xe Graphics] [8086:46a6] (rev 0c) (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/wilf/.config/hypr/hyprland.conf: Read Succeeded

# Source a file (multi-file configs)
# source = ~/.config/hypr/myColors.conf
#Setup Monitors
source = ~/.config/HyprV/hypr/hyprland-monitors.conf
#Core system setting
source = ~/.config/HyprV/hypr/hyprland-main.conf
#startup stuff
source = ~/.config/HyprV/hypr/hyprland-exec-once.conf
#decoration and animation
source = ~/.config/HyprV/hypr/hyprland-visual-daily.conf
#Hot keys setting
source = ~/.config/HyprV/hypr/hyprland-bind.conf
#kitty,copilot......
source = ~/.config/HyprV/hypr/hyprland-dropitem.conf
#ALL windows rule
source = ~/.config/HyprV/hypr/hyprland-winrule.conf
#Pluhins and every thing about plugin
#source = ~/.config/HyprV/hypr/hyprland-plugins.conf

Config File: /home/wilf/.config/HyprV/hypr/hyprland-monitors.conf: Read Succeeded
# Setup monitors
# See https://wiki.hyprland.org/Configuring/Monitors/
monitor=eDP-1, 3120x2080@90, 2000x2128,2.0
monitor=DP-1, 3840x2560@60, 1244x82,1.25
monitor=DP-2, 1920x1080@60, 440x2128, 1
monitor=DP-3, 3840x2400@60, 80x1939,2
monitor=DP-4, 3840x2400@60, 800x1228, 2, transform,3
monitor=HEADLESS-1, 3168x2375@60, 3354x2128,2.238
#monitor=HEADLESS-2, 1584x1188@60, 3354x2128,1.142
monitor=HEADLESS-2, 3168x2375@60, 3354x2128,2.283
monitor=HEADLESS-3, 3168x2375@60, 3354x2128,2.283
exec-once = xrdb ~/.Xresources

Config File: /home/wilf/.config/HyprV/hypr/hyprland-main.conf: Read Succeeded

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

    follow_mouse = 1

    touchpad {
        natural_scroll = true
        drag_lock=false
        disable_while_typing = false
    }

    sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
}

misc {
    disable_hyprland_logo = yes
}

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
}

gestures {
    # See https://wiki.hyprland.org/Configuring/Variables/ for more
    workspace_swipe = on
    workspace_swipe_fingers = 4
    workspace_swipe_cancel_ratio = 0.3
}

# Example per-device config
# See https://wiki.hyprland.org/Configuring/Keywords/#executing for more

xwayland {
  force_zero_scaling = true
}

Config File: /home/wilf/.config/HyprV/hypr/hyprland-exec-once.conf: Read Succeeded
# Execute your favorite apps at launch
exec-once = ~/.config/hypr/xdg-portal-hyprland
exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
exec-once = waybar
exec-once = polkit-kde-agent
exec-once = mako
exec-once = fcitx5
exec-once = sleep 0.3&&swww init
exec-once = blueman-applet
exec-once = nm-applet --indicator
exec-once = ~/.config/HyprV/hyprv_util setbg
exec-once = uxplay
exec-once = hyprpm reload -n
exec-once = ydotoold
exec-once = fusuma
exec-once = XDG_MENU_PREFIX=arch- kbuildsycoca6

Config File: /home/wilf/.config/HyprV/hypr/hyprland-visual-daily.conf: Read Succeeded

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

    gaps_in = 5
    gaps_out = 9,10,10,10
    border_size = 2
    #col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
    col.active_border=rgb(cdd6f4)
    col.inactive_border = rgba(595959aa)

    layout = dwindle
}

misc {
    disable_hyprland_logo = yes
}

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

    rounding = 8

    blur {
        enabled = true
        size = 7
        passes = 4
        new_optimizations = true
    }

    blurls = lockscreen

    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.10, 0.9, 0.1, 1.05

    animation = windows, 1, 7, myBezier, slide
    animation = windowsOut, 1, 7, myBezier, slide
    animation = border, 1, 10, default
    animation = fade, 1, 7, default
    animation = workspaces, 1, 6, default
}

Config File: /home/wilf/.config/HyprV/hypr/hyprland-bind.conf: Read Succeeded
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
$mainMod = SUPER

# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
bind = $mainMod, Q, exec, kitty -o allow_remote_control=yes -o enabled_layouts=tall  #open the terminal
bind = $mainMod, W, killactive, # close the active window
bind = $mainMod, L, exec, swaylock # Lock the screen
bind = $mainMod, M, exec, wlogout --protocol layer-shell -b 5# show the logout window
bind = $mainMod, F, exec, code-oss
bind = $mainMod SHIFT, M, exit, # Exit Hyprland all together no (force quit Hyprland)
bind = $mainMod, E, exec, dolphin # Show the graphical file browser
bind = $mainMod, V, togglefloating, # Allow a window to float
bind = ALT, SPACE, exec, wofi # Show the graphical app launcher
bind = $mainMod, P, pseudo, # dwindle
bind = $mainMod, J, togglesplit, # dwindle
bind = $mainMod, O, fullscreen,1
bind = $mainMod SHIFT, O, fullscreen
bind = $mainMod, D, workspace,100
bind = $mainMod, S, exec, grim -t jpeg -q 100 -g "$(slurp)" - | swappy -f - # take a screenshot
bind = $mainMod, I, exec, vivaldi-stable --ignore-gpu-blocklist --enable-zero-copy --disable-gpu-driver-bug-workarounds --ozone-platform-hint=auto --ozone-platform=wayland --enable-features=TouchpadOverscrollHistoryNavigation --enable-wayland-ime --enable-features=VaapiVideoDecoder
bind = $mainMod, B, exec, toggle btconf 'ln -sf /home/wilf/.config/HyprV/hypr/hyprland-battery.conf /home/wilf/.config/hypr/hyprland.conf' 'ln -sf /home/wilf/.config/HyprV/hypr/hyprland-daily.conf /home/wilf/.config/hypr/hyprland.conf' && toggle btbarstyle 'ln -sf /home/wilf/.config/HyprV/waybar/style/bt-style.css /home/wilf/.config/waybar/style.css' 'ln -sf /home/wilf/.config/HyprV/waybar/style/v2-style.css /home/wilf/.config/waybar/style.css' && toggle btbarconf 'ln -sf /home/wilf/.config/HyprV/waybar/conf/bt-config.jsonc /home/wilf/.config/waybar/config.jsonc' 'ln -sf /home/wilf/.config/HyprV/waybar/conf/v2-config.jsonc /home/wilf/.config/waybar/config.jsonc' && pkill waybar && waybar
bind = $mainMod, T, exec, toggle rotatescreen 'ln -sf /home/wilf/.config/HyprV/hypr/hyprland-monitors-1.conf /home/wilf/.config/HyprV/hypr/hyprland-monitors.conf' 'ln -sf /home/wilf/.config/HyprV/hypr/hyprland-monitors-2.conf /home/wilf/.config/HyprV/hypr/hyprland-monitors.conf' && sleep 1 && ~/.config/HyprV/hyprv_util setbg
bind = $mainMod, R, exec,sudo v2raya & notify-send "v2ray starting..."
bind = $mainMod SHIFT, R, exec, sudo pkill v2raya&&sudo pkill v2ray && notify-send 'v2raya stopped'
bind = $mainMod SHIFT, S, exec, hyprpicker -a

# 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

# 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, 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 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 SHIFT, mouse:272, resizewindow
#mediakey-binding
source = ~/.config/hypr/media-binds.conf
#rog stuff
source = ~/.config/hypr/rog-g15-strix-2021-binds.conf

Config File: /home/wilf/.config/hypr/media-binds.conf: Read Succeeded
$SCRIPT = ~/.config/HyprV/waybar/scripts

bind = , xf86audioraisevolume, exec, $SCRIPT/volume --inc 
bind = , xf86audiolowervolume, exec, $SCRIPT/volume --dec 
bind = , xf86AudioMicMute, exec, $SCRIPT/volume --toggle-mic 
bind = , xf86audioMute, exec, $SCRIPT/volume --toggle 
bind = , XF86AudioPlay,exec, playerctl play-pause && notify-send 'Play-Pause'  
bind = , XF86AudioPause,exec, playerctl play-pause && notify-send 'Play-Pause'  
bind = SHIFT, XF86AudioPlay,exec, playerctl next
bind = CTRL, XF86AudioPlay,exec, playerctl previous
bind = , XF86AudioNext,exec, playerctl next
bind = , XF86AudioPrev,exec, playerctl previous

bind = SUPER,XF86MonBrightnessDown, exec, $SCRIPT/kb-brightness --dec 
bind = SUPER,XF86MonBrightnessUp, exec, $SCRIPT/kb-brightness --inc 

bind = ,XF86MonBrightnessDown, exec, $SCRIPT/brightness --dec 
bind = ,XF86MonBrightnessUp, exec, $SCRIPT/brightness --inc 

Config File: /home/wilf/.config/hypr/rog-g15-strix-2021-binds.conf: Read Succeeded
# ROG G15 Strix (2021) Specific binds
bind = ,156, exec, rog-control-center # ASUS Armory crate key
bind = ,211, exec, asusctl profile -n; pkill -SIGRTMIN+8 waybar # Fan Profile key switch between power profiles
bind = ,210, exec, asusctl led-mode -n # Switch keyboard RGB profile FN+F4

Config File: /home/wilf/.config/HyprV/hypr/hyprland-dropitem.conf: Read Succeeded
#kitty drop down
$dropterm=kitty-dropdown

windowrule=float,$dropterm
windowrule=size 75% 20%,$dropterm
windowrule=move 12.5% 59,$dropterm
#bind=,F12,exec,$HOME/.config/hypr/scripts/dropdown.sh
#chat drop down

exec-once= touch /tmp/chattoggle
bind = $mainMod, SPACE, exec, bash $HOME/.config/hypr/scripts/sidechat.sh
windowrule=float,chrome-chat.openai.com__-Default
windowrule=size 25% 93.2%,chrome-chat.openai.com__-Default
windowrule=move 74.28% 5.63%,chrome-chat.openai.com__-Default

#Calender dropdown
bind= $mainMod,C, exec, ~/.config/HyprV/hypr/scripts/dropcalender.sh
windowrule=float,chrome-calendar.google.com__calendar_u_0_r-Default
windowrule=size 59.2% 60%,chrome-calendar.google.com__calendar_u_0_r-Default
windowrule=move 40% 59,chrome-calendar.google.com__calendar_u_0_r-Default

Config File: /home/wilf/.config/HyprV/hypr/hyprland-winrule.conf: Read Succeeded
# Example windowrule v1
#windowrule = float, ^(kitty)$
windowrule = float,^(pavucontrol)$
windowrule = float,^(blueman-manager)$
windowrule = float,^(nm-connection-editor)$
windowrule = float,^(chromium)$
#windowrule = float,^(thunar)$
windowrule = float, title:^(btop)$
windowrule = float, title:^(update-sys)$

# Example windowrule v2
# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
# rules below would make the specific app transparent
windowrulev2 = animation popin,class:^(kitty)$,title:^(update-sys)$
windowrulev2 = animation popin,class:^(thunar)$
windowrulev2 = move cursor -3% -105%,class:^(wofi)$
windowrulev2 = noanim,class:^(wofi)$

windowrulev2 = opacity 0.0 override 0.0 override,class:^(xwaylandvideobridge)$
windowrulev2 = noanim,class:^(xwaylandvideobridge)$
windowrulev2 = nofocus,class:^(xwaylandvideobridge)$
windowrulev2 = noinitialfocus,class:^(xwaylandvideobridge)$

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

Bug or Regression?

Bug

Description

I usually place my second fastest monitor on the left side of the screen, but I noticed that even with that screen removed, I can still move my mouse over that edge and reach the border of the original second fastest monitor.

This is a screenshot created using " grim -t jpeg -q 80 -g "$(slurp)" - | swappy -f -". I started at the bottom right corner of the screen and dragged as far as possible to the top left corner. image

How to reproduce

connect to dual screen and deconnect one.

Crash reports, logs, images, videos

No response

MightyPlaza commented 2 months ago

please post hyprctl monitors

gfhdhytghd commented 2 months ago

~ » hyprctl monitors wilf@Arch Monitor eDP-1 (ID 0): 3120x2080@90.00100 at 2000x2128 description: California Institute of Technology 0x1415 0x4E433030 make: California Institute of Technology model: 0x1415 serial: 0x4E433030 active workspace: 1 (1) special workspace: 0 () reserved: 0 47 0 0 scale: 2.00 transform: 0 focused: yes dpmsStatus: 1 vrr: 0 activelyTearing: false disabled: false currentFormat: XRGB8888 availableModes: 3120x2080@90.00Hz 3120x2080@60.00Hz 3120x2080@48.00Hz

gfhdhytghd commented 2 months ago

I have rearranged my monitors, however the problems are still there image

`# Setup monitors

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

monitor=eDP-1, 3120x2080@90, 2000x2128,2.0 monitor=DP-1, 3840x2560@60, 1244x80,1.250000 monitor=DP-2, 1920x1080@60, 440x2128, 1 monitor=DP-3, 3840x2400@60, 1820x928,2 monitor=DP-4, 3840x2400@60, 800x1228, 2, transform,3 monitor=HEADLESS-1, 3168x2375@60, 3354x2128,2.238

monitor=HEADLESS-2, 1584x1188@60, 3354x2128,1.142

monitor=HEADLESS-2, 3168x2375@60, 3354x2128,2.283 monitor=HEADLESS-3, 3168x2375@60, 3354x2128,2.283 exec-once = xrdb ~/.Xresources `

MightyPlaza commented 2 months ago

possibly related to https://github.com/hyprwm/Hyprland/issues/6740 and https://github.com/hyprwm/Hyprland/issues/6700

MightyPlaza commented 2 months ago

@vaxerski this one too