hyprwm / Hyprland

Hyprland is a highly customizable dynamic tiling Wayland compositor that doesn't sacrifice on its looks.

Home Page:https://hyprland.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

commented

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.

commented

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

commented

try noinitialfocus too

windowrule = noinitialfocus, deadd-notification-center
It did not help, still bring focus to workspace where notification show

commented

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