though 'nofocus' still bring cursor to the workspace
vincentaxhe opened this issue · comments
Hyprland Version
System/Version info
Hyprland, built from branch HEAD at commit 1c460e98f870676b15871fe4e5bfeb1a32a3d6d8 (props: bump ver to 0.36.0).
Date: Wed Feb 28 00:32:40 2024
Tag: v0.36.0
flags: (if any)
System Information:
System name: Linux
Node name: vincent-laptop
Release: 6.6.25-1-MANJARO
Version: #1 SMP PREEMPT_DYNAMIC Thu Apr 4 20:32:38 UTC 2024
GPU information:
0000:00:02.0 VGA compatible controller [0300]: Intel Corporation TigerLake-LP GT2 [Iris Xe Graphics] [8086:9a49] (rev 01) (prog-if 00 [VGA controller])
os-release: NAME="Manjaro Linux"
PRETTY_NAME="Manjaro Linux"
ID=manjaro
ID_LIKE=arch
BUILD_ID=rolling
ANSI_COLOR="32;1;24;144;200"
HOME_URL="https://manjaro.org/"
DOCUMENTATION_URL="https://wiki.manjaro.org/"
SUPPORT_URL="https://forum.manjaro.org/"
BUG_REPORT_URL="https://docs.manjaro.org/reporting-bugs/"
PRIVACY_POLICY_URL="https://manjaro.org/privacy-policy/"
LOGO=manjarolinux
VERSION=rolling
plugins:
Bug or Regression?
Bug
Description
follow_mouse = 0
windowrule = pin, deadd-notification-center
windowrule = monitor 1, deadd-notification-center
windowrule = move 2000 100, deadd-notification-center
windowrule = nofocus, deadd-notification-center
deadd-notification will only show in monitor 1 and nofocus, when on monitor 1 works fine, but when on monitor 0, deadd-notification show still bring focus to monitor 1 to some window.
How to reproduce
try above
Crash reports, logs, images, videos
No response
is deadd an xwayland app?
no, 'xwayland 0'. It's a notification app written by python, mainly could replace process which xfce4-notify would not do.
why is it opening a window then and not a layersurface?
It did use window instead of wlr-layer-shell,it can add some buttons on the notification, so It needs some rules on it.But since it's nofocused , but still noticed and trigger focus switch.
I can see why Hyprland is doing it ,nofocused window can still switch focus on it because it's still a member of windows, In this case I want it be completely ignored.
is it need 'slient'?
just try windowrule = move 2000 100 silent, deadd-notification-center
,but did not fix
try noinitialfocus
too
windowrule = noinitialfocus, deadd-notification-center
It did not help, still bring focus to workspace where notification show
what's the hyprctl clients
output of the properties of the window in question?
Window 562651e81930 -> deadd-notification-center:
mapped: 1
hidden: 0
at: 3536,100
size: 500,130
workspace: 2 (2)
floating: 1
monitor: 1
class: deadd-notification-center
title: deadd-notification-center
initialClass: deadd-notification-center
initialTitle: deadd-notification-center
pid: 4332
xwayland: 0
pinned: 1
fullscreen: 0
fullscreenmode: 0
fakefullscreen: 0
grouped: 0
swallowing: 0
focusHistoryID: 6
I try windowrule = monitor 1 silent, deadd-notification-center
again, It works as expect ,did not move focus,but windowrule = move 2000 100, deadd-notification-center
is not applicable, It is based on monitor 0,need to add more than 1000 to width to move to the same spot on monitor 1, but when on monitor 1, it's too much ,out range of screen.
Though notification show did not switch focus by use 'monitor 1 silent', but make mpv on monitor 0 quit fullscreen to tile.here is my mpv settings.
workspace= 1, monitor:eDP-1, persistent:true, default:true
workspace= 2, monitor:HDMI-A-1, persistent:true, default:true
windowrulev2 = fullscreen, workspace:1
windowrule = workspace 1, mpv
windowrule = fullscreen, mpv
windowrulev2 = suppressevent maximize, class: mpv
windowrule = opaque, mpv
windowrule = noborder, mpv
windowrule = keepaspectratio, mpv
windowrule = dimaround, mpv
windowrule = idleinhibit fullscreen, mpv