Hyprland
Hyprland copied to clipboard
Electron apps specifically not being interactable on a specific monitor
Regression?
Yes
System Info and Version
System/Version info
❯ hyprctl systeminfo -c
Hyprland, built from branch at commit 918d8340afd652b011b937d29d5eea0be08467f5 (flake.lock: update).
Date: Tue Jun 25 12:06:02 2024
Tag: v0.41.2, commits: 4886
flags: (if any)
System Information:
System name: Linux
Node name: Archie
Release: 6.9.7-arch1-1
Version: #1 SMP PREEMPT_DYNAMIC Fri, 28 Jun 2024 04:32:50 +0000
GPU information:
0b:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 33 [Radeon RX 7600/7600 XT/7600M XT/7600S/7700S / PRO W7600] [1002:7480] (rev cf) (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/tickbase/.config/hypr/hyprland.conf: Read Succeeded
#⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣤⣤⣤⣤⣤⣶⣦⣤⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀
#⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⣿⡿⠛⠉⠙⠛⠛⠛⠛⠻⢿⣿⣷⣤⡀⠀⠀⠀⠀⠀
#⠀⠀⠀⠀⠀⠀⠀⠀⣼⣿⠋⠀⠀⠀⠀⠀⠀⠀⢀⣀⣀⠈⢻⣿⣿⡄⠀⠀⠀⠀
#⠀⠀⠀⠀⠀⠀⠀⣸⣿⡏⠀⠀⠀⣠⣶⣾⣿⣿⣿⠿⠿⠿⢿⣿⣿⣿⣄⠀⠀⠀
#⠀⠀⠀⠀⠀⠀⠀⣿⣿⠁⠀⠀⢰⣿⣿⣯⠁⠀⠀⠀⠀⠀⠀⠀⠈⠙⢿⣷⡄⠀
#⠀⠀⣀⣤⣴⣶⣶⣿⡟⠀⠀⠀⢸⣿⣿⣿⣆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣷⠀
#⠀⢰⣿⡟⠋⠉⣹⣿⡇⠀⠀⠀⠘⣿⣿⣿⣿⣷⣦⣤⣤⣤⣶⣶⣶⣶⣿⣿⣿⠀
#⠀⢸⣿⡇⠀⠀⣿⣿⡇⠀⠀⠀⠀⠹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠃⠀
#⠀⣸⣿⡇⠀⠀⣿⣿⡇⠀⠀⠀⠀⠀⠉⠻⠿⣿⣿⣿⣿⡿⠿⠿⠛⢻⣿⡇⠀⠀
#⠀⣿⣿⠁⠀⠀⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣧⠀⠀
#⠀⣿⣿⠀⠀⠀⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⠀⠀
#⠀⣿⣿⠀⠀⠀⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⠀⠀
#⠀⢿⣿⡆⠀⠀⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⡇⠀⠀
#⠀⠸⣿⣧⡀⠀⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⠃⠀⠀
#⠀⠀⠛⢿⣿⣿⣿⣿⣇⠀⠀⠀⠀⠀⣰⣿⣿⣷⣶⣶⣶⣶⠶⠀⢠⣿⣿⠀⠀⠀
#⠀⠀⠀⠀⠀⠀⠀⣿⣿⠀⠀⠀⠀⠀⣿⣿⡇⠀⣽⣿⡏⠁⠀⠀⢸⣿⡇⠀⠀⠀
#⠀⠀⠀⠀⠀⠀⠀⣿⣿⠀⠀⠀⠀⠀⣿⣿⡇⠀⢹⣿⡆⠀⠀⠀⣸⣿⠇⠀⠀⠀
#⠀⠀⠀⠀⠀⠀⠀⢿⣿⣦⣄⣀⣠⣴⣿⣿⠁⠀⠈⠻⣿⣿⣿⣿⡿⠏⠀⠀⠀⠀
#⠀⠀⠀⠀⠀⠀⠀⠈⠛⠻⠿⠿⠿⠿⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
$scrPath = $HOME/scripts
# █░░ ▄▀█ █░█ █▄░█ █▀▀ █░█
# █▄▄ █▀█ █▄█ █░▀█ █▄▄ █▀█
#--> https://wiki.hyprland.org/Configuring/Keywords/
exec-once = waybar
exec = $scrPath/save_window.sh
exec = arrpc
exec-once = hyprlock
exec-once = openrgb
exec-once = waypaper --restore
# █▀▀ █▄░█ █░█
# ██▄ █░▀█ ▀▄▀
#--> https://wiki.hyprland.org/Configuring/Environment-variables/
env = XCURSOR_SIZE,24
env = XCURSOR_THEME,Nordzy-cursors
env = GTK_THEME,Nordic-darker
env = GTK_CURSOR,Nordzy-cursors
env = QT_QPA_PLATFORMTHEME,qt5ct
env = XDG_ICON_THEME,ePapirus-Dark
env = XDG_CURRENT_DESKTOP,Hyprland
env = XDG_SESSION_TYPE,wayland
env = XDG_SESSION_DESKTOP,Hyprland
env = EDITOR=nvim
# █ █▄░█ █▀█ █░█ ▀█▀
# █ █░▀█ █▀▀ █▄█ ░█░
#--> https://wiki.hyprland.org/Configuring/Variables/
input {
kb_layout = no
follow_mouse = 1
sensitivity = 0
force_no_accel = 1
accel_profile = "adaptive"
scroll_method = "2fg"
scroll_button = 0
scroll_button_lock = 0
scroll_factor = 1.0
natural_scroll = false
float_switch_override_focus = 1
scroll_points = "0.1 0.2 0.3 0.5 0.7 1.0"
}
#--> https://wiki.hyprland.org/Configuring/Variables/
gestures {
workspace_swipe = true
workspace_swipe_fingers = 3
}
# █░░ ▄▀█ █▄█ █▀█ █░█ ▀█▀ █▀
# █▄▄ █▀█ ░█░ █▄█ █▄█ ░█░ ▄█
#--> https://wiki.hyprland.org/Configuring/Dwindle-Layout/
dwindle {
pseudotile = yes
preserve_split = yes
}
#--> https://wiki.hyprland.org/Configuring/Master-Layout/
master {
new_status = master
}
xwayland {
force_zero_scaling = true
}
# █▀ █▀█ █░█ █▀█ █▀▀ █▀▀
# ▄█ █▄█ █▄█ █▀▄ █▄▄ ██▄
source = ~/.config/hypr/animations.conf
source = ~/.config/hypr/keybindings.conf
source = ~/.config/hypr/windowrules.conf
source = ~/.config/hypr/monitors.conf
source = ~/.config/hypr/themes/theme.conf
source = ~/.config/hypr/themes/common.conf
Config File: /home/tickbase/.config/hypr/animations.conf: Read Succeeded
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/tickbase/.config/hypr/keybindings.conf: Read Succeeded
# █▄▀ █▀▀ █▄█ █▄▄ █ █▄░█ █▀▄ █ █▄░█ █▀▀ █▀
# █░█ ██▄ ░█░ █▄█ █ █░▀█ █▄▀ █ █░▀█ █▄█ ▄█
#--> https://wiki.hyprland.org/Configuring/Keywords/
#--> https://wiki.hyprland.org/Configuring/Binds/
# Main modifier
$mainMod = SUPER
# assign apps
$terminal = alacritty
$fileManager = nemo
$menu = /home/tickbase/.config/rofi/launchers/type-1/launcher.sh -show drun
$powermenu = /home/tickbase/.config/rofi/powermenu/type-1/powermenu.sh
$print = $scrPath/screenshot.sh
$picker = $scrPath/hyprpicker.sh
# Window/Session actions
bind = $mainMod, W, killactive, # Close active window
bind = $mainMod, Delete, exit, # Kill hyprland session
bind = $mainMod, V, togglefloating, # Toggle the window between focus and float
bind = $mainMod, F, fullscreen, # Toggle the window between focus and fullscreen
bind = $mainMod, DOWN, togglesplit, # Toggle the window between focus and split
bind = $mainMod, L, exec, hyprlock # Launch lock screen
bindm = $mainMod, mouse:272, movewindow # Move windows
bindm = $mainMod, mouse:273, resizewindow # Resize windows
# Application Shortcuts
bind = $mainMod, Return, exec, $terminal # Launch Terminal
bind = $mainMod, E, exec, $fileManager # Launch file manager
bind = $mainMod, Space, exec, $menu # Launch application launcher
bind = $mainMod, P, exec, $powermenu # Launch powermenu
bind = $mainMod, C, exec, $picker # Launch color picker
bind =,Print, exec, $scrPath/screenshot.sh # Take a screenshot
# Audio Control
bindel=, XF86AudioRaiseVolume, exec, amixer set Master 5%+; $scrPath/volume_notify.sh # Increase volume
bindel=, XF86AudioLowerVolume, exec, amixer set Master 5%-; $scrPath/volume_notify.sh # Decrease volume
bindl=, XF86AudioMute, exec, amixer set Master toggle; $scrPath/volume_notify.sh # Toggle audio mute
# Media Control
bindel=, XF86AudioPrev, exec, $scrPath/media-controlv2.sh save; $scrPath/media-controlv2.sh previous # Media previous
bindel=, XF86AudioNext, exec, $scrPath/media-controlv2.sh save; $scrPath/media-controlv2.sh next # Media next
bindel=, XF86AudioPlay, exec, $scrPath/media-controlv2.sh save; $scrPath/media-controlv2.sh play-pause # Toggle between play and pause
# 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
# Move/Change window focus
bind = $mainMod, left, movefocus, l
bind = $mainMod, right, movefocus, r
bind = $mainMod, up, movefocus, u
bind = $mainMod, down, movefocus, d
# 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
# Scroll through existing workspaces
bind = $mainMod, mouse_down, workspace, e+1
bind = $mainMod, mouse_up, workspace, e-1
Config File: /home/tickbase/.config/hypr/windowrules.conf: Read Succeeded
# █░█░█ █ █▄░█ █▀▄ █▀█ █░█░█ █▀█ █░█ █░░ █▀▀ █▀
# ▀▄▀▄▀ █ █░▀█ █▄▀ █▄█ ▀▄▀▄▀ █▀▄ █▄█ █▄▄ ██▄ ▄█
#--> https://wiki.hyprland.org/Configuring/Window-Rules/
# Wallpaper waybar
windowrule = float, ^(waypaper)$
windowrule = move 900 60, ^(waypaper)$
windowrulev2 = float,class:(vpn.py),title:(WireGuard VPN Manager)
windowrulev2 = float,class:(wallpaper.py),title:(Wallpaper Selector)
windowrulev2 = float,class:(main.py),title:(Inventory Management)
Config File: /home/tickbase/.config/hypr/monitors.conf: Read Succeeded
# █▀▄▀█ █▀█ █▄░█ █ ▀█▀ █▀█ █▀█
# █░▀░█ █▄█ █░▀█ █ ░█░ █▄█ █▀▄
monitor=DP-1,1920x1080@144,1920x1080,1
monitor=DP-2,1920x1080@60,3840x1080,1
monitor=DP-3,1920x1080@60,0x1080,1
monitor=HDMI-A-1,1920x1080@60,1920x0,1
Config File: /home/tickbase/.config/hypr/themes/theme.conf: Read Succeeded
exec = gsettings set org.gnome.desktop.interface icon-theme 'ePapirus-Dark'
exec = gsettings set org.gnome.desktop.interface gtk-theme 'Nordic-darker'
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(8fbcbbff) rgba(5e81acff) 45deg
col.inactive_border = rgba(4c566aff) rgba(3b4252ff) 45deg
layout = dwindle
resize_on_border = true
}
group {
col.border_active = rgba(ca9ee6ff) rgba(f2d5cfff) 45deg
col.border_inactive = rgba(b4befecc) rgba(6c7086cc) 45deg
col.border_locked_active = rgba(ca9ee6ff) rgba(f2d5cfff) 45deg
col.border_locked_inactive = rgba(b4befecc) rgba(6c7086cc) 45deg
}
decoration {
rounding = 10
drop_shadow = false
blur {
enabled = yes
size = 6
passes = 3
new_optimizations = on
ignore_opacity = on
xray = false
}
}
layerrule = blur,waybar
Config File: /home/tickbase/.config/hypr/themes/common.conf: Read Succeeded
# █▀▀ █░█ █▀█ █▀ █▀█ █▀█
# █▄▄ █▄█ █▀▄ ▄█ █▄█ █▀▄
exec = hyprctl setcursor Nordzy-cursors 14
exec = gsettings set org.gnome.desktop.interface cursor-theme 'Nordzy-cursors'
exec = gsettings set org.gnome.desktop.interface cursor-size 14
# █▀▀ █▀█ █▄░█ ▀█▀
# █▀░ █▄█ █░▀█ ░█
exec = gsettings set org.gnome.desktop.interface font-name 'Liga SFMono Nerd Font'
exec = gsettings set org.gnome.desktop.interface document-font-name 'Liga SFMono Nerd Font'
exec = gsettings set org.gnome.desktop.interface monospace-font-name 'Liga SFMono Nerd Font'
exec = gsettings set org.gnome.desktop.interface font-antialiasing 'rgba'
exec = gsettings set org.gnome.desktop.interface font-hinting 'full'
======Config-End========
Description
I have 3 monitors and a tv as my main setup and they are configured with this layout: HDMI-A-1 DP-1 DP-2 DP-3
This has worked flawlessly for awhile and i have experienced 0 issues until maybe 2 or 3 weeks ago when electron apps in specific stopped getting focus and became completely "frozen" and it specifically happens on my left monitor. If i swap DP-1 and DP-3 and swap them back then its fine again but after some time the same issues start happening. I have 0 clue why it happens.
How to reproduce
To reproduce i have 0 clue how someone would. I assume it could be related to putting computer to sleep a couple times. Disconnecting mouse and using it wirelessly (i do this from time to time), etc. hyprland.log
Crash reports, logs, images, videos
No response
electron on xwayland?
I have the same issue, not only in Electron, but all xwayland windows.
I have two monitors; on the left side, there is a 3440x1440 monitor; on the right side, there is a 2560x1440 one. If I open an xwayland window on the left (bigger) monitor, only the right side of the window is clickable. I'm not sure, but I assume that if my cursor is in the x, y position, the xwayland window registers it in the min(x, 2560), y position. In other words, if the cursor is on the far left side (close to x=0), I cannot click the buttons there; instead, a button gets clicked on the same y coordinate, but on the middle of the right half of the monitor (around x = 2560, i didn't measure it properly).
Also note that I'm using the split-monitor-workspaces plugin; I'm not sure if it has anything to do with this.
I think I have the same issues too. If I change one of my monitor configs like monitor = DP-3, 2560x1440@120, 0x0, 1 to monitor = DP-3, 2560x1440@120, 0x0, 1, bitdepth, 10 it seems to fix it. However, the issue would happen again after I reboot, even with the added bitdepth, 10 config, which I would then remove to temporarily fix it, and vice versa. So far, I've had this issue with VSCode and XIVLauncher
I think I have the same issues too. If I change one of my monitor configs like
monitor = DP-3, 2560x1440@120, 0x0, 1tomonitor = DP-3, 2560x1440@120, 0x0, 1, bitdepth, 10it seems to fix it. However, the issue would happen again after I reboot, even with the addedbitdepth, 10config, which I would then remove to temporarily fix it, and vice versa. So far, I've had this issue with VSCode and XIVLauncher
I have the same issue , especitailly in wechat-universal-bwrap and r3playx, and change monitor to bitdepth, 10 also have temporarily fixed it.
My electron apps started going crazy about 2-3 weeks ago. Really terrible rendering that made them unusable and made my system crash. I ended up removing all electron/ozone flag configs including ones set in chromium-based browsers @chrome://flags and that fixed it for me. Not sure if this is the same issue you are referring to, but it might be worth checking.
Setting:
env = ELECTRON_USE_OZONE,1
env = OZONE_PLATFORM,wayland
env = GDK_BACKEND,wayland
Fixed the issues for me.
Having same issue. Any Chromium based app/browser is unusable on the left side. I have to run two windows and keep Steam or brave on the right side of the screen in order to use them.
An update fixed it for me. My current hyprctl version:
Hyprland, built from branch at commit 918d8340afd652b011b937d29d5eea0be08467f5 (flake.lock: update).
Date: Tue Jun 25 12:06:02 2024
Tag: v0.41.2, commits: 4886
flags: (if any)
doing --ozone-platform-hint=auto (making it not run in XWayland) fixed it for me
This is still happening for me with xwayland electron windows on latest git (commit 312411fc7073143a8bf1fc3ba23ef403b7d15eee). Adding --ozone-platform-hint=wayland indeed fixes it, but not all my apps work well that way.
I think the issue happens if you turn off a monitor, and then turn it back on. I have two monitors, and I used to regularly turn off and turn back on one of them. I stopped doing that, and since then, I haven't seen this issue.
Can confirm, that the way to reproduce this is to turn off and back on any monitor (I specifically do my main, middle one, on a triple setup). And it also only happens on xwayland windows (afaik), which I still have to use due to #2588. I've worked around this by ditching monitor configuration in Hyprland and using Kanshi, but it's not as convenient, especially because there is no way to prevent Hyprland from messing with the monitors on a reload. So i just kill, and run kanshi on every reload...
Edit: nevermind, Kanshi didn't solve it completely, it does still happen sometimes.. maybe in combination with suspending the PC? who knows
Just for the record, I'm also having this issue. Has any fix been found? I'm unable to click on any electron apps on my rightmost monitor after it has been set from extend->mirror, then mirror->extend.
Hello there!
This issue has been closed, as we are moving from issues to discussions. More about this can be found here and in #9854.
Firstly, please make sure this issue is still relevant in latest Hyprland. If so, we ask you to open a discussion (please read the discussion guidelines first, in the pinned post)
Thank you for your understanding!