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

Duplicate cursors accross monitors #7767

Closed
1 task done
Bug23451 opened this issue Sep 13, 2024 · 4 comments
Closed
1 task done

Duplicate cursors accross monitors #7767

Bug23451 opened this issue Sep 13, 2024 · 4 comments
Labels
bug Something isn't working

Comments

@Bug23451
Copy link

Bug23451 commented Sep 13, 2024

Already reported ? *

  • I have searched the existing open and closed issues.

Regression?

No

### System Info and Version

Hyprland, built from branch at commit 0f59473 (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

2024-09-13-10-21-27-661.mp4
@Bug23451 Bug23451 added the bug Something isn't working label Sep 13, 2024
@vaxerski
Copy link
Member

what the fuc

@JaredKIso
Copy link

JaredKIso commented Sep 14, 2024

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 🤣 woops Hello there lol

@vaxerski
Copy link
Member

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

@Bug23451 Bug23451 mentioned this issue Sep 23, 2024
1 task
@Bug23451
Copy link
Author

Bug23451 commented Oct 21, 2024

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 4520b30 (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========

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants