Skip to content

Cursor Appears on Two Monitors Simultaneously and Unable to Move Cursor Between Two External Monitors After Disabling Laptop Screen in hyprland-git #7648

Description

@sharjeelmazhar

Regression?

Yes

System Info and Version

Hyprland, built from branch main at commit 9b54342 (Revert syncobj: wait for deadline instead of available).
Date: Tue Sep 3 17:47:34 2024
Tag: v0.42.0-113-g9b54342b, commits: 5182

flags: (if any)

System Information:
System name: Linux
Node name: arch
Release: 6.6.48-1-lts
Version: #1 SMP PREEMPT_DYNAMIC Thu, 29 Aug 2024 17:56:14 +0000

GPU information:
00:02.0 VGA compatible controller [0300]: Intel Corporation WhiskeyLake-U GT2 [UHD Graphics 620] [8086:3ea0] (rev 02) (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/sharjeelm/.config/hypr/hyprland.conf: Read Succeeded

  ░▒▒▒░░░░░▓▓          ___________

░░▒▒▒░░░░░▓▓        //___________/

░░▒▒▒░░░░░▓▓     _   _ _    _ _____

░░▒▒░░░░░▓▓▓▓▓▓ | | | | |  | |  __/

░▒▒░░░░▓▓   ▓▓ | || | |/ /| |___

 ░▒▒░░▓▓   ▓▓   __  |/ |/

   ░▒▓▓   ▓▓  //____/

$scrPath = $HOME/.local/share/bin # set scripts path

█▀▄▀█ █▀█ █▄░█ █ ▀█▀ █▀█ █▀█

█░▀░█ █▄█ █░▀█ █ ░█░ █▄█ █▀▄

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

monitor = ,preferred,auto,auto

monitor = eDP-1, disable
monitor = HDMI-A-1,2560x1440@75, 0x0,1.25
monitor = DP-1, 1920x1080@60, 2560x0,1

█░░ ▄▀█ █s░█ █▄░█ █▀▀ █░█

█▄▄ █▀█ █▄█ █░▀█ █▄▄ █▀█

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

exec-once = $scrPath/resetxdgportal.sh # reset XDPH for screenshare
exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP # for XDPH
exec-once = dbus-update-activation-environment --systemd --all # for XDPH
exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP # for XDPH
exec-once = $scrPath/polkitkdeauth.sh # authentication dialogue for GUI apps
exec-once = waybar # launch the system bar
exec-once = blueman-applet # systray app for Bluetooth
exec-once = udiskie --no-automount --smart-tray # front-end that allows to manage removable media
exec-once = nm-applet --indicator # systray app for Network/Wifi
exec-once = dunst # start notification demon
exec-once = wl-paste --type text --watch cliphist store # clipboard store text data
exec-once = wl-paste --type image --watch cliphist store # clipboard store image data
exec-once = $scrPath/swwwallpaper.sh # start wallpaper daemon
exec-once = $scrPath/batterynotify.sh # battery notification

█▀▀ █▄░█ █░█

██▄ █░▀█ ▀▄▀

See https://wiki.hyprland.org/Configuring/Environment-variables/

env = PATH,$PATH:$scrPath
env = XDG_CURRENT_DESKTOP,Hyprland
env = XDG_SESSION_TYPE,wayland
env = XDG_SESSION_DESKTOP,Hyprland
env = QT_QPA_PLATFORM,wayland;xcb
env = QT_QPA_PLATFORMTHEME,qt6ct
env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1
env = QT_AUTO_SCREEN_SCALE_FACTOR,1
env = MOZ_ENABLE_WAYLAND,1
env = GDK_SCALE,1

█ █▄░█ █▀█ █░█ ▀█▀

█ █░▀█ █▀▀ █▄█ ░█░

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

input {
kb_layout = us
follow_mouse = 1

touchpad {
    natural_scroll = no
}

sensitivity = 0
force_no_accel = 1

}

See https://wiki.hyprland.org/Configuring/Keywords/#executing

device {
name = epic mouse V1
sensitivity = -0.5
}

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

gestures {
workspace_swipe = true
workspace_swipe_fingers = 3
}

█░░ ▄▀█ █▄█ █▀█ █░█ ▀█▀ █▀

█▄▄ █▀█ ░█░ █▄█ █▄█ ░█░ ▄█

See https://wiki.hyprland.org/Configuring/Dwindle-Layout/

dwindle {
pseudotile = yes
preserve_split = yes
}

See https://wiki.hyprland.org/Configuring/Master-Layout/

master {
new_status = master
}

█▀▄▀█ █ █▀ █▀▀

█░▀░█ █ ▄█ █▄▄

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

misc {
vrr = 0
disable_hyprland_logo = true
disable_splash_rendering = true
force_default_wallpaper = 0
}

xwayland {
force_zero_scaling = true
}

█▀ █▀█ █░█ █▀█ █▀▀ █▀▀

▄█ █▄█ █▄█ █▀▄ █▄▄ ██▄

source = ~/.config/hypr/animations.conf
source = ~/.config/hypr/keybindings.conf
source = ~/.config/hypr/windowrules.conf
source = ~/.config/hypr/themes/common.conf # shared theme settings
source = ~/.config/hypr/themes/theme.conf # theme specific settings
source = ~/.config/hypr/themes/colors.conf # wallbash color override
source = ~/.config/hypr/monitors.conf # initially empty, to be configured by user and remains static
source = ~/.config/hypr/userprefs.conf # initially empty, to be configured by user and remains static

Note: as userprefs.conf is sourced at the end, settings configured in this file will override the defaults

Config File: /home/sharjeelm/.config/hypr/animations.conf: Read Succeeded

▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█

█▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█

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

animations {
enabled = yes
bezier = wind, 0.05, 0.9, 0.1, 1.05
bezier = winIn, 0.1, 1.1, 0.1, 1.1
bezier = winOut, 0.3, -0.3, 0, 1
bezier = liner, 1, 1, 1, 1
animation = windows, 1, 6, wind, slide
animation = windowsIn, 1, 6, winIn, slide
animation = windowsOut, 1, 5, winOut, slide
animation = windowsMove, 1, 5, wind, slide
animation = border, 1, 1, liner
animation = borderangle, 1, 30, liner, loop
animation = fade, 1, 10, default
animation = workspaces, 1, 5, wind
}

Config File: /home/sharjeelm/.config/hypr/keybindings.conf: Read Succeeded

█▄▀ █▀▀ █▄█ █▄▄ █ █▄░█ █▀▄ █ █▄░█ █▀▀ █▀

█░█ ██▄ ░█░ █▄█ █ █░▀█ █▄▀ █ █░▀█ █▄█ ▄█

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

& https://wiki.hyprland.org/Configuring/Binds/

Main modifier

$mainMod = Super # super / meta / windows key

Assign apps

$term = kitty
$editor = code
$file = dolphins
$browser = google-chrome-stable

Window/Session actions

bind = $mainMod, Q, exec, $scrPath/dontkillsteam.sh # close focused window
bind = Alt, F4, exec, $scrPath/dontkillsteam.sh # close focused window
bind = $mainMod, Delete, exit, # kill hyprland session
bind = $mainMod, W, togglefloating, # toggle the window between focus and float
bind = $mainMod, G, togglegroup, # toggle the window between focus and group
bind = Alt, Return, fullscreen, # toggle the window between focus and fullscreen
bind = $mainMod, L, exec, swaylock # launch lock screen
bind = $mainMod+Shift, F, exec, $scrPath/windowpin.sh # toggle pin on focused window
bind = $mainMod, Backspace, exec, $scrPath/logoutlaunch.sh # launch logout menu
bind = Ctrl+Alt, W, exec, killall waybar || waybar # toggle waybar

Application shortcuts

bind = $mainMod, T, exec, $term # launch terminal emulator
bind = $mainMod, E, exec, $file # launch file manager
bind = $mainMod, C, exec, $editor # launch text editor
bind = $mainMod, F, exec, $browser # launch web browser
bind = Ctrl+Shift, Escape, exec, $scrPath/sysmonlaunch.sh # launch system monitor (htop/btop or fallback to top)

Rofi menus

bind = $mainMod, A, exec, pkill -x rofi || $scrPath/rofilaunch.sh d # launch application launcher
bind = $mainMod, Tab, exec, pkill -x rofi || $scrPath/rofilaunch.sh w # launch window switcher
bind = $mainMod+Shift, E, exec, pkill -x rofi || $scrPath/rofilaunch.sh f # launch file explorer

Audio control

bindl = , F10, exec, $scrPath/volumecontrol.sh -o m # toggle audio mute
bindel = , F11, exec, $scrPath/volumecontrol.sh -o d # decrease volume
bindel = , F12, exec, $scrPath/volumecontrol.sh -o i # increase volume
bindl = , XF86AudioMute, exec, $scrPath/volumecontrol.sh -o m # toggle audio mute
bindl = , XF86AudioMicMute, exec, $scrPath/volumecontrol.sh -i m # toggle microphone mute
bindel = , XF86AudioLowerVolume, exec, $scrPath/volumecontrol.sh -o d # decrease volume
bindel = , XF86AudioRaiseVolume, exec, $scrPath/volumecontrol.sh -o i # increase volume

Media control

bindl = , XF86AudioPlay, exec, playerctl play-pause # toggle between media play and pause
bindl = , XF86AudioPause, exec, playerctl play-pause # toggle between media play and pause
bindl = , XF86AudioNext, exec, playerctl next # media next
bindl = , XF86AudioPrev, exec, playerctl previous # media previous

Brightness control

bindel = , XF86MonBrightnessUp, exec, $scrPath/brightnesscontrol.sh i # increase brightness
bindel = , XF86MonBrightnessDown, exec, $scrPath/brightnesscontrol.sh d # decrease brightness

Move between grouped windows

bind = $mainMod CTRL , H, changegroupactive, b
bind = $mainMod CTRL , L, changegroupactive, f

Screenshot/Screencapture

bind = $mainMod, P, exec, $scrPath/screenshot.sh s # partial screenshot capture
bind = $mainMod+Ctrl, P, exec, $scrPath/screenshot.sh sf # partial screenshot capture (frozen screen)
bind = $mainMod+Alt, P, exec, $scrPath/screenshot.sh m # monitor screenshot capture
bind = , Print, exec, $scrPath/screenshot.sh p # all monitors screenshot capture

Custom scripts

bind = $mainMod+Alt, G, exec, $scrPath/gamemode.sh # disable hypr effects for gamemode
bind = $mainMod+Alt, Right, exec, $scrPath/swwwallpaper.sh -n # next wallpaper
bind = $mainMod+Alt, Left, exec, $scrPath/swwwallpaper.sh -p # previous wallpaper
bind = $mainMod+Alt, Up, exec, $scrPath/wbarconfgen.sh n # next waybar mode
bind = $mainMod+Alt, Down, exec, $scrPath/wbarconfgen.sh p # previous waybar mode
bind = $mainMod+Shift, R, exec, pkill -x rofi || $scrPath/wallbashtoggle.sh -m # launch wallbash mode select menu
bind = $mainMod+Shift, T, exec, pkill -x rofi || $scrPath/themeselect.sh # launch theme select menu
bind = $mainMod+Shift, A, exec, pkill -x rofi || $scrPath/rofiselect.sh # launch select menu
bind = $mainMod+Shift, W, exec, pkill -x rofi || $scrPath/swwwallselect.sh # launch wallpaper select menu
bind = $mainMod, V, exec, pkill -x rofi || $scrPath/cliphist.sh c # launch clipboard
bind = $mainMod, K, exec, $scrPath/keyboardswitch.sh # switch keyboard layout
bind = $mainMod, slash, exec, pkill -x rofi || $scrPath/keybinds_hint.sh c # launch keybinds hint

Move/Change window focus

bind = $mainMod, Left, movefocus, l
bind = $mainMod, Right, movefocus, r
bind = $mainMod, Up, movefocus, u
bind = $mainMod, Down, movefocus, d
bind = Alt, Tab, movefocus, d

Switch workspaces

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

Switch workspaces to a relative workspace

bind = $mainMod+Ctrl, Right, workspace, r+1
bind = $mainMod+Ctrl, Left, workspace, r-1

Move to the first empty workspace

bind = $mainMod+Ctrl, Down, workspace, empty

Resize windows

binde = $mainMod+Shift, Right, resizeactive, 30 0
binde = $mainMod+Shift, Left, resizeactive, -30 0
binde = $mainMod+Shift, Up, resizeactive, 0 -30
binde = $mainMod+Shift, Down, resizeactive, 0 30

Move focused window to a 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

Move focused window to a relative workspace

bind = $mainMod+Ctrl+Alt, Right, movetoworkspace, r+1
bind = $mainMod+Ctrl+Alt, Left, movetoworkspace, r-1

Move active window around current workspace with mainMod + SHIFT + CTRL [←→↑↓]

$moveactivewindow=grep -q "true" <<< $(hyprctl activewindow -j | jq -r .floating) && hyprctl dispatch moveactive
binded = $mainMod SHIFT $CONTROL, left,Move activewindow to the right,exec, $moveactivewindow -30 0 || hyprctl dispatch movewindow l
binded = $mainMod SHIFT $CONTROL, right,Move activewindow to the right,exec, $moveactivewindow 30 0 || hyprctl dispatch movewindow r
binded = $mainMod SHIFT $CONTROL, up,Move activewindow to the right,exec, $moveactivewindow 0 -30 || hyprctl dispatch movewindow u
binded = $mainMod SHIFT $CONTROL, down,Move activewindow to the right,exec, $moveactivewindow 0 30 || hyprctl dispatch movewindow d

Scroll through existing workspaces

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

Move/Resize focused window

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

Move/Switch to special workspace (scratchpad)

bind = $mainMod+Alt, S, movetoworkspacesilent, special
bind = $mainMod, S, togglespecialworkspace,

Toggle focused window split

bind = $mainMod, J, togglesplit

Move focused window to a workspace silently

bind = $mainMod+Alt, 1, movetoworkspacesilent, 1
bind = $mainMod+Alt, 2, movetoworkspacesilent, 2
bind = $mainMod+Alt, 3, movetoworkspacesilent, 3
bind = $mainMod+Alt, 4, movetoworkspacesilent, 4
bind = $mainMod+Alt, 5, movetoworkspacesilent, 5
bind = $mainMod+Alt, 6, movetoworkspacesilent, 6
bind = $mainMod+Alt, 7, movetoworkspacesilent, 7
bind = $mainMod+Alt, 8, movetoworkspacesilent, 8
bind = $mainMod+Alt, 9, movetoworkspacesilent, 9
bind = $mainMod+Alt, 0, movetoworkspacesilent, 10

Config File: /home/sharjeelm/.config/hypr/windowrules.conf: Read Succeeded

█░█░█ █ █▄░█ █▀▄ █▀█ █░█░█   █▀█ █░█ █░░ █▀▀ █▀

▀▄▀▄▀ █ █░▀█ █▄▀ █▄█ ▀▄▀▄▀   █▀▄ █▄█ █▄▄ ██▄ ▄█

See https://wiki.hyprland.org/Configuring/Window-Rules/

windowrulev2 = opacity 0.90 0.90,class:^(firefox)$
windowrulev2 = opacity 0.90 0.90,class:^(Brave-browser)$
windowrulev2 = opacity 0.80 0.80,class:^(code-oss)$
windowrulev2 = opacity 0.80 0.80,class:^(Code)$
windowrulev2 = opacity 0.80 0.80,class:^(code-url-handler)$
windowrulev2 = opacity 0.80 0.80,class:^(code-insiders-url-handler)$
windowrulev2 = opacity 0.80 0.80,class:^(kitty)$
windowrulev2 = opacity 0.80 0.80,class:^(org.kde.dolphin)$
windowrulev2 = opacity 0.80 0.80,class:^(org.kde.ark)$
windowrulev2 = opacity 0.80 0.80,class:^(nwg-look)$
windowrulev2 = opacity 0.80 0.80,class:^(qt5ct)$
windowrulev2 = opacity 0.80 0.80,class:^(qt6ct)$
windowrulev2 = opacity 0.80 0.80,class:^(kvantummanager)$
windowrulev2 = opacity 0.80 0.70,class:^(org.pulseaudio.pavucontrol)$
windowrulev2 = opacity 0.80 0.70,class:^(blueman-manager)$
windowrulev2 = opacity 0.80 0.70,class:^(nm-applet)$
windowrulev2 = opacity 0.80 0.70,class:^(nm-connection-editor)$
windowrulev2 = opacity 0.80 0.70,class:^(org.kde.polkit-kde-authentication-agent-1)$
windowrulev2 = opacity 0.80 0.70,class:^(polkit-gnome-authentication-agent-1)$
windowrulev2 = opacity 0.80 0.70,class:^(org.freedesktop.impl.portal.desktop.gtk)$
windowrulev2 = opacity 0.80 0.70,class:^(org.freedesktop.impl.portal.desktop.hyprland)$
windowrulev2 = opacity 0.70 0.70,class:^([Ss]team)$
windowrulev2 = opacity 0.70 0.70,class:^(steamwebhelper)$
windowrulev2 = opacity 0.70 0.70,class:^(Spotify)$
windowrulev2 = opacity 0.70 0.70,initialTitle:^(Spotify Free)$

windowrulev2 = opacity 0.90 0.90,class:^(com.github.rafostar.Clapper)$ # Clapper-Gtk
windowrulev2 = opacity 0.80 0.80,class:^(com.github.tchx84.Flatseal)$ # Flatseal-Gtk
windowrulev2 = opacity 0.80 0.80,class:^(hu.kramo.Cartridges)$ # Cartridges-Gtk
windowrulev2 = opacity 0.80 0.80,class:^(com.obsproject.Studio)$ # Obs-Qt
windowrulev2 = opacity 0.80 0.80,class:^(gnome-boxes)$ # Boxes-Gtk
windowrulev2 = opacity 0.80 0.80,class:^(discord)$ # Discord-Electron
windowrulev2 = opacity 0.80 0.80,class:^(WebCord)$ # WebCord-Electron
windowrulev2 = opacity 0.80 0.80,class:^(ArmCord)$ # ArmCord-Electron
windowrulev2 = opacity 0.80 0.80,class:^(app.drey.Warp)$ # Warp-Gtk
windowrulev2 = opacity 0.80 0.80,class:^(net.davidotek.pupgui2)$ # ProtonUp-Qt
windowrulev2 = opacity 0.80 0.80,class:^(yad)$ # Protontricks-Gtk
windowrulev2 = opacity 0.80 0.80,class:^(Signal)$ # Signal-Gtk
windowrulev2 = opacity 0.80 0.80,class:^(io.github.alainm23.planify)$ # planify-Gtk
windowrulev2 = opacity 0.80 0.80,class:^(io.gitlab.theevilskeleton.Upscaler)$ # Upscaler-Gtk
windowrulev2 = opacity 0.80 0.80,class:^(com.github.unrud.VideoDownloader)$ # VideoDownloader-Gtk
windowrulev2 = opacity 0.80 0.80,class:^(io.gitlab.adhami3310.Impression)$ # Impression-Gtk
windowrulev2 = opacity 0.80 0.80,class:^(io.missioncenter.MissionCenter)$ # MissionCenter-Gtk
windowrulev2 = opacity 0.80 0.80,class:^(io.github.flattool.Warehouse)$ # Warehouse-Gtk

windowrulev2 = float,class:^(org.kde.dolphin)$,title:^(Progress Dialog — Dolphin)$
windowrulev2 = float,class:^(org.kde.dolphin)$,title:^(Copying — Dolphin)$
windowrulev2 = float,title:^(About Mozilla Firefox)$
windowrulev2 = float,class:^(firefox)$,title:^(Picture-in-Picture)$
windowrulev2 = float,class:^(firefox)$,title:^(Library)$
windowrulev2 = float,class:^(kitty)$,title:^(top)$
windowrulev2 = float,class:^(kitty)$,title:^(btop)$
windowrulev2 = float,class:^(kitty)$,title:^(htop)$
windowrulev2 = float,class:^(vlc)$
windowrulev2 = float,class:^(kvantummanager)$
windowrulev2 = float,class:^(qt5ct)$
windowrulev2 = float,class:^(qt6ct)$
windowrulev2 = float,class:^(nwg-look)$
windowrulev2 = float,class:^(org.kde.ark)$
windowrulev2 = float,class:^(org.pulseaudio.pavucontrol)$
windowrulev2 = float,class:^(blueman-manager)$
windowrulev2 = float,class:^(nm-applet)$
windowrulev2 = float,class:^(nm-connection-editor)$
windowrulev2 = float,class:^(org.kde.polkit-kde-authentication-agent-1)$

windowrulev2 = float,class:^(Signal)$ # Signal-Gtk
windowrulev2 = float,class:^(com.github.rafostar.Clapper)$ # Clapper-Gtk
windowrulev2 = float,class:^(app.drey.Warp)$ # Warp-Gtk
windowrulev2 = float,class:^(net.davidotek.pupgui2)$ # ProtonUp-Qt
windowrulev2 = float,class:^(yad)$ # Protontricks-Gtk
windowrulev2 = float,class:^(eog)$ # Imageviewer-Gtk
windowrulev2 = float,class:^(io.github.alainm23.planify)$ # planify-Gtk
windowrulev2 = float,class:^(io.gitlab.theevilskeleton.Upscaler)$ # Upscaler-Gtk
windowrulev2 = float,class:^(com.github.unrud.VideoDownloader)$ # VideoDownloader-Gkk
windowrulev2 = float,class:^(io.gitlab.adhami3310.Impression)$ # Impression-Gtk
windowrulev2 = float,class:^(io.missioncenter.MissionCenter)$ # MissionCenter-Gtk

█░░ ▄▀█ █▄█ █▀▀ █▀█   █▀█ █░█ █░░ █▀▀ █▀

█▄▄ █▀█ ░█░ ██▄ █▀▄   █▀▄ █▄█ █▄▄ ██▄ ▄█

layerrule = blur,rofi
layerrule = ignorezero,rofi
layerrule = blur,notifications
layerrule = ignorezero,notifications
layerrule = blur,swaync-notification-window
layerrule = ignorezero,swaync-notification-window
layerrule = blur,swaync-control-center
layerrule = ignorezero,swaync-control-center
layerrule = blur,logout_dialog

Config File: /home/sharjeelm/.config/hypr/themes/common.conf: Read Succeeded

█▀▀ █░█ █▀█ █▀ █▀█ █▀█

█▄▄ █▄█ █▀▄ ▄█ █▄█ █▀▄

exec = hyprctl setcursor Bibata-Modern-Ice 20
exec = gsettings set org.gnome.desktop.interface cursor-theme 'Bibata-Modern-Ice'
exec = gsettings set org.gnome.desktop.interface cursor-size 20

█▀▀ █▀█ █▄░█ ▀█▀

█▀░ █▄█ █░▀█ ░█░

exec = gsettings set org.gnome.desktop.interface font-name 'Cantarell 10'
exec = gsettings set org.gnome.desktop.interface document-font-name 'Cantarell 10'
exec = gsettings set org.gnome.desktop.interface monospace-font-name 'CaskaydiaCove Nerd Font Mono 9'
exec = gsettings set org.gnome.desktop.interface font-antialiasing 'rgba'
exec = gsettings set org.gnome.desktop.interface font-hinting 'full'

█▀ █▀█ █▀▀ █▀▀ █ ▄▀█ █░░

▄█ █▀▀ ██▄ █▄▄ █ █▀█ █▄▄

decoration {
dim_special = 0.3
blur {
special = true
}
}

Config File: /home/sharjeelm/.config/hypr/themes/theme.conf: Read Succeeded

___________ _________ __

__ / _ ___ ____ .._____/ |

| | ______ / \ /_ __ < | |____ \ __\

| | // \ _| | /_ || |_> > |

|____| ______ /|__| / ____|| /||

/ / |__|

exec = gsettings set org.gnome.desktop.interface icon-theme 'Nordzy'
exec = gsettings set org.gnome.desktop.interface gtk-theme 'Nordic-Blue'
exec = gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark'

general {
gaps_in = 3
gaps_out = 8
border_size = 2
col.active_border = rgba(5A9ACAB4) rgba(ECD3A0FF) 45deg
col.inactive_border = rgba(1E8B50D9) rgba(32B032D9) 45deg
layout = dwindle
resize_on_border = true
}

group {
col.border_active = rgba(5A9ACAB4) rgba(ECD3A0FF) 45deg
col.border_inactive = rgba(1E8B50D9) rgba(32B032D9) 45deg
col.border_locked_active = rgba(5A9ACAB4) rgba(ECD3A0FF) 45deg
col.border_locked_inactive = rgba(1E8B50D9) rgba(32B032D9) 45deg
}

decoration {
rounding = 7
drop_shadow = false

blur {
    enabled = yes
    size = 5
    passes = 3
    new_optimizations = on
    ignore_opacity = on
    xray = false
}

}

blurls = waybar

Config File: /home/sharjeelm/.config/hypr/themes/colors.conf: Read Succeeded

Config File: /home/sharjeelm/.config/hypr/monitors.conf: Read Succeeded

█▀▄▀█ █▀█ █▄░█ █ ▀█▀ █▀█ █▀█ █▀

█░▀░█ █▄█ █░▀█ █ ░█░ █▄█ █▀▄ ▄█

Set your monitor configuration here

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

For a sample file, please refer to https://github.com/prasanthrangan/hyprdots/blob/main/Configs/.config/hypr/monitors.t2

monitor = HDMI-A-1,2560x1440@75, 0x0,1.25
monitor = DP-1, 1920x1080@60, 2560x0,1

monitor = eDP-1, 1366x768@60,1920x0,1

monitor = eDP-1, disable

Config File: /home/sharjeelm/.config/hypr/userprefs.conf: Read Succeeded

█░█ █▀ █▀▀ █▀█   █▀█ █▀█ █▀▀ █▀▀ █▀

█▄█ ▄█ ██▄ █▀▄   █▀▀ █▀▄ ██▄ █▀░ ▄█

Set your personal hyprland configuration here

For a sample file, please refer to https://github.com/prasanthrangan/hyprdots/blob/main/Configs/.config/hypr/userprefs.t2

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

Description

Description

I am facing two major issues with my monitor and cursor setup in hyprland-git:

  1. Issue 1 - Cursor Appears on Two Screens Simultaneously:
    I have a 3-monitor setup:

    • My main monitor is a 2K monitor (HDMI-A-1), positioned to the left.
    • My secondary monitor is a 1080p monitor (DP-1), positioned to the middle.
    • My laptop screen is 1366x768 (eDP-1), positioned to the right.

    When I move my cursor from my 2K monitor to my 1080p monitor, in certain positions, I can see my cursor on both the 1080p monitor and my laptop screen simultaneously. This happens even though I’m only trying to move between the two external monitors. I followed the Hyprland configuration guide for my monitor setup, but the cursor behavior is inconsistent and appears on two monitors in specific areas.

  2. Issue 2 - Cursor Confined to One Monitor After Disabling Laptop Screen:
    I prefer not to use my laptop's internal screen for coding, so I disabled the laptop display (eDP-1). Now I have only the 2K (HDMI-A-1) and 1080p (DP-1) external monitors enabled. However, since disabling the laptop display, I can no longer move my cursor between the two external monitors. The cursor remains stuck on one monitor, and I can only switch between them using the workspace button.

    My current monitor configuration is:

    monitor = HDMI-A-1, 2560x1440@75, 0x0, 1.25
    monitor = DP-1, 1920x1080@60, 2560x0, 1
    monitor = eDP-1, disable
    
    

How to reproduce

How to reproduce

  1. Reproduce Issue 1 (Cursor Appears on Two Screens Simultaneously):

    • Set up a 3-monitor configuration:
      • Main monitor: 2K monitor (HDMI-A-1).
      • Secondary monitor: 1080p monitor (DP-1).
      • Laptop display: 1366x768 (eDP-1).
    • Move the cursor from the 2K monitor to the 1080p monitor.
    • Observe that, in certain positions, the cursor appears on both the 1080p monitor and the laptop screen simultaneously.
  2. Reproduce Issue 2 (Unable to Move Cursor Between External Monitors After Disabling Laptop Screen):

    • Disable the laptop’s internal display (eDP-1).
    • Use only the two external monitors (2K and 1080p).
    • Attempt to move the cursor between the 2K monitor and the 1080p monitor.
    • Observe that the cursor remains confined to one monitor, preventing movement between the two.

Crash reports, logs, images, videos

240904_10h55m57s_screenshot
240904_10h57m03s_screenshot

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