Hyprland: focusworkspaceoncurrentmonitor doesn't fully focus after swap

Hyprland Version

System/Version info
Hyprland, built from branch main at commit 181f651de2e67917c7fcc72f7a69e6f4707954e5 dirty (vector: avoid min0 clamps without a max being invalid).
Date: Mon Feb 5 17:37:34 2024
Tag: v0.35.0-4-g181f651d

flags: (if any)


System Information:
System name: Linux
Node name: izumi
Release: 6.7.3-zen1-2-zen
Version: #1 ZEN SMP PREEMPT_DYNAMIC Fri, 02 Feb 2024 17:03:56 +0000


GPU information:
03:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 32 [Radeon RX 7700 XT / 7800 XT] [1002:747e] (rev c8) (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:

Bug or Regression?

Bug

Description

First of all, thanks for a resolution of the mouse dependency with this dispatcher.

Now I’ve noticed another unexpected behavior - after swapping workspaces by targeting one that is on another screen, the focus partially moves to the side screen:

  • ❌ col.active_border is seen on the side screen and col.inactive_border activates on the previously focused window on the current screen
  • ❌ keyboard input is on the windows on side screen
  • ✔️ hitting a binding to open a new app opens it on the current screen

I’ve only tested this with both screens having windows on them, hyprland is a bit unpredictable where empty workspaces are involved 😛

How to reproduce

Given I have 2 monitors
And I have "Window A" in "Workspace 1" on "Monitor DP-1"
And I have "Window B" in "Workspace 2" on "Monitor DP-2"
And "Window A" is focused
And I don't use the mouse at all

When I press "SUPER + 2 (focusworkspaceoncurrentmonitor , 2)"
 ✔️ Then "Workspace 2" should be moved to "Monitor DP-1"
 ✔️ And "Workspace 1" should be moved to "Monitor DP-2"
❌ And "Window B" on "Monitor DP-1" should be focused
 ✔️ And new windows should open on "Monitor DP-1" by default

But "Window B" gets "col.inactive_border" applied to it
And "Window A" gets "col.active_border" applied to it
And trying to type reveals that "Window A" on "Monitor DP-2" is receiving inputs

Crash reports, logs, images, videos

No response

About this issue

  • Original URL
  • State: closed
  • Created 5 months ago
  • Comments: 17 (7 by maintainers)

Commits related to this issue

Most upvoted comments

yes yes give me a moment I understand

I just did it “OBS skills” way. There are two of bugs to which I refer in one video: first is the strange animation when another workspace pops up in a half a second (00:20) and second in which workspaces (actually) swapped the wrong way with focusworkspaceoncurrentmonitor (and I’m sure they shouldn’t “swap” at all with dispatcher like that, 00:27).

P.S. And yes my “DP-1” and “DP-2” on this recording positioned right way like in my real setup. I “reversed” them in text of my previous reports/comments just for better understanding of the problem. Sorry for confusion xd bugs-1.mp4

That first issue should be fixed. The second swapping thing apparently is by design from what I can tell from the code. Maybe the people who added this feature liked it that way. You may wanna open a feature request for adding an alternative option if you would like it to behave the way you describe it.