hyprland-community / pyprland

Scratchpads & many goodies for Hyprland [maintainer=@fdev31]
MIT License
345 stars 15 forks source link

fix special workspaces bug on expose.py #120

Closed axelKeizoStahl closed 1 month ago

axelKeizoStahl commented 2 months ago

119

The solution was to use the name of the workspace instead of the id. The id of special workspaces are negative, and using a negative workspace for moveworkspacesilent does not work. Since the name the workspace returns the id (if it is normal) or the name (if it is a special workspace), using name is more desirable.

fdev31 commented 2 months ago

I think the other branch which has been merged just now had the two set of changes... can you please review it's "as expected" ?

axelKeizoStahl commented 2 months ago

By the two set of changes, do you mean the fix for #118 and #119? After the merge of the other PR, #118 is fixed, but #119 is not, since line 26 on expose.py still uses "id" instead of "name". That being said, I found a small inaccuracy that would lead to a NoneType object is not subscriptable error. I should be able to PR the fix in around an 1.5 hours.

fdev31 commented 2 months ago

By the two set of changes, do you mean the fix for #118 and #119? After the merge of the other PR, #118 is fixed, but #119 is not, since line 26 on expose.py still uses "id" instead of "name". That being said, I found a small inaccuracy that would lead to a NoneType object is not subscriptable error. I should be able to PR the fix in around an 1.5 hours.

That's what I meant. Thanks for the clarity. I'll only have a look tomorrow, so there's no rush. Thank you again for the care!

fdev31 commented 2 months ago

What about this PR ?

axelKeizoStahl commented 2 months ago

This now works for special workspaces. There is a problem with pyprland scratchpads in this, since it tries to go to another workspace, but I can open another PR/issue for that. This PR should be good to merge/it fixes the issue.

fdev31 commented 2 months ago

There are some issues applying the main branch, maybe related to the cherry picks, I get an infinite loop solving them. The only change I see is already applied in the official repo (I see only this change: https://github.com/hyprland-community/pyprland/compare/main...axelKeizoStahl:pyprland:main).

axelKeizoStahl commented 2 months ago

I just synced my fork, are you able to see the diff now?

fdev31 commented 1 month ago

I can see the diff, np, what I'm saying is:

I see you use merge, while I try to have a clean history with rebase only... that could be one of the problems. But is this change still relevant if we have similar code already merged into main?

PS: I saw you did one more merge, but it's still can't be merged... something is fishy in your main branch, having clean commits rebased on top of upstream would be ideal (if this PR is still relevant)

axelKeizoStahl commented 1 month ago

Sorry, I almost always use branches and not forks. My fork is pretty messed up, I think I will just make a new one. However, the only intended diff here was to change from id to name on line 26 of expose.py (in the current main branch). This would let you go into special workspaces when you go to them through expose. I will probably just delete my current fork and make a new one, then pr this and also the other pr I have open. Sorry for the trouble. :+1:

fdev31 commented 1 month ago

I looked at your main branch: it became very messy... I would suggest you prune it and fetch it from the upstream again... I cherry-picked the commit implementing it, tell me if something is missing on the official main branch. If none, we can close this bug, thanks!

fdev31 commented 1 month ago

I double checked, expose is only using name but to filter the list of exposed clients. If there is anything left, please reopen, I'm closing it! Thank you for the PR!