Skip to content
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

Improving IconTasklist #25

Closed
JoshStrobl opened this issue Jan 6, 2022 · 5 comments
Closed

Improving IconTasklist #25

JoshStrobl opened this issue Jan 6, 2022 · 5 comments
Labels
accepted Accepted enhancement. easy-to-implement Item that should be easy to implement. Perfect for new developers! enhancement New feature or request

Comments

@JoshStrobl
Copy link
Member

JoshStrobl commented Jan 6, 2022

This is a meta-task of immediate actionable items for improving the IconTasklist, and really transforming it into a different widget (rebrand and transition would likely be required, I'll get into that in a sec).

Firstly, we need to improve iconography scaling in IconTasklist. Many Budgie users know the pains of the icon tasklist not scaling icons until specific icon steps, and this can be changed quite trivially (I'll be labelling this as easy-to-implement to reflect that). We should be choosing higher resolution images, or just scalable vectors, and downscaling those instead. This will allow you do so something as different as picking say, 53px height for your Budgie panel, but it scale down to a respectable icon sizing (like 48 or something) based on a vector or at least the next highest step (64x64) image.

Alongside this, I think it may be worth considering deprecating the old Tasklist. If offers very little functionality compared to the IconTasklist given it is just a Wnck Tasklist, especially with all the scrolling functionality and popover, so the easiest path for this is to allow for labels to be added to the IconTasklist. Naturally this means it wouldn't be "icon" only anymore, and thus we should rebrand it and implement a migration that replaces the applet (this has been done in the past).

I know there has been feedback in the discussions on other ways to improve the IconTasklist, such as the ability to disable scrolling functionality. If others have feedback on what they would like to see, that'd be fantastic.

Nothing in this task is owned, so like in the Budgie Menu task, we can all work as a team and communicate over Matrix on the best solution going forward.

@JoshStrobl JoshStrobl added enhancement New feature or request accepted Accepted enhancement. easy-to-implement Item that should be easy to implement. Perfect for new developers! labels Jan 6, 2022
@EbonJaeger
Copy link
Member

EbonJaeger commented Jan 6, 2022

Alongside this, I think it may be worth considering deprecating the old Tasklist. If offers very little functionality compared to the IconTasklist given it is just a Wnck Tasklist, especially with all the scrolling functionality and popover, so the easiest path for this is to allow for labels to be added to the IconTasklist.

I was actually thinking about this the other day in that both applets could probably be merged together and provide an option to show the full application name alongside the icon. Great minds think alike! :P

@serebit
Copy link
Member

serebit commented Feb 28, 2022

#64 implements icon scaling as a start to progress on this issue.

@serebit
Copy link
Member

serebit commented Mar 12, 2022

Icon scaling has been merged!

@Solarunit
Copy link

Solarunit commented Mar 17, 2022

Non-IconTasklist user here!

My concept of the new Task List is something like Tab Bar in Firefox:

  • smooth animation when reordering "tabs" (apps/windows)
  • "tabs" shrink until some point and then start scrolling when there many apps/windows opened
  • middle click to close apps/windows (sure, it could be configurable: open a new instance (default one) or close the window)
  • there could be a setting: max/min "tabs" width

I also would like to see a new Panel applet: Favorite Apps Launcher. You can pin your favorite apps here.

@JoshStrobl
Copy link
Member Author

I am going to be closing this issue filed as since the posting and the further work we have done on the IconTasklist, it has become abundantly clear that we cannot make the necessary changes and architectural improvements to the applet while facing repeated regressions due to the complexity of all the options provided.

Specifically, almost all the regressions in IconTasklist are the result of needing to handle both grouping and non-grouping scenarios. Grouping is much easier to handle thanks to our robust application tracking system, with naming being consistent and most edge cases being worked out. With non-grouping, we need to track both that as well as the xid. This introduces problems for some applications like LibreOffice and Steam, which are otherwise well handled in grouping. We also have to use logic that ensures we re-parent secondary applications from their IconButton to the "main" one, handled pinned cases, etc.

So Budgie 10.6.x will have the non-grouping support, however it will be removed in 10.7. We will introduce a new legacy Tasklist that lacks grouping, has labels, and likely no (or a simpler) popover for some operations like close, move to workspace, etc. This will be in a new task.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
accepted Accepted enhancement. easy-to-implement Item that should be easy to implement. Perfect for new developers! enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants