-
Notifications
You must be signed in to change notification settings - Fork 522
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
"Hide pinned in other instances" behavior inconsistent #6927
Comments
You are right about how the "Hide window buttons of pinned buttons on other CassiaWindowList instances" was meant to work. It was meant to allow you to hide window buttons on your window-list CWL instance for all the buttons on the other CWL instances that are configured as a "launcher", but as it's coded now the "other instances" does not have to in "launcher" mode, it can exclude pinned methods on other window-list mode instances too. In deed the wording of the option name is not ideal. Launcher instances are only showing what is marked in the code a "pinned buttons" so that's the logic behind the name, but from a users perspective I can see how it could be confusing. I just looked at the code and there is this comment: // TODO: Marge the list of pinned apps in case there are more then two instances So this explains the issue here. It's only taking into account the pinned buttons on the last instance of CWL that appears the in the applet array. I didn't know if this was an option that people would be using and I certainly didn't think there would be many (if any) cases where people would have more than one launcher instance. Short sighted on my part. In any case, the fix doesn't seem too difficult so I will work on that for the next version. I guess I have two options:
If I limit to "launcher mode instances" (option 2) then I can make a better worded option name like: "Hide window buttons for applications on "Launcher" CassiaWindowList instances" Since you are the only user of this feature I am aware of, what's your thoughts on the best approach? Thanks for reporting the issue. |
Excellent, thank you for the quick follow up on this! My use case was that I was originally planning to have a single instance with dividers between groups of pinned apps so I could bucket them into "work", "social", etc, making pins a bit easier to locate rather than having them all in one long list, and having a distinct section for unpinned windows. But given that there is currently no feature to add a divider, I achieved the same by making multiple instances and placing spacers between each. I ended up appreciating the flexibility of having the option to move the buckets around independently and to different panels which dividers would not provide, so I ended up preferring this multiple-instances solution over simple dividers.
Either would work for my use case; I was originally leaning toward the more flexible option 1, but then I tried to think of a use case where someone would want to have multiple non-launcher instances both containing all unpinned windows but also where at least one would have pins that the other would hide...I'm not sure I really see it, so I'm thinking the more elegant option 2 makes the most sense; just change the feature to hide launcher buttons rather than pins since the latter doesn't ultimately seem that useful. Really appreciate your work on this by the way, thanks a lot! |
I think the typical use case for having more than one non-launcher instances is when you want to have a window-list on a 2nd monitor. You can have both window-lists only show windows that exist on the same monitor as where the window-list exists. |
Right; I get that is a common use case and that there are valid use cases with multiple grouped window lists, but the "Only show windows on the same monitor" toggle achieves this. With both toggles enabled, my understanding is that it would only show windows open on each monitor plus any pins, minus any pins on the other monitor, even if there is a window open on the monitor it's being hidden from. Doesn't serve much purpose in that use case either that I can think of. |
OK.. I have checked in changes in my GitHub as we discussed above (https://github.com/klangman/CassiaWindowList). I have a few other changes that I want to try to do before pushing a new version to cinnamon-spices, but if you wanted to checkout the fix now you can install my dev version from my github link above. Hopefully the changes achieves what you were hoping for. |
Version 2.4.1 has the fix for this issue. It's not on cinnamon-spices so an upgrade should pick up this fix. If this address the problem as expected then I guess we can close this now? |
Applet version/Build date
2.4.0
Cinnamon version
6.4.7
Distribution
Mint 22.1
Graphics hardware and driver used
NVIDIA GeForce 1070 + nvidia-driver-550
Applet name and maintainer
CassiaWindowList@klangman @klangman
What happened?
I created 3 "Launcher" instances, and 1 grouped window instance which I had intended to contain all windows not included in any of the other 3 instances by enabling the "Hide window buttons of pinned buttons on other CassiaWindowList instances" setting.
Based on the behavior, it seems like this was intended to work, but it's very inconsistent. Sometimes it correctly filters out the apps already present in the other instances and sometimes it doesn't (despite pins not strictly being an option in Launcher instances, it seems to treat all items in the launcher instances as pinned). To verify this wasn't an issue specific to Laucher instances, I've also pinned apps in other normal grouped window instances and it has also failed to remove them from my instance with that hide option enabled.
I've also noticed that sometimes but not always, if a window is pinned in another instance, I can right click the window in the instance I'm trying to hide it in, and pin it there, and it will disappear from the same instance I'm clicking "pin" in, and this will only happen if it's also pinned elsewhere.
I unfortunately can't make odds of it without looking at the code and don't have the time to look at it myself.
Other information
Besides 3 instances being launchers and 1 being a grouped window list, all other settings are identical.
The 3 Launcher instances:

The 1 Grouped Window instance:

The text was updated successfully, but these errors were encountered: