-
Notifications
You must be signed in to change notification settings - Fork 2.5k
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
[tabbar][enhancement] Add icons and captions to view tabs #2867
Conversation
I do like the idea of having icons represent our different widgets, maybe they can be controlled through a general preference which handles either displaying One comment I do have however is the formatting and alignment of the icons. Based on the screenshot and testing it myself the alignment is off especially when hovering over them. |
Related: #2865. |
Icon alignment may need to be undertaken by editing the icons themselves if they don't have consistent borders. I would recommend icon changes are out of scope and should be visited in a separate PR. Exposing the icons or text choice as a user preference is a good suggestion. However, this could also be added in a further PR in the interest of continuous improvement. |
@@ -5,6 +5,10 @@ | |||
"dependencies": { | |||
"@theia/core": "^0.3.14", | |||
"@theia/editor": "^0.3.14", | |||
"@theia/workspace": "^0.3.14", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
FYI, These additions may clash with the workspace search PR #2648
ae57ee8
to
1cd855b
Compare
Why did you give up the idea of using |
@vitaliy-guliy, by using the custom class, the icon can be easily customised. Using Whereas
And if you don't want a font-awesome icon you can clear the icon and replace it with your own. An svg in this case:
|
I'm fine with doing refinements in subsequential PRs, as long as the changes are not visible by default. |
@gonzalezw Thanks for clarifying! I'm implementing Views plugin API like in VS Code. View container in the API looks like parts/views in Theia and has id, title and icon. So, I'm interested in those improvements and think about following
|
@vitaliy-guliy, how do plugins set their own styling? Perhaps when you build the plugin view, you can also apply the plugin id as a class name? Then this can be used to customise the icon like in the native packages. The core package sets the default CSS for the side panel tab icons in sidepanel.css. You can modify the styling using the class
Maybe the class selector |
@gonzalezw Thanks. For now plugin does not change Theia styles and UI except what I did in #2810 I have some feedbacks to this PR.
|
Changing the icon opacity for active tab and when hovering would be simpler. |
Signed-off-by: William Gonzalez <William.Gonzalez@arm.com>
1cd855b
to
adcb3cc
Compare
@svenefftinge, this PR keeps the Thea UI untouched. All it really does is add the icons to the Theia widgets that don't have them and captions. And it exposes an easy CSS class to override those icons. But the UI maintains the default side panel look with only text and no icons. From a user perspective, the only difference will be the on hover captions that will now be available. For developers that are wanting to use the icons on side panels, then they would have to override the default css. For non-Theia widgets (plugins/extensions), it would also be up to them to configure and style with an icon if they want to expose them. |
What outstanding changes need to be implemented before this can be merged? |
@thegecko, there are no required changes to keep the existing functionality. There were comments about alignment but I don't see any issues with the default configuration with text only or if viewing by icons only. |
@svenefftinge happy to approve? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Changes
Fixes Theia issue 716.
Default view:
Overriding CSS to display only icons on sides:
Overriding an icon: