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.53k stars 900 forks source link

Duplicate cursors accross monitors #7767

Closed Bug23451 closed 2 weeks ago

Bug23451 commented 1 month ago

Already reported ? *

Regression?

No

### System Info and Version Hyprland, built from branch at commit 0f594732b063a90d44df8c5d402d658f27471dfe (props: bump version to 0.43.0). Date: Sun Sep 8 16:48:21 2024 Tag: v0.43.0, commits: 5196 flags: (if any) System Information: System name: Linux Node name: Bug23451 Release: 6.10.10-1-cachyos-sched-ext Version: #1 SMP PREEMPT_DYNAMIC Thu, 12 Sep 2024 11:11:09 +0000 GPU information: 03:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 23 [Radeon RX 6600/6600 XT/6600M] [1002:73ff] (rev c1) (prog-if 00 [VGA controller]) 1a:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Raphael [1002:164e] (rev c3) (prog-if 00 [VGA controller]) os-release: NAME="CachyOS Linux" PRETTY_NAME="CachyOS" ID=cachyos ID_LIKE=arch BUILD_ID=rolling ANSI_COLOR="38;2;23;147;209" HOME_URL="https://cachyos.org/" DOCUMENTATION_URL="https://wiki.cachyos.org/" SUPPORT_URL="https://forum.cachyos.org/" BUG_REPORT_URL="https://github.com/cachyos" PRIVACY_POLICY_URL="https://terms.archlinux.org/docs/privacy-policy/" LOGO=cachyos plugins: ======Config-Start====== Config File: /home/bug23451/.config/hypr/hyprland.conf: Read Succeeded # # Please note not all available settings / options are set here. # For a full list, see the wiki # env = WLR_DRM_DEVICES,/dev/dri/card1:/dev/dri/card0 monitor=DP-2, 1920x1080@60, 0x840,1,vrr,1 monitor=HDMI-A-1, 1920x1080@60, 1920x0, 1, transform,1 monitor=DP-3, 2560x1440@240, 3000x480, 1, bitdepth, 10, vrr, 1 #monitor=,preferred,auto,auto # Slow app launch fix exec-once = systemctl --user import-environment & exec-once = hash dbus-update-activation-environment 2>/dev/null & exec-once = dbus-update-activation-environment --systemd & exec-once = xdg-desktop-portal-hyprland & exec-once = swww-daemon exec-once = swww img ~/.config/hypr/Pictures/Arcane.png exec-once = systemctl --user enable opentabletdriver.service --now # ## Idle configuration # #exec-once = hypridle #exec-once = swayidle -w timeout 300 'swaylock -f -c 000000' before-sleep 'swaylock -f -c 000000' # Source a file (multi-file configs) # source = ~/.config/hypr/myColors.conf #x # ## Input configuration # input { kb_layout = us kb_variant = kb_model = #kb_options = grp:caps_toggle,grp_led:caps,altwin:swap_alt_win,ctrl:rctrl_ralt kb_options = kb_rules = numlock_by_default = true follow_mouse = 1 # 0|1|2|3 float_switch_override_focus = 2 force_no_accel = true accel_profile = flat touchpad { natural_scroll = no } sensitivity = 0 # -1.0 - 1.0, 0 means no modification. } general { gaps_in = 3 gaps_out = 5 border_size = 3 col.active_border = rgba(ff5e81ac) #col.inactive_border = rgba(66333333) col.inactive_border = rgba(595959aa) layout = dwindle # master|dwindle } cursor { default_monitor = DP-3 } render { direct_scanout = true } decoration { active_opacity = 1.0 inactive_opacity = 0.95 fullscreen_opacity = 1.0 rounding = 4 blur { enabled = true size = 15 passes = 2 # more passes = more resource intensive. new_optimizations = true xray = true ignore_opacity = false } drop_shadow = false shadow_range = 4 shadow_render_power = 3 shadow_ignore_window = true dim_inactive = true dim_strength = 0.1 col.shadow = rgba(1a1a1aee) } # Blur for waybar #blurls = waybar animations { enabled = yes # Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more #bezier = myBezier, 0.05, 0.9, 0.1, 1.05 bezier = overshot, 0.13, 0.99, 0.29, 1.1 animation = windows, 1, 4, overshot, slide animation = windowsOut, 1, 5, default, popin 80% animation = border, 1, 5, default animation = fade, 1, 8, default animation = workspaces, 1, 6, overshot, slide #animation = windows, 1, 7, myBezier #animation = windowsOut, 1, 7, default, popin 80% #animation = fade, 1, 7, default #animation = border, 1, 10, default #animation = workspaces, 1, 6, default } # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more dwindle { no_gaps_when_only = false force_split = 0 special_scale_factor = 0.8 split_width_multiplier = 1.0 use_active_for_splits = true pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below preserve_split = yes } # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more master { no_gaps_when_only = false # new_is_master = true new_status = master orientation = left special_scale_factor = 0.8 } misc { #disable_autoreload = true disable_hyprland_logo = true always_follow_on_dnd = true layers_hog_keyboard_focus = true animate_manual_resizes = false enable_swallow = true swallow_regex = focus_on_activate = true vfr = 1 mouse_move_focuses_monitor = true disable_splash_rendering = true key_press_enables_dpms = true mouse_move_enables_dpms = true new_window_takes_over_fullscreen = 2 } gestures { workspace_swipe = true workspace_swipe_fingers = 4 workspace_swipe_distance = 250 workspace_swipe_invert = true workspace_swipe_min_speed_to_force = 15 workspace_swipe_cancel_ratio = 0.5 workspace_swipe_create_new = false } device { name = epic-mouse-v1 sensitivity = -0.5 } # 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, alacritty bind = $mainMod, A, exec, grim -g "$(slurp)" - | swappy -f - bind = $mainMod, C, killactive, bind = $mainMod SHIFT, M, exit, bind = $mainMod, V, togglefloating, #bind = $mainMod, R, exec, rofi -show combi -modi window,run,emoji,combi -combi-modi window,run,emoji bind = $mainMod, R, exec, wofi bind = $mainMod, F, fullscreen bind = $mainMod, Y, pin #bind = $mainMod, P, pseudo, # dwindle bind = $mainMod, J, togglesplit, # dwindle bind = $mainMod, E, exec, pcmanfm-qt bind = $mainMod, M, exec, hyprctl dispatch exit bind = $mainMod, B, exec, firefox bind= $mainMod, D, exec, dev.vencord.Vesktop bind = $mainMod, K, exec, modrinth-app bind = $mainMod, G, togglegroup, bind = $mainMod, Tab, changegroupactive, f #bind = $mainMod SHIFT, G,exec,hyprctl --batch "keyword general:gaps_out 5;keyword general:gaps_in 3" #bind = $mainMod , G,exec,hyprctl --batch "keyword general:gaps_out 0;keyword general:gaps_in 0" # Volume control bind=,XF86AudioLowerVolume,exec,pamixer -ud 3 && pamixer --get-volume > /tmp/$HYPRLAND_INSTANCE_SIGNATURE.wob bind=,XF86AudioRaiseVolume,exec,pamixer -ui 3 && pamixer --get-volume > /tmp/$HYPRLAND_INSTANCE_SIGNATURE.wob # mute sound bind=,XF86AudioMute,exec,amixer sset Master toggle | sed -En '/\[on\]/ s/.*\[([0-9]+)%\].*/\1/ p; /\[off\]/ s/.*/0/p' | head -1 > /tmp/$HYPRLAND_INSTANCE_SIGNATURE.wob # Playback control bind=,XF86AudioPlay,exec, playerctl play-pause bind=,XF86AudioNext,exec, playerctl next bind=,XF86AudioPrev,exec, playerctl previous # Screen brightness bind = , XF86MonBrightnessUp, exec, brightnessctl s +5% bind = , XF86MonBrightnessDown, exec, brightnessctl s 5%- #bind = $mainMod SHIFT, P, exec, gnome-calculator #bind = $mainMod, L, exec, swaylock-fancy -e -K -p 10 -f Hack-Regular bind = $mainMod, L, exec, hyprlock #bind = $mainMod, P, exec, ~/.scripts/dmshot #bind = $mainMod, O, exec, killall -SIGUSR2 waybar # 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 bind = $mainMod, period, workspace, e+1 bind = $mainMod, comma, workspace,e-1 bind = $mainMod, minus, movetoworkspace,special bind = $mainMod, equal, togglespecialworkspace bind = $mainMod SHIFT,left ,movewindow, l bind = $mainMod SHIFT,right ,movewindow, r bind = $mainMod SHIFT,up ,movewindow, u bind = $mainMod SHIFT,down ,movewindow, d # Move active window to a workspace with mainMod + CTRL + [0-9] #bind = $mainMod CTRL, 1, movetoworkspace, 1 #bind = $mainMod CTRL, 2, movetoworkspace, 2 #bind = $mainMod CTRL, 3, movetoworkspace, 3 #bind = $mainMod CTRL, 4, movetoworkspace, 4 #bind = $mainMod CTRL, 5, movetoworkspace, 5 #bind = $mainMod CTRL, 6, movetoworkspace, 6 #bind = $mainMod CTRL, 7, movetoworkspace, 7 #bind = $mainMod CTRL, 8, movetoworkspace, 8 #bind = $mainMod CTRL, 9, movetoworkspace, 9 #bind = $mainMod CTRL, 0, movetoworkspace, 10 #bind = $mainMod CTRL, left, movetoworkspace, -1 #bind = $mainMod CTRL, right, movetoworkspace, +1 # same as above, but doesnt switch to the workspace 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 binds { workspace_back_and_forth = 1 allow_workspace_cycles = 1 } bind = $mainMod,slash,workspace,previous #bind = $mainMod,R,submap,resize #submap = resize #binde =,right,resizeactive,15 0 #binde =,left,resizeactive,-15 0 #binde =,up,resizeactive,0 -15 #binde =,down,resizeactive,0 15 #binde =,l,resizeactive,15 0 #binde =,h,resizeactive,-15 0 #binde =,k,resizeactive,0 -15 #binde =,j,resizeactive,0 15 #bind =,escape,submap,reset #submap = reset #bind=CTRL SHIFT, left, resizeactive,-15 0 #bind=CTRL SHIFT, right, resizeactive,15 0 #bind=CTRL SHIFT, up, resizeactive,0 -15 #bind=CTRL SHIFT, down, resizeactive,0 15 #bind=CTRL SHIFT, l, resizeactive, 15 0 #bind=CTRL SHIFT, h, resizeactive,-15 0 #bind=CTRL SHIFT, k, resizeactive, 0 -15 #bind=CTRL SHIFT, j, resizeactive, 0 15 # Move/resize windows with mainMod + LMB/RMB and dragging bindm = $mainMod, mouse:272, movewindow bindm = $mainMod, mouse:273, resizewindow #exec-once = alacritty #exec-once = telegram-desktop #exec-once = armcord #exec-once = swaybg -o \* -i /usr/share/wallpapers/cachyos-wallpapers/Liquid.png -m fill #------------# # auto start # #------------# exec-once = waybar -c .config/waybar/config-hypr & exec-once = fcitx5 -d & exec-once = mako & exec-once = nm-applet --indicator & exec-once = bash -c "mkfifo /tmp/$HYPRLAND_INSTANCE_SIGNATURE.wob && tail -f /tmp/$HYPRLAND_INSTANCE_SIGNATURE.wob | wob & disown" & exec-once = /usr/lib/polkit-kde-authentication-agent-1 & # Float Necessary Windows windowrule=float,Rofi windowrule=float,pavucontrol windowrulev2 = float,class:^()$,title:^(Picture in picture)$ windowrulev2 = float,class:^(brave)$,title:^(Save File)$ windowrulev2 = float,class:^(brave)$,title:^(Open File)$ windowrulev2 = float,class:^(LibreWolf)$,title:^(Picture-in-Picture)$ windowrulev2 = float,class:^(blueman-manager)$ windowrulev2 = float,class:^(xdg-desktop-portal-gtk)$ windowrulev2 = float,class:^(xdg-desktop-portal-kde)$ windowrulev2 = float,class:^(xdg-desktop-portal-hyprland)$ windowrulev2 = float,class:^(org.kde.polkit-kde-authentication-agent-1)$ windowrulev2 = float,class:^(CachyOSHello)$ windowrulev2 = float,class:^(zenity)$ windowrulev2 = float,class:^()$,title:^(Steam - Self Updater)$ # Increase the opacity windowrule=opacity 0.92,Thunar windowrule=opacity 0.92,Nautilus windowrule=opacity 0.96,discord windowrule=opacity 0.96,armcord windowrule=opacity 0.96,webcord #---------------# # windows rules # #---------------# #`hyprctl clients` get class、title... windowrule=float,title:^(Picture-in-Picture)$ windowrule=size 960 540,title:^(Picture-in-Picture)$ windowrule=move 25%-,title:^(Picture-in-Picture)$ windowrule=float,imv windowrule=move 25%-,imv windowrule=size 960 540,imv windowrule=float,mpv windowrule=move 25%-,mpv windowrule=size 960 540,mpv windowrule=float,danmufloat windowrule=move 25%-,danmufloat windowrule=pin,danmufloat windowrule=rounding 5,danmufloat windowrule=size 960 540,danmufloat windowrule=float,termfloat windowrule=move 25%-,termfloat windowrule=size 960 540,termfloat windowrule=rounding 5,termfloat windowrule=float,nemo windowrule=move 25%-,nemo windowrule=size 960 540,nemo windowrule=opacity 0.95,title:Telegram windowrule=opacity 0.95,title:QQ windowrule=opacity 0.95,title:NetEase Cloud Music Gtk4 windowrule=animation slide right,kitty windowrule=animation slide right,alacritty windowrule=float,ncmpcpp windowrule=move 25%-,ncmpcpp windowrule=size 960 540,ncmpcpp windowrule=noblur,^(firefox)$ windowrule=noblur,^(waybar)$ ======Config-End========

Description

Cursor is on all monitors but functions as if there is only one. The middle, vertical monitor has an invisible mouse across the right edge of the display. Seems to be a graphical bug only.

Occurred after an update. System was something like 3 months out of date and after a system update this bug started.

How to reproduce

???

Crash reports, logs, images, videos

https://github.com/user-attachments/assets/a1a34dbb-b295-4446-84c0-8f83000220a1

vaxerski commented 1 month ago

what the fuc

JaredKIso commented 1 month ago

This has actually been around since 0.42.0 as well at #7412 .

To just work around the issue for now I just downgraded to 0.41.2.-3 and locked my hyprland in pacman.conf.

Looks to still be being troubleshooted (sorta)

I actually just noticed @vaxerski is already aware of the other ticket as well :rofl: woops Hello there lol

vaxerski commented 1 month ago

ye but here the cursor actually stays... odd.

Bug23451 commented 2 weeks ago

As of the latest update the cursor no longer duplicates but I still have the "invisible" cursor on my vertical display.

Hyprland, built from branch at commit 4520b30d498daca8079365bdb909a8dea38e8d55 (version: bump to 0.44.1). Date: Wed Oct 9 12:54:39 2024 Tag: v0.44.1, commits: 5309 built against aquamarine 0.4.2 flags: (if any) System Information: System name: Linux Node name: Bug23451 Release: 6.11.4-1-cachyos-sched-ext Version: #1 SMP PREEMPT_DYNAMIC Thu, 17 Oct 2024 17:25:52 +0000 GPU information: 03:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 23 [Radeon RX 6600/6600 XT/6600M] [1002:73ff] (rev c1) (prog-if 00 [VGA controller]) 1a:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Raphael [1002:164e] (rev c3) (prog-if 00 [VGA controller]) os-release: NAME="CachyOS Linux" PRETTY_NAME="CachyOS" ID=cachyos ID_LIKE=arch BUILD_ID=rolling ANSI_COLOR="38;2;23;147;209" HOME_URL="https://cachyos.org/" DOCUMENTATION_URL="https://wiki.cachyos.org/" SUPPORT_URL="https://forum.cachyos.org/" BUG_REPORT_URL="https://github.com/cachyos" PRIVACY_POLICY_URL="https://terms.archlinux.org/docs/privacy-policy/" LOGO=cachyos plugins: ======Config-Start====== Config File: /home/bug23451/.config/hypr/hyprland.conf: Read Succeeded # # Please note not all available settings / options are set here. # For a full list, see the wiki # env = WLR_DRM_DEVICES,/dev/dri/card1:/dev/dri/card0 monitor=DP-2, 1920x1080@60, 0x840,1,vrr, 0 monitor=HDMI-A-1, 1920x1080@60, 1920x0, 1, transform,1 monitor=DP-3, 2560x1440@240, 3000x480, 1, bitdepth, 10, vrr, 1 #monitor=,preferred,auto,auto # Slow app launch fix exec-once = systemctl --user import-environment & exec-once = hash dbus-update-activation-environment 2>/dev/null & exec-once = dbus-update-activation-environment --systemd & exec-once = xdg-desktop-portal-hyprland & exec-once = swww-daemon exec-once = swww img ~/.config/hypr/Pictures/Arcane.png exec-once = systemctl --user enable opentabletdriver.service --now # ## Idle configuration # #exec-once = hypridle #exec-once = swayidle -w timeout 300 'swaylock -f -c 000000' before-sleep 'swaylock -f -c 000000' # Source a file (multi-file configs) # source = ~/.config/hypr/myColors.conf #x # ## Input configuration # input { kb_layout = us kb_variant = kb_model = #kb_options = grp:caps_toggle,grp_led:caps,altwin:swap_alt_win,ctrl:rctrl_ralt kb_options = kb_rules = numlock_by_default = true follow_mouse = 1 # 0|1|2|3 float_switch_override_focus = 2 force_no_accel = true accel_profile = flat touchpad { natural_scroll = no } sensitivity = 0 # -1.0 - 1.0, 0 means no modification. } general { gaps_in = 3 gaps_out = 5 border_size = 3 col.active_border = rgba(ff5e81ac) #col.inactive_border = rgba(66333333) col.inactive_border = rgba(595959aa) layout = dwindle # master|dwindle } cursor { default_monitor = DP-3 } render { direct_scanout = true } decoration { active_opacity = 1.0 inactive_opacity = 0.95 fullscreen_opacity = 1.0 rounding = 4 blur { enabled = true size = 15 passes = 2 # more passes = more resource intensive. new_optimizations = true xray = true ignore_opacity = false } drop_shadow = false shadow_range = 4 shadow_render_power = 3 shadow_ignore_window = true dim_inactive = true dim_strength = 0.1 col.shadow = rgba(1a1a1aee) } # Blur for waybar #blurls = waybar animations { enabled = yes # Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more #bezier = myBezier, 0.05, 0.9, 0.1, 1.05 bezier = overshot, 0.13, 0.99, 0.29, 1.1 animation = windows, 1, 4, overshot, slide animation = windowsOut, 1, 5, default, popin 80% animation = border, 1, 5, default animation = fade, 1, 8, default animation = workspaces, 1, 6, overshot, slide #animation = windows, 1, 7, myBezier #animation = windowsOut, 1, 7, default, popin 80% #animation = fade, 1, 7, default #animation = border, 1, 10, default #animation = workspaces, 1, 6, default } # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more dwindle { no_gaps_when_only = false force_split = 0 special_scale_factor = 0.8 split_width_multiplier = 1.0 use_active_for_splits = true pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below preserve_split = yes } # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more master { no_gaps_when_only = false # new_is_master = true new_status = master orientation = left special_scale_factor = 0.8 } misc { #disable_autoreload = true disable_hyprland_logo = true always_follow_on_dnd = true layers_hog_keyboard_focus = true animate_manual_resizes = false enable_swallow = true swallow_regex = focus_on_activate = true vfr = 1 mouse_move_focuses_monitor = true disable_splash_rendering = true key_press_enables_dpms = true mouse_move_enables_dpms = true new_window_takes_over_fullscreen = 2 } gestures { workspace_swipe = true workspace_swipe_fingers = 4 workspace_swipe_distance = 250 workspace_swipe_invert = true workspace_swipe_min_speed_to_force = 15 workspace_swipe_cancel_ratio = 0.5 workspace_swipe_create_new = false } device { name = epic-mouse-v1 sensitivity = -0.5 } # 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, alacritty bind = $mainMod, A, exec, grim -g "$(slurp)" - | swappy -f - bind = $mainMod, C, killactive, bind = $mainMod SHIFT, M, exit, bind = $mainMod, V, togglefloating, #bind = $mainMod, R, exec, rofi -show combi -modi window,run,emoji,combi -combi-modi window,run,emoji bind = $mainMod, R, exec, wofi bind = $mainMod, F, fullscreen bind = $mainMod, Y, pin #bind = $mainMod, P, pseudo, # dwindle bind = $mainMod, J, togglesplit, # dwindle bind = $mainMod, E, exec, pcmanfm-qt bind = $mainMod, M, exec, hyprctl dispatch exit bind = $mainMod, B, exec, firefox bind= $mainMod, D, exec, dev.vencord.Vesktop bind = $mainMod, K, exec, modrinth-app bind = $mainMod, G, togglegroup, bind = $mainMod, Tab, changegroupactive, f #bind = $mainMod SHIFT, G,exec,hyprctl --batch "keyword general:gaps_out 5;keyword general:gaps_in 3" #bind = $mainMod , G,exec,hyprctl --batch "keyword general:gaps_out 0;keyword general:gaps_in 0" # Volume control bind=,XF86AudioLowerVolume,exec,pamixer -ud 3 && pamixer --get-volume > /tmp/$HYPRLAND_INSTANCE_SIGNATURE.wob bind=,XF86AudioRaiseVolume,exec,pamixer -ui 3 && pamixer --get-volume > /tmp/$HYPRLAND_INSTANCE_SIGNATURE.wob # mute sound bind=,XF86AudioMute,exec,amixer sset Master toggle | sed -En '/\[on\]/ s/.*\[([0-9]+)%\].*/\1/ p; /\[off\]/ s/.*/0/p' | head -1 > /tmp/$HYPRLAND_INSTANCE_SIGNATURE.wob # Playback control bind=,XF86AudioPlay,exec, playerctl play-pause bind=,XF86AudioNext,exec, playerctl next bind=,XF86AudioPrev,exec, playerctl previous # Screen brightness bind = , XF86MonBrightnessUp, exec, brightnessctl s +5% bind = , XF86MonBrightnessDown, exec, brightnessctl s 5%- #bind = $mainMod SHIFT, P, exec, gnome-calculator #bind = $mainMod, L, exec, swaylock-fancy -e -K -p 10 -f Hack-Regular bind = $mainMod, L, exec, hyprlock #bind = $mainMod, P, exec, ~/.scripts/dmshot #bind = $mainMod, O, exec, killall -SIGUSR2 waybar # 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 bind = $mainMod, period, workspace, e+1 bind = $mainMod, comma, workspace,e-1 bind = $mainMod, minus, movetoworkspace,special bind = $mainMod, equal, togglespecialworkspace bind = $mainMod SHIFT,left ,movewindow, l bind = $mainMod SHIFT,right ,movewindow, r bind = $mainMod SHIFT,up ,movewindow, u bind = $mainMod SHIFT,down ,movewindow, d # Move active window to a workspace with mainMod + CTRL + [0-9] #bind = $mainMod CTRL, 1, movetoworkspace, 1 #bind = $mainMod CTRL, 2, movetoworkspace, 2 #bind = $mainMod CTRL, 3, movetoworkspace, 3 #bind = $mainMod CTRL, 4, movetoworkspace, 4 #bind = $mainMod CTRL, 5, movetoworkspace, 5 #bind = $mainMod CTRL, 6, movetoworkspace, 6 #bind = $mainMod CTRL, 7, movetoworkspace, 7 #bind = $mainMod CTRL, 8, movetoworkspace, 8 #bind = $mainMod CTRL, 9, movetoworkspace, 9 #bind = $mainMod CTRL, 0, movetoworkspace, 10 #bind = $mainMod CTRL, left, movetoworkspace, -1 #bind = $mainMod CTRL, right, movetoworkspace, +1 # same as above, but doesnt switch to the workspace 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 binds { workspace_back_and_forth = 1 allow_workspace_cycles = 1 } bind = $mainMod,slash,workspace,previous #bind = $mainMod,R,submap,resize #submap = resize #binde =,right,resizeactive,15 0 #binde =,left,resizeactive,-15 0 #binde =,up,resizeactive,0 -15 #binde =,down,resizeactive,0 15 #binde =,l,resizeactive,15 0 #binde =,h,resizeactive,-15 0 #binde =,k,resizeactive,0 -15 #binde =,j,resizeactive,0 15 #bind =,escape,submap,reset #submap = reset #bind=CTRL SHIFT, left, resizeactive,-15 0 #bind=CTRL SHIFT, right, resizeactive,15 0 #bind=CTRL SHIFT, up, resizeactive,0 -15 #bind=CTRL SHIFT, down, resizeactive,0 15 #bind=CTRL SHIFT, l, resizeactive, 15 0 #bind=CTRL SHIFT, h, resizeactive,-15 0 #bind=CTRL SHIFT, k, resizeactive, 0 -15 #bind=CTRL SHIFT, j, resizeactive, 0 15 # Move/resize windows with mainMod + LMB/RMB and dragging bindm = $mainMod, mouse:272, movewindow bindm = $mainMod, mouse:273, resizewindow #exec-once = alacritty #exec-once = telegram-desktop #exec-once = armcord #exec-once = swaybg -o \* -i /usr/share/wallpapers/cachyos-wallpapers/Liquid.png -m fill #------------# # auto start # #------------# exec-once = waybar -c .config/waybar/config-hypr & exec-once = fcitx5 -d & exec-once = mako & exec-once = nm-applet --indicator & exec-once = bash -c "mkfifo /tmp/$HYPRLAND_INSTANCE_SIGNATURE.wob && tail -f /tmp/$HYPRLAND_INSTANCE_SIGNATURE.wob | wob & disown" & exec-once = /usr/lib/polkit-kde-authentication-agent-1 & # Float Necessary Windows windowrule=float,Rofi windowrule=float,pavucontrol windowrulev2 = float,class:^()$,title:^(Picture in picture)$ windowrulev2 = float,class:^(brave)$,title:^(Save File)$ windowrulev2 = float,class:^(brave)$,title:^(Open File)$ windowrulev2 = float,class:^(LibreWolf)$,title:^(Picture-in-Picture)$ windowrulev2 = float,class:^(blueman-manager)$ windowrulev2 = float,class:^(xdg-desktop-portal-gtk)$ windowrulev2 = float,class:^(xdg-desktop-portal-kde)$ windowrulev2 = float,class:^(xdg-desktop-portal-hyprland)$ windowrulev2 = float,class:^(org.kde.polkit-kde-authentication-agent-1)$ windowrulev2 = float,class:^(CachyOSHello)$ windowrulev2 = float,class:^(zenity)$ windowrulev2 = float,class:^()$,title:^(Steam - Self Updater)$ # Increase the opacity windowrule=opacity 0.92,Thunar windowrule=opacity 0.92,Nautilus windowrule=opacity 0.96,discord windowrule=opacity 0.96,armcord windowrule=opacity 0.96,webcord #---------------# # windows rules # #---------------# #`hyprctl clients` get class、title... windowrule=float,title:^(Picture-in-Picture)$ windowrule=size 960 540,title:^(Picture-in-Picture)$ windowrule=move 25%-,title:^(Picture-in-Picture)$ windowrule=float,imv windowrule=move 25%-,imv windowrule=size 960 540,imv windowrule=float,mpv windowrule=move 25%-,mpv windowrule=size 960 540,mpv windowrule=float,danmufloat windowrule=move 25%-,danmufloat windowrule=pin,danmufloat windowrule=rounding 5,danmufloat windowrule=size 960 540,danmufloat windowrule=float,termfloat windowrule=move 25%-,termfloat windowrule=size 960 540,termfloat windowrule=rounding 5,termfloat windowrule=float,nemo windowrule=move 25%-,nemo windowrule=size 960 540,nemo windowrule=opacity 0.95,title:Telegram windowrule=opacity 0.95,title:QQ windowrule=opacity 0.95,title:NetEase Cloud Music Gtk4 windowrule=animation slide right,kitty windowrule=animation slide right,alacritty windowrule=float,ncmpcpp windowrule=move 25%-,ncmpcpp windowrule=size 960 540,ncmpcpp windowrule=noblur,^(firefox)$ windowrule=noblur,^(waybar)$ ======Config-End========