-
-
Notifications
You must be signed in to change notification settings - Fork 728
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Hyprland/workspaces: window rewrite issues #2557
Comments
Hi there! hyprctl clients -j Glad you liked the feature and sorry for taking long to respond here! |
I reenabled the feature real quick and this is what I see when I log into my desktop. If I restart waybar I see all the icons like I have mapped. Well, space 1 is empty but it updates the icons once i open terminal to run my command. Another noted behavior is that I dragged my terminal to my other monitor and the window-rewrite disappears for it completely. hyprctl clients -j[{
"address": "0x36770d0",
"mapped": false,
"hidden": false,
"at": [0, 0],
"size": [0, 0],
"workspace": {
"id": -1,
"name": ""
},
"floating": false,
"monitor": -1,
"class": "",
"title": "",
"initialClass": "",
"initialTitle": "",
"pid": 0,
"xwayland": true,
"pinned": false,
"fullscreen": false,
"fullscreenMode": 0,
"fakeFullscreen": false,
"grouped": [],
"swallowing": "0x0"
},{
"address": "0x367c160",
"mapped": false,
"hidden": false,
"at": [0, 0],
"size": [0, 0],
"workspace": {
"id": -1,
"name": ""
},
"floating": false,
"monitor": -1,
"class": "",
"title": "",
"initialClass": "",
"initialTitle": "",
"pid": 0,
"xwayland": true,
"pinned": false,
"fullscreen": false,
"fullscreenMode": 0,
"fakeFullscreen": false,
"grouped": [],
"swallowing": "0x0"
},{
"address": "0x3686740",
"mapped": false,
"hidden": false,
"at": [0, 0],
"size": [0, 0],
"workspace": {
"id": -1,
"name": ""
},
"floating": false,
"monitor": -1,
"class": "",
"title": "",
"initialClass": "",
"initialTitle": "",
"pid": 0,
"xwayland": true,
"pinned": false,
"fullscreen": false,
"fullscreenMode": 0,
"fakeFullscreen": false,
"grouped": [],
"swallowing": "0x0"
},{
"address": "0x37254c0",
"mapped": false,
"hidden": false,
"at": [0, 0],
"size": [0, 0],
"workspace": {
"id": -1,
"name": ""
},
"floating": false,
"monitor": -1,
"class": "",
"title": "",
"initialClass": "",
"initialTitle": "",
"pid": 0,
"xwayland": true,
"pinned": false,
"fullscreen": false,
"fullscreenMode": 0,
"fakeFullscreen": false,
"grouped": [],
"swallowing": "0x0"
},{
"address": "0x36159a0",
"mapped": false,
"hidden": false,
"at": [0, 0],
"size": [0, 0],
"workspace": {
"id": -1,
"name": ""
},
"floating": false,
"monitor": -1,
"class": "",
"title": "",
"initialClass": "",
"initialTitle": "",
"pid": 0,
"xwayland": true,
"pinned": false,
"fullscreen": false,
"fullscreenMode": 0,
"fakeFullscreen": false,
"grouped": [],
"swallowing": "0x0"
},{
"address": "0x3616e70",
"mapped": true,
"hidden": false,
"at": [4096, 1166],
"size": [1000, 1330],
"workspace": {
"id": 8,
"name": "8"
},
"floating": true,
"monitor": 0,
"class": "virt-manager",
"title": "Virtual Machine Manager",
"initialClass": "virt-manager",
"initialTitle": "Virtual Machine Manager",
"pid": 4180,
"xwayland": false,
"pinned": false,
"fullscreen": false,
"fullscreenMode": 0,
"fakeFullscreen": false,
"grouped": [],
"swallowing": "0x0"
},{
"address": "0x377b5e0",
"mapped": true,
"hidden": false,
"at": [22, 1165],
"size": [5076, 1333],
"workspace": {
"id": 6,
"name": "6"
},
"floating": false,
"monitor": 0,
"class": "thunderbird",
"title": "Inbox - Unified Folders - Mozilla Thunderbird",
"initialClass": "thunderbird",
"initialTitle": "Mozilla Thunderbird",
"pid": 3954,
"xwayland": false,
"pinned": false,
"fullscreen": false,
"fullscreenMode": 0,
"fakeFullscreen": false,
"grouped": [],
"swallowing": "0x0"
},{
"address": "0x3780aa0",
"mapped": true,
"hidden": false,
"at": [2567, 1165],
"size": [2531, 1333],
"workspace": {
"id": 2,
"name": "2"
},
"floating": false,
"monitor": 0,
"class": "firefox",
"title": "Hyprland/workspaces: window rewrite issues · Issue #2557 · Alexays/Waybar — Mozilla Firefox",
"initialClass": "firefox",
"initialTitle": "Mozilla Firefox",
"pid": 3947,
"xwayland": false,
"pinned": false,
"fullscreen": false,
"fullscreenMode": 0,
"fakeFullscreen": false,
"grouped": [],
"swallowing": "0x0"
},{
"address": "0x379f240",
"mapped": true,
"hidden": false,
"at": [529, 1298],
"size": [4060, 1066],
"workspace": {
"id": -99,
"name": "special"
},
"floating": false,
"monitor": 0,
"class": "firefox",
"title": "41 hidden tabs - Workona — Mozilla Firefox",
"initialClass": "firefox",
"initialTitle": "Mozilla Firefox",
"pid": 3947,
"xwayland": false,
"pinned": false,
"fullscreen": false,
"fullscreenMode": 0,
"fakeFullscreen": false,
"grouped": [],
"swallowing": "0x0"
},{
"address": "0x37abac0",
"mapped": false,
"hidden": false,
"at": [0, 0],
"size": [0, 0],
"workspace": {
"id": -1,
"name": ""
},
"floating": false,
"monitor": -1,
"class": "",
"title": "",
"initialClass": "",
"initialTitle": "",
"pid": 0,
"xwayland": true,
"pinned": false,
"fullscreen": false,
"fullscreenMode": 0,
"fakeFullscreen": false,
"grouped": [],
"swallowing": "0x0"
},{
"address": "0x37aedc0",
"mapped": false,
"hidden": false,
"at": [0, 0],
"size": [0, 0],
"workspace": {
"id": -1,
"name": ""
},
"floating": false,
"monitor": -1,
"class": "",
"title": "",
"initialClass": "",
"initialTitle": "",
"pid": 0,
"xwayland": true,
"pinned": false,
"fullscreen": false,
"fullscreenMode": 0,
"fakeFullscreen": false,
"grouped": [],
"swallowing": "0x0"
},{
"address": "0x37b3ca0",
"mapped": true,
"hidden": false,
"at": [22, 1165],
"size": [5076, 1333],
"workspace": {
"id": 5,
"name": "5"
},
"floating": false,
"monitor": 0,
"class": "discord",
"title": "Friends - Discord",
"initialClass": "discord",
"initialTitle": " - Discord",
"pid": 3951,
"xwayland": false,
"pinned": false,
"fullscreen": false,
"fullscreenMode": 0,
"fakeFullscreen": false,
"grouped": [],
"swallowing": "0x0"
},{
"address": "0x37a3360",
"mapped": true,
"hidden": false,
"at": [1442, 85],
"size": [1876, 973],
"workspace": {
"id": 1,
"name": "1"
},
"floating": false,
"monitor": 1,
"class": "firefox",
"title": "(6) HORROR DEMOS DAY - Sea of Thieves at 9pm - Twitch — Mozilla Firefox",
"initialClass": "firefox",
"initialTitle": "Mozilla Firefox",
"pid": 3947,
"xwayland": false,
"pinned": false,
"fullscreen": false,
"fullscreenMode": 0,
"fakeFullscreen": false,
"grouped": [],
"swallowing": "0x0"
},{
"address": "0x53e1560",
"mapped": false,
"hidden": false,
"at": [0, 0],
"size": [0, 0],
"workspace": {
"id": -1,
"name": ""
},
"floating": false,
"monitor": -1,
"class": "",
"title": "",
"initialClass": "",
"initialTitle": "",
"pid": 0,
"xwayland": true,
"pinned": false,
"fullscreen": false,
"fullscreenMode": 0,
"fakeFullscreen": false,
"grouped": [],
"swallowing": "0x0"
},{
"address": "0x53ec130",
"mapped": true,
"hidden": false,
"at": [22, 1165],
"size": [2531, 1333],
"workspace": {
"id": 2,
"name": "2"
},
"floating": false,
"monitor": 0,
"class": "kitty",
"title": "zsh",
"initialClass": "kitty",
"initialTitle": "zsh",
"pid": 6354,
"xwayland": false,
"pinned": false,
"fullscreen": false,
"fullscreenMode": 0,
"fakeFullscreen": false,
"grouped": [],
"swallowing": "0x0"
},{
"address": "0x53f0b80",
"mapped": true,
"hidden": false,
"at": [22, 1165],
"size": [5076, 1333],
"workspace": {
"id": 4,
"name": "4"
},
"floating": false,
"monitor": 0,
"class": "steam",
"title": "Steam",
"initialClass": "steam",
"initialTitle": "Steam",
"pid": 5362,
"xwayland": true,
"pinned": false,
"fullscreen": false,
"fullscreenMode": 0,
"fakeFullscreen": false,
"grouped": [],
"swallowing": "0x0"
},{
"address": "0x53f2050",
"mapped": false,
"hidden": false,
"at": [0, 0],
"size": [0, 0],
"workspace": {
"id": -1,
"name": ""
},
"floating": false,
"monitor": -1,
"class": "",
"title": "",
"initialClass": "",
"initialTitle": "",
"pid": 0,
"xwayland": true,
"pinned": false,
"fullscreen": false,
"fullscreenMode": 0,
"fakeFullscreen": false,
"grouped": [],
"swallowing": "0x0"
},{
"address": "0x53f3520",
"mapped": false,
"hidden": false,
"at": [0, 0],
"size": [0, 0],
"workspace": {
"id": -1,
"name": ""
},
"floating": false,
"monitor": -1,
"class": "",
"title": "",
"initialClass": "",
"initialTitle": "",
"pid": 0,
"xwayland": true,
"pinned": false,
"fullscreen": false,
"fullscreenMode": 0,
"fakeFullscreen": false,
"grouped": [],
"swallowing": "0x0"
},{
"address": "0x540d600",
"mapped": false,
"hidden": false,
"at": [0, 0],
"size": [0, 0],
"workspace": {
"id": -1,
"name": ""
},
"floating": false,
"monitor": -1,
"class": "",
"title": "",
"initialClass": "",
"initialTitle": "",
"pid": 0,
"xwayland": true,
"pinned": false,
"fullscreen": false,
"fullscreenMode": 0,
"fakeFullscreen": false,
"grouped": [],
"swallowing": "0x0"
},{
"address": "0x540ead0",
"mapped": false,
"hidden": false,
"at": [0, 0],
"size": [0, 0],
"workspace": {
"id": -1,
"name": ""
},
"floating": false,
"monitor": -1,
"class": "",
"title": "",
"initialClass": "",
"initialTitle": "",
"pid": 0,
"xwayland": true,
"pinned": false,
"fullscreen": false,
"fullscreenMode": 0,
"fakeFullscreen": false,
"grouped": [],
"swallowing": "0x0"
},{
"address": "0x540ffa0",
"mapped": false,
"hidden": false,
"at": [0, 0],
"size": [0, 0],
"workspace": {
"id": -1,
"name": ""
},
"floating": false,
"monitor": -1,
"class": "",
"title": "",
"initialClass": "",
"initialTitle": "",
"pid": 0,
"xwayland": true,
"pinned": false,
"fullscreen": false,
"fullscreenMode": 0,
"fakeFullscreen": false,
"grouped": [],
"swallowing": "0x0"
},{
"address": "0x5411470",
"mapped": false,
"hidden": false,
"at": [0, 0],
"size": [0, 0],
"workspace": {
"id": -1,
"name": ""
},
"floating": false,
"monitor": -1,
"class": "",
"title": "",
"initialClass": "",
"initialTitle": "",
"pid": 0,
"xwayland": true,
"pinned": false,
"fullscreen": false,
"fullscreenMode": 0,
"fakeFullscreen": false,
"grouped": [],
"swallowing": "0x0"
},{
"address": "0x5412940",
"mapped": false,
"hidden": false,
"at": [0, 0],
"size": [0, 0],
"workspace": {
"id": -1,
"name": ""
},
"floating": false,
"monitor": -1,
"class": "",
"title": "",
"initialClass": "",
"initialTitle": "",
"pid": 0,
"xwayland": true,
"pinned": false,
"fullscreen": false,
"fullscreenMode": 0,
"fakeFullscreen": false,
"grouped": [],
"swallowing": "0x0"
},{
"address": "0x5413e10",
"mapped": false,
"hidden": false,
"at": [0, 0],
"size": [0, 0],
"workspace": {
"id": -1,
"name": ""
},
"floating": false,
"monitor": -1,
"class": "",
"title": "",
"initialClass": "",
"initialTitle": "",
"pid": 0,
"xwayland": true,
"pinned": false,
"fullscreen": false,
"fullscreenMode": 0,
"fakeFullscreen": false,
"grouped": [],
"swallowing": "0x0"
},{
"address": "0x54152e0",
"mapped": false,
"hidden": false,
"at": [0, 0],
"size": [0, 0],
"workspace": {
"id": -1,
"name": ""
},
"floating": false,
"monitor": -1,
"class": "",
"title": "",
"initialClass": "",
"initialTitle": "",
"pid": 0,
"xwayland": true,
"pinned": false,
"fullscreen": false,
"fullscreenMode": 0,
"fakeFullscreen": false,
"grouped": [],
"swallowing": "0x0"
},{
"address": "0x54167b0",
"mapped": false,
"hidden": false,
"at": [0, 0],
"size": [0, 0],
"workspace": {
"id": -1,
"name": ""
},
"floating": false,
"monitor": -1,
"class": "",
"title": "",
"initialClass": "",
"initialTitle": "",
"pid": 0,
"xwayland": true,
"pinned": false,
"fullscreen": false,
"fullscreenMode": 0,
"fakeFullscreen": false,
"grouped": [],
"swallowing": "0x0"
},{
"address": "0x5417c80",
"mapped": false,
"hidden": false,
"at": [0, 0],
"size": [0, 0],
"workspace": {
"id": -1,
"name": ""
},
"floating": false,
"monitor": -1,
"class": "",
"title": "",
"initialClass": "",
"initialTitle": "",
"pid": 0,
"xwayland": true,
"pinned": false,
"fullscreen": false,
"fullscreenMode": 0,
"fakeFullscreen": false,
"grouped": [],
"swallowing": "0x0"
},{
"address": "0x5419150",
"mapped": false,
"hidden": false,
"at": [0, 0],
"size": [0, 0],
"workspace": {
"id": -1,
"name": ""
},
"floating": false,
"monitor": -1,
"class": "",
"title": "",
"initialClass": "",
"initialTitle": "",
"pid": 0,
"xwayland": true,
"pinned": false,
"fullscreen": false,
"fullscreenMode": 0,
"fakeFullscreen": false,
"grouped": [],
"swallowing": "0x0"
},{
"address": "0x541a620",
"mapped": false,
"hidden": false,
"at": [0, 0],
"size": [0, 0],
"workspace": {
"id": -1,
"name": ""
},
"floating": false,
"monitor": -1,
"class": "",
"title": "",
"initialClass": "",
"initialTitle": "",
"pid": 0,
"xwayland": true,
"pinned": false,
"fullscreen": false,
"fullscreenMode": 0,
"fakeFullscreen": false,
"grouped": [],
"swallowing": "0x0"
}]
|
Thanks for the reply! I noticed the firefox and kitty from Workspace 2 are being displayed; were they launched differently from the other apps? For example, did you launch them manually while other apps were launched by a startup script? If so, is every new window created manually by you being displayed correctly in the bar? Asking this because it's quite odd that it works fine after restarting the bar. Maybe the apps were initialized before Hyprland could report that new windows were open via the socket, or maybe they were launched with different classes than what's appearing in the command output. One thing that surely doesn't help is that Waybar currently never reevaluates open apps. That's changing with #2563, so maybe that will help with this problem even if it's not a direct fix. |
Yeah, workspace 2 displayed icons after I launched kitty to run |
Does waybar start before or after the apps in this file? In either case, could you invert the order and see if it changes anything? |
Waybar is running as a systemd service. The others are just exec-once commands in my config. |
Could you attempt to initialize it in |
I also noticed that moving a window from one monitor to another doesn't update the window-rewrite icons. So if i restart waybar to show all the icons, then move the browser from my one monitor to the other. The icon for that window just disappears from waybar until I restart waybar again. It looks like moving between workspaces on the same monitor works fine. |
That's odd; it works perfectly fine for me when sending it accross monitors and workspaces. Here's a video: waybar_proof.mp4 |
Is that one bar on multiple monitors? I have a bar for each monitor. |
I have one bar on each monitor as well, and they show the same workspaceas and windows in both displays |
Alright, if you're not able to replicate the issue i'll have to dedicate some time to debugging it if i want to use the feature again. |
I managed to see it happening today. Tracked it and found what was wrong with it. @khaneliman could you try with #2578 and see if it fixes it for you? |
Cool, I’ll try when I get home! |
Doesn't appear to resolve the issue, for me. :S |
Does it at least fix the problem of sending windows to other monitors? Like you described:
|
Sorry, I wasn't clear. Yeah, that's the issue I tested. 2023-10-17.08-10-25.mp4overlay to use this PR _: (_final: prev: {
waybar = prev.waybar.overrideAttrs (old: {
version = "2578";
src = prev.fetchFromGitHub {
owner = "Alexays";
repo = "waybar";
rev = "pull/2578/head";
hash = "sha256-BhvPHxoclqR0I7v95AoI7D0I6WX5oKUZ1UdBj5LfOEE=";
};
});
}) |
That's pretty odd. Could you attempt something? Clone the branch from #2578 and edit this line: https://github.com/Alexays/Waybar/pull/2578/files#diff-57865649be0543861f45b61a80674fabb9efded10e599ad29a40f226b1d66e8fR208. Change the number |
Also sidenote but I love the looks of your system. Firefox looks especially nice, how did you mange to get it looking like that? |
Sure, i'll create a patch file for my overlay a little later when I get a break from work.
Thanks, I have an extension for tab management and a theme for adjusting size and color of elements. https://github.com/khaneliman/khanelinix/blob/main/modules/nixos/apps/firefox/default.nix#L143 |
Nah, looks like same issue. This is what I see for IPC log events when dragging window between monitors. The only thing I see is that I'm not creating a workspace, just moving between existing workspaces (persistent). Not sure if that's relevant or helpful, i haven't dove into the code, yet to troubleshoot. EDIT: or does it have anything to do with the empty activewindow events in between? |
Oh, it might actually have to do with the persistent workspaces like you mentioned! I'll experiment with it later and release a fix in the same PR if so. Btw, could you post the contents of |
Here's with just kitty open and dragging it from main to secondary and back IPC events[2023-10-17 11:52:02.817] [debug] hyprland IPC received changefloatingmode>>23ef4f0,1
[2023-10-17 11:52:02.821] [debug] hyprland IPC received activewindow>>kitty,zsh
[2023-10-17 11:52:02.824] [debug] hyprland IPC received activewindowv2>>23ef4f0
[2023-10-17 11:52:03.180] [debug] hyprland IPC received movewindow>>23ef4f0,1
[2023-10-17 11:52:03.185] [debug] hyprland IPC received focusedmon>>DP-3,1
[2023-10-17 11:52:03.611] [debug] hyprland IPC received activewindow>>,
[2023-10-17 11:52:03.645] [debug] hyprland IPC received activewindowv2>>,
[2023-10-17 11:52:03.646] [debug] hyprland IPC received changefloatingmode>>23ef4f0,0
[2023-10-17 11:52:03.649] [debug] hyprland IPC received activewindow>>kitty,zsh
[2023-10-17 11:52:03.652] [debug] hyprland IPC received activewindowv2>>23ef4f0
[2023-10-17 11:52:04.581] [debug] hyprland IPC received changefloatingmode>>23ef4f0,1
[2023-10-17 11:52:04.584] [debug] hyprland IPC received activewindow>>kitty,zsh
[2023-10-17 11:52:04.587] [debug] hyprland IPC received activewindowv2>>23ef4f0
[2023-10-17 11:52:04.887] [debug] hyprland IPC received focusedmon>>DP-1,2
[2023-10-17 11:52:04.888] [debug] hyprland IPC received movewindow>>23ef4f0,2
[2023-10-17 11:52:05.423] [debug] hyprland IPC received activewindow>>,
[2023-10-17 11:52:05.427] [debug] hyprland IPC received activewindowv2>>,
[2023-10-17 11:52:05.428] [debug] hyprland IPC received changefloatingmode>>23ef4f0,0
[2023-10-17 11:52:05.431] [debug] hyprland IPC received activewindow>>kitty,zsh
[2023-10-17 11:52:05.434] [debug] hyprland IPC received activewindowv2>>23ef4f0 clients[{
"address": "0x2c1a210",
"mapped": true,
"hidden": false,
"at": [0, 0],
"size": [0, 0],
"workspace": {
"id": -99,
"name": "special"
},
"floating": false,
"monitor": 0,
"class": "scratchpad",
"title": "zsh",
"initialClass": "scratchpad",
"initialTitle": "zsh",
"pid": 4133,
"xwayland": false,
"pinned": false,
"fullscreen": false,
"fullscreenMode": 0,
"fakeFullscreen": false,
"grouped": [],
"swallowing": "0x0"
},{
"address": "0x2d85760",
"mapped": false,
"hidden": false,
"at": [0, 0],
"size": [0, 0],
"workspace": {
"id": -1,
"name": ""
},
"floating": false,
"monitor": -1,
"class": "",
"title": "",
"initialClass": "",
"initialTitle": "",
"pid": 0,
"xwayland": true,
"pinned": false,
"fullscreen": false,
"fullscreenMode": 0,
"fakeFullscreen": false,
"grouped": [],
"swallowing": "0x0"
},{
"address": "0x2d7de30",
"mapped": false,
"hidden": false,
"at": [0, 0],
"size": [0, 0],
"workspace": {
"id": -1,
"name": ""
},
"floating": false,
"monitor": -1,
"class": "",
"title": "",
"initialClass": "",
"initialTitle": "",
"pid": 0,
"xwayland": true,
"pinned": false,
"fullscreen": false,
"fullscreenMode": 0,
"fakeFullscreen": false,
"grouped": [],
"swallowing": "0x0"
},{
"address": "0x2d7f300",
"mapped": false,
"hidden": false,
"at": [0, 0],
"size": [0, 0],
"workspace": {
"id": -1,
"name": ""
},
"floating": false,
"monitor": -1,
"class": "",
"title": "",
"initialClass": "",
"initialTitle": "",
"pid": 0,
"xwayland": true,
"pinned": false,
"fullscreen": false,
"fullscreenMode": 0,
"fakeFullscreen": false,
"grouped": [],
"swallowing": "0x0"
},{
"address": "0x2c66410",
"mapped": false,
"hidden": false,
"at": [0, 0],
"size": [0, 0],
"workspace": {
"id": -1,
"name": ""
},
"floating": false,
"monitor": -1,
"class": "",
"title": "",
"initialClass": "",
"initialTitle": "",
"pid": 0,
"xwayland": true,
"pinned": false,
"fullscreen": false,
"fullscreenMode": 0,
"fakeFullscreen": false,
"grouped": [],
"swallowing": "0x0"
},{
"address": "0x2c249a0",
"mapped": false,
"hidden": false,
"at": [0, 0],
"size": [0, 0],
"workspace": {
"id": -1,
"name": ""
},
"floating": false,
"monitor": -1,
"class": "",
"title": "",
"initialClass": "",
"initialTitle": "",
"pid": 0,
"xwayland": true,
"pinned": false,
"fullscreen": false,
"fullscreenMode": 0,
"fakeFullscreen": false,
"grouped": [],
"swallowing": "0x0"
},{
"address": "0x2dbe190",
"mapped": false,
"hidden": false,
"at": [0, 0],
"size": [0, 0],
"workspace": {
"id": -1,
"name": ""
},
"floating": false,
"monitor": -1,
"class": "",
"title": "",
"initialClass": "",
"initialTitle": "",
"pid": 0,
"xwayland": true,
"pinned": false,
"fullscreen": false,
"fullscreenMode": 0,
"fakeFullscreen": false,
"grouped": [],
"swallowing": "0x0"
},{
"address": "0x2dbf660",
"mapped": false,
"hidden": false,
"at": [0, 0],
"size": [0, 0],
"workspace": {
"id": -1,
"name": ""
},
"floating": false,
"monitor": -1,
"class": "",
"title": "",
"initialClass": "",
"initialTitle": "",
"pid": 0,
"xwayland": true,
"pinned": false,
"fullscreen": false,
"fullscreenMode": 0,
"fakeFullscreen": false,
"grouped": [],
"swallowing": "0x0"
},{
"address": "0x2dc6b20",
"mapped": false,
"hidden": false,
"at": [0, 0],
"size": [0, 0],
"workspace": {
"id": -1,
"name": ""
},
"floating": false,
"monitor": -1,
"class": "",
"title": "",
"initialClass": "",
"initialTitle": "",
"pid": 0,
"xwayland": true,
"pinned": false,
"fullscreen": false,
"fullscreenMode": 0,
"fakeFullscreen": false,
"grouped": [],
"swallowing": "0x0"
},{
"address": "0x49f0f40",
"mapped": false,
"hidden": false,
"at": [2306, 1770],
"size": [507, 132],
"workspace": {
"id": 4,
"name": "Invalid workspace 4"
},
"floating": false,
"monitor": 0,
"class": "",
"title": "",
"initialClass": "steam",
"initialTitle": "Steam",
"pid": 7975,
"xwayland": true,
"pinned": false,
"fullscreen": false,
"fullscreenMode": 0,
"fakeFullscreen": false,
"grouped": [],
"swallowing": "0x0"
},{
"address": "0x49f2410",
"mapped": false,
"hidden": false,
"at": [0, 0],
"size": [0, 0],
"workspace": {
"id": -1,
"name": ""
},
"floating": false,
"monitor": -1,
"class": "",
"title": "",
"initialClass": "",
"initialTitle": "",
"pid": 0,
"xwayland": true,
"pinned": false,
"fullscreen": false,
"fullscreenMode": 0,
"fakeFullscreen": false,
"grouped": [],
"swallowing": "0x0"
},{
"address": "0x49f38e0",
"mapped": false,
"hidden": false,
"at": [0, 0],
"size": [0, 0],
"workspace": {
"id": -1,
"name": ""
},
"floating": false,
"monitor": -1,
"class": "",
"title": "",
"initialClass": "",
"initialTitle": "",
"pid": 0,
"xwayland": true,
"pinned": false,
"fullscreen": false,
"fullscreenMode": 0,
"fakeFullscreen": false,
"grouped": [],
"swallowing": "0x0"
},{
"address": "0x243a6f0",
"mapped": false,
"hidden": false,
"at": [0, 0],
"size": [0, 0],
"workspace": {
"id": -1,
"name": ""
},
"floating": false,
"monitor": -1,
"class": "",
"title": "",
"initialClass": "",
"initialTitle": "",
"pid": 0,
"xwayland": true,
"pinned": false,
"fullscreen": false,
"fullscreenMode": 0,
"fakeFullscreen": false,
"grouped": [],
"swallowing": "0x0"
},{
"address": "0x2356ae0",
"mapped": false,
"hidden": false,
"at": [0, 0],
"size": [0, 0],
"workspace": {
"id": -1,
"name": ""
},
"floating": false,
"monitor": -1,
"class": "",
"title": "",
"initialClass": "",
"initialTitle": "",
"pid": 0,
"xwayland": true,
"pinned": false,
"fullscreen": false,
"fullscreenMode": 0,
"fakeFullscreen": false,
"grouped": [],
"swallowing": "0x0"
},{
"address": "0x234f310",
"mapped": false,
"hidden": false,
"at": [0, 0],
"size": [0, 0],
"workspace": {
"id": -1,
"name": ""
},
"floating": false,
"monitor": -1,
"class": "",
"title": "",
"initialClass": "",
"initialTitle": "",
"pid": 0,
"xwayland": true,
"pinned": false,
"fullscreen": false,
"fullscreenMode": 0,
"fakeFullscreen": false,
"grouped": [],
"swallowing": "0x0"
},{
"address": "0x231fc60",
"mapped": false,
"hidden": false,
"at": [0, 0],
"size": [0, 0],
"workspace": {
"id": -1,
"name": ""
},
"floating": false,
"monitor": -1,
"class": "",
"title": "",
"initialClass": "",
"initialTitle": "",
"pid": 0,
"xwayland": true,
"pinned": false,
"fullscreen": false,
"fullscreenMode": 0,
"fakeFullscreen": false,
"grouped": [],
"swallowing": "0x0"
},{
"address": "0x23252a0",
"mapped": false,
"hidden": false,
"at": [0, 0],
"size": [0, 0],
"workspace": {
"id": -1,
"name": ""
},
"floating": false,
"monitor": -1,
"class": "",
"title": "",
"initialClass": "",
"initialTitle": "",
"pid": 0,
"xwayland": true,
"pinned": false,
"fullscreen": false,
"fullscreenMode": 0,
"fakeFullscreen": false,
"grouped": [],
"swallowing": "0x0"
},{
"address": "0x23547b0",
"mapped": false,
"hidden": false,
"at": [0, 0],
"size": [0, 0],
"workspace": {
"id": -1,
"name": ""
},
"floating": false,
"monitor": -1,
"class": "",
"title": "",
"initialClass": "",
"initialTitle": "",
"pid": 0,
"xwayland": true,
"pinned": false,
"fullscreen": false,
"fullscreenMode": 0,
"fakeFullscreen": false,
"grouped": [],
"swallowing": "0x0"
},{
"address": "0x242b6c0",
"mapped": false,
"hidden": false,
"at": [0, 0],
"size": [0, 0],
"workspace": {
"id": -1,
"name": ""
},
"floating": false,
"monitor": -1,
"class": "",
"title": "",
"initialClass": "",
"initialTitle": "",
"pid": 0,
"xwayland": true,
"pinned": false,
"fullscreen": false,
"fullscreenMode": 0,
"fakeFullscreen": false,
"grouped": [],
"swallowing": "0x0"
},{
"address": "0x2366050",
"mapped": false,
"hidden": false,
"at": [0, 0],
"size": [0, 0],
"workspace": {
"id": -1,
"name": ""
},
"floating": false,
"monitor": -1,
"class": "",
"title": "",
"initialClass": "",
"initialTitle": "",
"pid": 0,
"xwayland": true,
"pinned": false,
"fullscreen": false,
"fullscreenMode": 0,
"fakeFullscreen": false,
"grouped": [],
"swallowing": "0x0"
},{
"address": "0x2330880",
"mapped": false,
"hidden": false,
"at": [0, 0],
"size": [0, 0],
"workspace": {
"id": -1,
"name": ""
},
"floating": false,
"monitor": -1,
"class": "",
"title": "",
"initialClass": "",
"initialTitle": "",
"pid": 0,
"xwayland": true,
"pinned": false,
"fullscreen": false,
"fullscreenMode": 0,
"fakeFullscreen": false,
"grouped": [],
"swallowing": "0x0"
},{
"address": "0x2c27170",
"mapped": false,
"hidden": false,
"at": [0, 0],
"size": [0, 0],
"workspace": {
"id": -1,
"name": ""
},
"floating": false,
"monitor": -1,
"class": "",
"title": "",
"initialClass": "",
"initialTitle": "",
"pid": 0,
"xwayland": true,
"pinned": false,
"fullscreen": false,
"fullscreenMode": 0,
"fakeFullscreen": false,
"grouped": [],
"swallowing": "0x0"
},{
"address": "0x23518f0",
"mapped": false,
"hidden": false,
"at": [261, 1242],
"size": [132, 165],
"workspace": {
"id": 4,
"name": "Invalid workspace 4"
},
"floating": true,
"monitor": 0,
"class": "",
"title": "",
"initialClass": "steam",
"initialTitle": "",
"pid": 7975,
"xwayland": true,
"pinned": false,
"fullscreen": false,
"fullscreenMode": 0,
"fakeFullscreen": false,
"grouped": [],
"swallowing": "0x0"
},{
"address": "0x2306280",
"mapped": false,
"hidden": false,
"at": [167, 1242],
"size": [102, 100],
"workspace": {
"id": 4,
"name": "Invalid workspace 4"
},
"floating": true,
"monitor": 0,
"class": "",
"title": "",
"initialClass": "steam",
"initialTitle": "",
"pid": 7975,
"xwayland": true,
"pinned": false,
"fullscreen": false,
"fullscreenMode": 0,
"fakeFullscreen": false,
"grouped": [],
"swallowing": "0x0"
},{
"address": "0x23ef4f0",
"mapped": true,
"hidden": false,
"at": [22, 1176],
"size": [5076, 1322],
"workspace": {
"id": 2,
"name": "2"
},
"floating": false,
"monitor": 0,
"class": "kitty",
"title": "zsh",
"initialClass": "kitty",
"initialTitle": "zsh",
"pid": 18482,
"xwayland": false,
"pinned": false,
"fullscreen": false,
"fullscreenMode": 0,
"fakeFullscreen": false,
"grouped": [],
"swallowing": "0x0"
}] workspaces[{
"id": 2,
"name": "2",
"monitor": "DP-1",
"windows": 1,
"hasfullscreen": false,
"lastwindow": "0x23ef4f0",
"lastwindowtitle": "zsh"
},{
"id": 1,
"name": "1",
"monitor": "DP-3",
"windows": 0,
"hasfullscreen": false,
"lastwindow": "0x0",
"lastwindowtitle": ""
},{
"id": -99,
"name": "special",
"monitor": "DP-1",
"windows": 1,
"hasfullscreen": false,
"lastwindow": "0x0",
"lastwindowtitle": ""
}]
|
Hi there @khaneliman! Coming back to this a little late but I think I finally managed to find and fix it. Basically persistent workspaces aren't very persistent, and Hyprland actually destroys them when they're empty. On our end, @zjeffer made it so that persistent workspaces are recreated when asked to be destroyed. I couldn't find any reason for them to be recreated, so I instead made it so they're never destroyed in the first place. @zjeffer if you could clarify the reasoning behind that I'd be glad to work out a different solution! @khaneliman could you please try the branch again with the newest commits? |
I think the reason was that back when I implemented it, that was the easiest way to program it ;) I don't remember if there was another reason. |
Interesting... so now it will ONLY render the icon when I drag it to another workspace and back to the one it was originally created on. A restart of waybar now no longer fixes the missing icons for programs started before the launch of waybar and they just dont render at all. situations that work in latest commit:
Situations that dont
Even all of these are hard to track because it doesn't feel consistent with all programs. For example, 1password gui works fine on first open but many others require being moved/unfocused before rendering. |
Does it mean it's now worse than it was before? I'll make a patch with a bunch of logs for you to run against and see if we can track the error from that |
Yeah, for my config it is worse. That’d probably help. I’m sorry I haven’t had the energy to dive in and debug myself throughly. |
It's absolutely ok! I made the feature, it's only fair I try my best to fix it! I've uploaded a branch called It would be awesome if you could make a single log for each of the issues described, but I understand if you can't because it seems like a lot of work. A video recording the process would help me visualize it as well! |
This is just starting waybar and launching windows and moving them back and forth between the two open workspaces I have on each monitor. |
Thank you very much for that, @khaneliman ! I've pushed a new commit (to the PR's branch) that seems to fix the first problem, could you try it? |
Yes, that now fixes the issue of dragging between workspaces and opening apps that have other instances running! Now it's just not registering anything that was opened before waybar starts. (Which worked before in that PR if that helps you think of what might have caused it) Basically feels like windows are registered after they are opened for the first time and if a window exists already it is ignored even if it moves from workspace to workspace. I think we just need to query existing windows and populate the "cache" on init of waybar. |
Weirdly enough that's already being done. If I launch another instance of waybar right now I see all the windows open on both. Could you tell me if I tried replicating the issue correctly in this video? waybar_init_window_populate.mp4 |
Interesting... not sure why mine behaves so differently, then. 2023-10-19.11-54-49.mp4 |
Looking at the debug logs I never see this called.
Which makes it seem like the clients_data is empty on initialize_window_maps? But, I can go and add a log statement and see the json output. I dont see initialize_window_maps ever called, is that method unused? @Syndelis Race condition? If I add the get reply to that method it works for initialization, but still dont see the window-rewrite when dragging one of them to another workspace. |
Actually, it seems persistent workspaces were being created before regular workspaces, and that function did not take into account the clients json. I've changed their order, could you try again? |
That works for the initial loading position! So now I'm down to 1 issue, the other 3 are resolved. Feels like big progress, thank you! Works on that PR:
Not working:
|
@khaneliman Perhaps #2605 fixes the last problem you mentioned? |
Doesn't seem to |
Thought #2529 was a cool feature introduced so tried setting it up like this khaneliman/khanelinix@9ab7e19 but ran into issues with window-rewrite not taking effect on apps launched from hyprland startup and secondary bar not getting updated.
Another thing that might be nice is implementing a way to declare window-rewrite rule default map or a way to look up icons that makes it more automated to setup without having to declare every icon in your personal config and using the personal config as an override.
The text was updated successfully, but these errors were encountered: