Hyprland icon indicating copy to clipboard operation
Hyprland copied to clipboard

Binding a persistent workspace to a monitor does not work

Open LokiNaBoki opened this issue 10 months ago • 5 comments

Already reported ? *

  • [x] I have searched the existing open and closed issues.

Regression?

Definitely a regression - something broke after update (requires bisect)

System Info and Hyprland Version

System/Version info
Hyprland 0.47.1 built from branch  at commit 75dff7205f6d2bd437abfb4196f700abee92581a  (version: bump to 0.47.1).
Date: Wed Jan 29 23:19:39 2025
Tag: v0.47.1, commits: 5756
built against:
 aquamarine 0.7.2
 hyprlang 0.6.0
 hyprutils 0.5.0
 hyprcursor 0.1.11
 hyprgraphics 0.1.1


no flags were set


System Information:
System name: Linux
Node name: Asgard
Release: 6.12.10-arch1-1
Version: #1 SMP PREEMPT_DYNAMIC Sat, 18 Jan 2025 02:26:57 +0000


GPU information: 
29:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Ellesmere [Radeon RX 470/480/570/570X/580/580X/590] [1002:67df] (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:

Description

Persistent workspaces that should be attached to a monitor with

workspace = $NAME,monitor:$MONITOR,persistent:true

are not attached to the specified monitor.

hyprctl_log.txt

Reloading Hyprland does fix some of the workspaces, but not all of them (in the hyprctl_log.txt R2 is still on the wrong monitor). This does not occur when workspaces are not marked as persistent.

I bisected the problem to this commit: 16aeb24bc1395b46d675ec3522ed452e487f5b69

How to reproduce

  1. Start a Hyprland session with the attached config

Attach not paste

  • [x] I understand that all text files must be attached, and not pasted directly. If not respected, this issue will likely get closed as spam

Checklist of files to include below

  • [x] Hyprland config - hyprctl systeminfo -c (always include)
  • [ ] Crash report (always include in case of crash)
  • [ ] Video (always include in case of a visual bug)
  • [x] Logs (might contain useful info such as errors)

Additional info & File uploads

hyprland.log

hyprland_config_dump.txt

LokiNaBoki avatar Jan 30 '25 15:01 LokiNaBoki

it does work for me...

Image

then I create WAYLAND-2 and it does get opened there

vaxerski avatar Jan 31 '25 12:01 vaxerski

I have done a bit more testing and here are the results:

W order Persistent Default Monitor_L Monitor_R Is correct
L1L2 R1R2 Yes Yes L1 L2 R1 R2 Yes
R1R2 L1L2 Yes Yes R1 L1 L2 R2 No
L1L2 R1R2 No Yes L1 L2 R1 R2 Yes
R1R2 L1L2 No Yes L1 L2 R1 R2 Yes
L1L2 R1R2 Yes No L2 1 L1 R1 R2 No
R1R2 L1L2 Yes No R1 L1 L2 1 R2 No
L1L2 R1R2 No No L1 L2 1 R1 R2 Yes
R1R2 L1L2 No No L1 L2 1 R1 R2 Yes
  • W order shows the order of the workspace rules in the config:
    • L1L2 R1R2

      workspace = name:L1, monitor:$MONITOR_L,...
      workspace = name:L2, monitor:$MONITOR_L,...
      workspace = name:R1, monitor:$MONITOR_R,...
      workspace = name:R2, monitor:$MONITOR_R,...
      
    • R1R2 L1L2

      workspace = name:R1, monitor:$MONITOR_R,...
      workspace = name:R2, monitor:$MONITOR_R,...
      workspace = name:L1, monitor:$MONITOR_L,...
      workspace = name:L2, monitor:$MONITOR_L,...
      
  • Persistent whether there is a persistent:true in workspace rules
  • Default whether there is a default:true in workspace rules
  • Monitor_L/Monitor_R shows workspaces on the $MONITOR_L/$MONITOR_R (checked with hyprctl workspaces after going through each named workspace and opening an empty terminal on each of them)
  • Is correct shows whether the result is correct.

I also tried swapping the monitors (so $MONITOR_R is put on the left instead of the right), but it did not change anything).

$MONITOR_L is the "default" one - it has the cursor when Hyprland starts, is the one recognized by games.

LokiNaBoki avatar Jan 31 '25 22:01 LokiNaBoki

I'll put this under 0.48 to not forget... but thats weird

vaxerski avatar Feb 01 '25 22:02 vaxerski

@LokiNaBoki i just modified a bit the persistence handling function, could you please remake your test with the latest main and see if you still have issues?

hariseldon78 avatar Feb 15 '25 23:02 hariseldon78

I have remade the test at 897ee276dc0a8a6b11a8102b225a9e969faac0bf (3 commits after yours, neither related to workspaces), and the results are the same.

LokiNaBoki avatar Feb 16 '25 10:02 LokiNaBoki

im going to attempt to fix this, i was able to repro

ghost avatar Feb 19 '25 21:02 ghost

are u sure https://github.com/hyprwm/Hyprland/commit/16aeb24bc1395b46d675ec3522ed452e487f5b69 caused this

ghost avatar Mar 02 '25 02:03 ghost

Tested again 74d0f34 (parent of 16aeb24) works correctly, while both 16aeb24 and f1ef724 (current HEAD) are wrong. I used this config:

$MONITOR_L = HDMI-A-1
$MONITOR_R = DP-3

monitor = $MONITOR_L, 1280x1024@75, 0x0,    1
monitor = $MONITOR_R, 1920x1080@60, 1280x0, 1

workspace = name:R1, monitor:$MONITOR_R,persistent:true
workspace = name:R2, monitor:$MONITOR_R,persistent:true

workspace = name:L1, monitor:$MONITOR_L,persistent:true
workspace = name:L2, monitor:$MONITOR_L,persistent:true

bind = SUPER, 1, workspace,name:L1
bind = SUPER, 2, workspace,name:L2

bind = SUPER SHIFT, 1, workspace,name:R1
bind = SUPER SHIFT, 2, workspace,name:R2

bind = SUPER, M, exit
bind = SUPER, T, exec,kitty

Initially I did a bisect between v0.46.0 (788ae58) and 32c0fa2f (a bit after v0.47.0)

LokiNaBoki avatar Mar 03 '25 16:03 LokiNaBoki

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!

vaxerski avatar Apr 05 '25 18:04 vaxerski