Bug 562221 - Use square tabs style in Eclipse default styling
Summary: Use square tabs style in Eclipse default styling
Status: VERIFIED FIXED
Alias: None
Product: Platform
Classification: Eclipse Project
Component: UI (show other bugs)
Version: 4.14   Edit
Hardware: PC Linux
: P3 normal (vote)
Target Milestone: 4.16 M3   Edit
Assignee: Andrew Obuchowicz CLA
QA Contact:
URL:
Whiteboard:
Keywords: noteworthy
Depends on: 538740
Blocks: 560385 563690
  Show dependency tree
 
Reported: 2020-04-16 10:08 EDT by Lars Vogel CLA
Modified: 2020-09-21 06:07 EDT (History)
11 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Lars Vogel CLA 2020-04-16 10:08:36 EDT
With Bug 538740 fixed, we can provide flat tabs styling. I see multiple options here, in all cases the classic themes will not be affected:

1.) Change the current light and dark theme to use square tabs
2.) Add new themes which are the same as the current default themes and change the default ones to use flat tabs
3.) Add new themes which are based on the current default themes and provide flat tabs but leave the current default.

My personal preference would be 1.) or 2.). 2.) and 3.) have the disadvantage that we have more themes but might be the best solution to satisfy all possible users.

I bring this to the PMC to see what the other PMC members think.
Comment 1 Lars Vogel CLA 2020-04-16 10:16:21 EDT
Dani, Thomas, Alex, lets discuss in our next PMC meeting.
Comment 2 Mike Marchand CLA 2020-04-16 10:22:59 EDT
New Gerrit change created: https://git.eclipse.org/r/161076/
Comment 3 Andrew Obuchowicz CLA 2020-04-16 10:54:38 EDT
Between the 3 options, I think 3.) would be the less dramatic change. Users who like the rounded tabs won't wonder why things have changed. We could then see how the community responds to the option of flat tabs. If the general consensus is that more users prefer flat tabs, we could make it the new default.

So my vote is on 3.)

I do think however, it is a bit of a waste of a new theme option if it just provides flat tabs vs round tabs.
Maybe in the future there could be further differences between the flat theme and rounded tab theme (such as flat icons? see Bug 562174 or color differences eg. https://github.com/AObuchow/Eclipse-Modern-Dark-Theme/blob/master/how_it_looks.png?raw=true)

However, my above suggestion could be for a future bug once this one is resolved.
Comment 4 Mike Marchand CLA 2020-04-16 11:22:20 EDT
I personally don't think we should further fragment the themes.  I think users already find it confusing that we are shipping themes that are tuned for different operating systems (these probably should be contributed through fragments or at least filtered out).
Comment 5 Mike Marchand CLA 2020-04-16 11:25:54 EDT
We also have the option to use a preference to store a Tab Corner Radius, since we can reference the preferences from CSS.  This would provide another avenue for users to get round tabs back (assuming square were to become the new default).
Comment 6 Lars Vogel CLA 2020-04-16 11:28:55 EDT
(In reply to Mike Marchand from comment #4)
> I personally don't think we should further fragment the themes.  I think
> users already find it confusing that we are shipping themes that are tuned
> for different operating systems (these probably should be contributed
> through fragments or at least filtered out).

Please open a bug for that. They were explicitly added in the past but I think we should add a checkbox: "Show themes for other OSs" and show them only if selected by the user in the dialog.
Comment 7 Andrew Obuchowicz CLA 2020-04-16 11:35:07 EDT
+1 for using a preference as opposed to a new theme, as well as +1 for hiding themes from other OS'
Comment 8 Pierre-Yves Bigourdan CLA 2020-04-16 14:00:12 EDT
(In reply to Mike Marchand from comment #4)
> I personally don't think we should further fragment the themes.  I think
> users already find it confusing that we are shipping themes that are tuned
> for different operating systems (these probably should be contributed
> through fragments or at least filtered out).

+1

This makes solutions 2.) and 3.) less desirable IMHO.

(In reply to Mike Marchand from comment #5)
> We also have the option to use a preference to store a Tab Corner Radius,
> since we can reference the preferences from CSS.  This would provide another
> avenue for users to get round tabs back (assuming square were to become the
> new default).

This combined with solution 1.) would be quite good!
Comment 9 Lars Vogel CLA 2020-04-17 02:02:36 EDT
Btw this discussion is about the default theme, i.e. the themes we present the users after a fresh installation.
Comment 10 Dani Megert CLA 2020-04-17 03:16:54 EDT
(In reply to Lars Vogel from comment #1)
> Dani, Thomas, Alex, lets discuss in our next PMC meeting.
Also voting for 3) but let's discuss next Tuesday.
Comment 11 Alexander Kurtakov CLA 2020-04-17 03:38:34 EDT
Having more options/themes means more inconsistency amongst users thus harder to fix issues. It's big enough adventure to fight system themes to even introduce similar issue on our side.
I vote for changes being done in the default light/dark theme.
Comment 12 Pierre-Yves Bigourdan CLA 2020-04-17 03:58:07 EDT
(In reply to Dani Megert from comment #10)
> (In reply to Lars Vogel from comment #1)
> > Dani, Thomas, Alex, lets discuss in our next PMC meeting.
> Also voting for 3) but let's discuss next Tuesday.

"Also" -> so far it's the only vote for 3.), given that Andrew stated "+1 for using a preference as opposed to a new theme" after his initial vote. ;)
Comment 13 Dani Megert CLA 2020-04-17 04:12:29 EDT
(In reply to Pierre-Yves B. from comment #12)
> (In reply to Dani Megert from comment #10)
> > (In reply to Lars Vogel from comment #1)
> > > Dani, Thomas, Alex, lets discuss in our next PMC meeting.
> > Also voting for 3) but let's discuss next Tuesday.
> 
> "Also" -> so far it's the only vote for 3.), given that Andrew stated "+1
> for using a preference as opposed to a new theme" after his initial vote. ;)
I see. Preference is fine too as long as the default itself stays as it is now.
Comment 14 Lars Vogel CLA 2020-04-17 05:04:23 EDT
-1 for preference, we have to many CSS features, adding preferences for one would lead to an explosion of changes.

In general we should re-add the option for the user to modify the CSS. We have Bug 502581 for that. Btw. it used to work in the past, IIRC the CSS spy added the ability to modify the CSS via the preferences.

I suggest to change the dark theme to square tabs. It is not a "default" one, as the user have to select it. Also I introduced the dark theme multiple years ago and if square tab would have been available I would have activated it them already.

For the default themes I suggest to filter the other OS themes by default (Bug 562227) and add one additional light theme with square tabs for 2020-06. This allows us to gain feedback and we can decided to switch defaults in 2020-09.
Comment 15 Till Brychcy CLA 2020-04-17 05:27:38 EDT
(In reply to Lars Vogel from comment #14)
> -1 for preference, we have to many CSS features, adding preferences for one
> would lead to an explosion of changes.

I agree, -1 for making the appearance page even more complicated. (rather: is "Color and Font Theme" really needed? How does it interact with Themes ?)

> 
> In general we should re-add the option for the user to modify the CSS. We
> have Bug 502581 for that. Btw. it used to work in the past, IIRC the CSS spy
> added the ability to modify the CSS via the preferences.
> 
> I suggest to change the dark theme to square tabs. It is not a "default"
> one, as the user have to select it. Also I introduced the dark theme
> multiple years ago and if square tab would have been available I would have
> activated it them already.

-1 by me to make square design default. Personally I don't like square tabs (and I'm not alone, just google for "firefox tab round" to find that there are plenty users when Firefox switched).

So I'd still want to use a dark theme with rounded tabs.

At the very least, make sure that it is still clear in the dark design which tab is selected (currently the selected tab is DARKER in eclipse rather then lighter which is different to e.g. all webbrowsers on the mac, but it is still clear which is selected because only the selected tab has the "rounded" appearance)
Comment 16 Lars Vogel CLA 2020-04-17 06:20:22 EDT
(In reply to Till Brychcy from comment #15)

> At the very least, make sure that it is still clear in the dark design which
> tab is selected (currently the selected tab is DARKER in eclipse rather then
> lighter which is different to e.g. all webbrowsers on the mac, but it is
> still clear which is selected because only the selected tab has the
> "rounded" appearance)

Please open a bug for this. That should be a simple CSS fix.
Comment 17 Andrew Obuchowicz CLA 2020-04-17 11:26:14 EDT
> In general we should re-add the option for the user to modify the CSS. We
> have Bug 502581 for that. Btw. it used to work in the past, IIRC the CSS spy
> added the ability to modify the CSS via the preferences.

This is okay with me as it'd give the user the flexibility to use rounded or square CTabFolder style if desired (in the case that we don't add a preference for it)


> I suggest to change the dark theme to square tabs. It is not a "default"
> one, as the user have to select it.

IIRC there was a (somewhat recent) patch which sets Eclipse to use the dark theme if the system theme is dark (on GTK, Windows & OSX). I'm just pointing this out as a precaution (I like square corners, after all :) ) 


> For the default themes I suggest to filter the other OS themes by default
> (Bug 562227) and add one additional light theme with square tabs for
> 2020-06. This allows us to gain feedback and we can decided to switch
> defaults in 2020-09.

My original feeling was that we should get feedback on this before changing the defaults, so I agree with this.
Comment 18 Andrew Obuchowicz CLA 2020-04-17 11:40:20 EDT
> IIRC there was a (somewhat recent) patch which sets Eclipse to use the dark
> theme if the system theme is dark (on GTK, Windows & OSX). 

See bug 547038 (I'm not sure if this feature was also done for Windows)
Comment 19 Till Brychcy CLA 2020-04-17 12:28:56 EDT
(In reply to Lars Vogel from comment #16)
> (In reply to Till Brychcy from comment #15)
> 
> > At the very least, make sure that it is still clear in the dark design which
> > tab is selected (currently the selected tab is DARKER in eclipse rather then
> > lighter which is different to e.g. all webbrowsers on the mac, but it is
> > still clear which is selected because only the selected tab has the
> > "rounded" appearance)
> 
> Please open a bug for this. That should be a simple CSS fix.

Done, bug 562269
Comment 20 Mike Marchand CLA 2020-04-17 14:04:51 EDT
One positive thing about square tabs as default, is that it eliminates the strange artifacts that we have at the corners of views the round tab.  Pixel perfect graphics speaks to quality.  The math in the corner masking code is imperfect and compromises the visual integrity of the user interface.
Comment 21 Lars Vogel CLA 2020-05-05 11:40:43 EDT
The PMC decided that it is OK to switch the themes to square themes but we need to add a preference for this to the appearance page which allows users to switch back to round themes.

Anyone interested in contributing this?
Comment 22 Andrew Obuchowicz CLA 2020-05-06 11:22:08 EDT
(In reply to Lars Vogel from comment #21)
> The PMC decided that it is OK to switch the themes to square themes but we
> need to add a preference for this to the appearance page which allows users
> to switch back to round themes.
> 
> Anyone interested in contributing this?

I'm interested in contributing this :) (Although it'll probably have to be in my spare time). 

From what I understand, we need a new preference, a checkbox in the preferences which enables/disables that preference, and for that preference to be read in the CTabRenderer to enable square corners, correct?
Comment 23 Lars Vogel CLA 2020-05-06 11:33:35 EDT
(In reply to Andrew Obuchowicz from comment #22)
> (In reply to Lars Vogel from comment #21)
> > The PMC decided that it is OK to switch the themes to square themes but we
> > need to add a preference for this to the appearance page which allows users
> > to switch back to round themes.
> > 
> > Anyone interested in contributing this?
> 
> I'm interested in contributing this :) (Although it'll probably have to be
> in my spare time). 

Awesome.

> From what I understand, we need a new preference, a checkbox in the
> preferences which enables/disables that preference, and for that preference
> to be read in the CTabRenderer to enable square corners, correct?

 Correct!
Comment 24 Mike Marchand CLA 2020-05-06 11:42:37 EDT
If you make the preference a CSS preference and use it for the swt-corner-radius then it will automatically be picked up by CTabRendering.  

I tend to think that rather than a square tab corners checkbox, we would want a numerical value, so that it's not just square or round, but the user could choose the amount of round they want.
Comment 25 Lars Vogel CLA 2020-05-06 12:27:30 EDT
(In reply to Mike Marchand from comment #24)
> If you make the preference a CSS preference and use it for the
> swt-corner-radius then it will automatically be picked up by CTabRendering.  
> 
> I tend to think that rather than a square tab corners checkbox, we would
> want a numerical value, so that it's not just square or round, but the user
> could choose the amount of round they want.

-1, let's make is easy for users. Square / Round Boolean option
Comment 26 Andrew Obuchowicz CLA 2020-05-06 12:54:25 EDT
(In reply to Mike Marchand from comment #24)
> If you make the preference a CSS preference and use it for the
> swt-corner-radius then it will automatically be picked up by CTabRendering.  
> 
> I tend to think that rather than a square tab corners checkbox, we would
> want a numerical value, so that it's not just square or round, but the user
> could choose the amount of round they want.

I also would like to give further customization to the roundness of the corners, although as Lars said, maybe we should keep it simple for the first iteration.

After this feature is in, we could make an improvement to change the degree of roundness.
Comment 27 Gayan Perera CLA 2020-05-06 13:31:47 EDT
(In reply to Andrew Obuchowicz from comment #26)
> (In reply to Mike Marchand from comment #24)
> > If you make the preference a CSS preference and use it for the
> > swt-corner-radius then it will automatically be picked up by CTabRendering.  
> > 
> > I tend to think that rather than a square tab corners checkbox, we would
> > want a numerical value, so that it's not just square or round, but the user
> > could choose the amount of round they want.
> 
> I also would like to give further customization to the roundness of the
> corners, although as Lars said, maybe we should keep it simple for the first
> iteration.
> 
> After this feature is in, we could make an improvement to change the degree
> of roundness.

Maybe we can start with a CSS preference and switch it between 0 and 16 based on the checkbox. What do you think?
Comment 28 Mike Marchand CLA 2020-05-06 13:59:03 EDT
Sounds great to me!
Comment 29 Andrew Obuchowicz CLA 2020-05-06 14:00:25 EDT
> Maybe we can start with a CSS preference and switch it between 0 and 16
> based on the checkbox. What do you think?

This could work and would make implementation less complicated.

However, a potential downside is that theme creators would no longer be able to set the Tab's corner radius CSS property, as it'd be overriden by this preference :(
Comment 30 Andrew Obuchowicz CLA 2020-05-06 14:02:00 EDT
(In reply to Andrew Obuchowicz from comment #29)
> > Maybe we can start with a CSS preference and switch it between 0 and 16
> > based on the checkbox. What do you think?
> 
> This could work and would make implementation less complicated.
> 
> However, a potential downside is that theme creators would no longer be able
> to set the Tab's corner radius CSS property, as it'd be overriden by this
> preference :(

Maybe a little more work will be required to make it so that variables set in the CSS take's preference over Eclipse preferences. I'll try to keep this in mind during the implementation of the preference.
Comment 31 Gayan Perera CLA 2020-05-06 14:04:07 EDT
May we should change the theme css to use the css preference value. So we don't need to change the CTabFolder at all right ?
Comment 32 Andrew Obuchowicz CLA 2020-05-06 14:12:52 EDT
(In reply to Gayan Perera from comment #31)
> May we should change the theme css to use the css preference value. So we
> don't need to change the CTabFolder at all right ?

This sounds like it should work. However, I'm not sure how to get an Eclipse preference in CSS. If someone could link me an example, that'd be greatly appreciated.
Comment 33 Lars Vogel CLA 2020-05-06 14:16:42 EDT
I suggest to use the CSS value if specified and the preference if not specified in CSS.
Comment 34 Andrew Obuchowicz CLA 2020-05-06 14:19:18 EDT
(In reply to Lars Vogel from comment #33)
> I suggest to use the CSS value if specified and the preference if not
> specified in CSS.

+1, I'll probably go down this route unless someone can provide an example from my previous comment.
Comment 35 Mike Marchand CLA 2020-05-06 14:33:53 EDT
I realize now that I've only ever used colors as preferences and not integers.
Comment 36 Eclipse Genie CLA 2020-05-07 01:55:24 EDT
New Gerrit change created: https://git.eclipse.org/r/162612
Comment 38 Lars Vogel CLA 2020-05-15 23:08:23 EDT
Thanks a bunch Andrew. Eclipse looks much more modern with this change IMHO and people which prefer round tabs can easily switch back.

Can you please add this to the N&N?
Comment 39 Andrew Obuchowicz CLA 2020-05-16 11:19:03 EDT
(In reply to Lars Vogel from comment #38)
> Thanks a bunch Andrew. Eclipse looks much more modern with this change IMHO
> and people which prefer round tabs can easily switch back.
> 
> Can you please add this to the N&N?

Agreed, I'm happy to have this option upstream finally :)

And for sure, I'll add it to the N&N (note that Monday is a Canadian holiday and I will most likely only get this done on Tuesday, is that okay?)
Comment 40 Till Brychcy CLA 2020-05-18 02:46:15 EDT
When I change the preference to enable round tabs....nothing happens.

Obviously it needs are restart.

There should be a hint like for other options that need one.

BTW: When I disable "Enable Theming" and click "apply" a dialog points out that a restart is needed, but if i directly try "Apply and Close", the dialog is not shown.
Comment 41 Gayan Perera CLA 2020-05-18 06:56:34 EDT
@Lars is this feature available in latest ibuilds ?
Comment 42 Lars Vogel CLA 2020-05-18 06:57:54 EDT
(In reply to Gayan Perera from comment #41)
> @Lars is this feature available in latest ibuilds ?

As soon as we have a build, AFAIK we have currently issues with the build system. So whenever a new build after the commit date shows on https://download.eclipse.org/eclipse/downloads/ it should include the change.
Comment 43 Lars Vogel CLA 2020-05-19 03:05:16 EDT
(In reply to Till Brychcy from comment #40)
> When I change the preference to enable round tabs....nothing happens.
> 
> Obviously it needs are restart.
> 
> There should be a hint like for other options that need one.

You get a message if you press "Apply".

> BTW: When I disable "Enable Theming" and click "apply" a dialog points out
> that a restart is needed, but if i directly try "Apply and Close", the
> dialog is not shown.

Some issue here.
Comment 44 Lars Vogel CLA 2020-05-19 05:31:27 EDT
Restart of re-introduced with https://git.eclipse.org/r/#/c/120250/ looks like something is wrong there.
Comment 45 Andrew Obuchowicz CLA 2020-05-19 07:25:36 EDT
(In reply to Lars Vogel from comment #43)
> (In reply to Till Brychcy from comment #40)
> > When I change the preference to enable round tabs....nothing happens.
> > 
> > Obviously it needs are restart.
> > 
> > There should be a hint like for other options that need one.
> 
> You get a message if you press "Apply".
> 
> > BTW: When I disable "Enable Theming" and click "apply" a dialog points out
> > that a restart is needed, but if i directly try "Apply and Close", the
> > dialog is not shown.
> 
> Some issue here.

I noticed this while making the change but it seems to be another (pre-existing) bug.

Could someone file a bug for this? The bug is that clicking "Apply" in the Appearance Preferences page (ViewsPreferencePage.java) gives a theme-change warning dialog, but clicking "Apply and Close" does not.
Comment 46 Till Brychcy CLA 2020-05-19 07:51:32 EDT
Just to repeat it, so it doesn't get overlooked because of the "Apply and Close" issue:

"Enable theming" has a hint (requires restart), but "Use round tabs" doesn't.

At least this inconsistency is from this bug and should definitely be fixed.
Comment 47 Till Brychcy CLA 2020-05-19 07:53:14 EDT
(In reply to Andrew Obuchowicz from comment #45) 
> I noticed this while making the change but it seems to be another
> (pre-existing) bug.
> 
> Could someone file a bug for this? The bug is that clicking "Apply" in the

Hey if you found the bug earlier, you should be the one who already filed it :-)
Comment 48 Eclipse Genie CLA 2020-05-19 08:31:57 EDT
New Gerrit change created: https://git.eclipse.org/r/163231
Comment 49 Andrew Obuchowicz CLA 2020-05-19 08:33:08 EDT
See Bug 563343 for Apply and Close bug
Comment 51 Eclipse Genie CLA 2020-05-19 10:58:07 EDT
New Gerrit change created: https://git.eclipse.org/r/163245
Comment 53 Mike Marchand CLA 2020-05-28 17:35:03 EDT
Hey Andrew, did we ever open a bug for removing the "requires restart" from the "Use Round Tabs" preference?  I have a tentative patch which enables CTabRendering to pick up the preference change.  Just wondering if there is an existing bug to reference or if I should create a new one.
Comment 54 Andrew Obuchowicz CLA 2020-05-28 18:33:01 EDT
(In reply to Mike Marchand from comment #53)
> Hey Andrew, did we ever open a bug for removing the "requires restart" from
> the "Use Round Tabs" preference?  I have a tentative patch which enables
> CTabRendering to pick up the preference change.  Just wondering if there is
> an existing bug to reference or if I should create a new one.

I don't think there is one but I wanted to implement that, so that'd be great! Please open a bug, CC me in it and also add me as a reviewer to your patch (I'd like to see how you got it working :)) Thanks so much Mike.
Comment 55 Mike Marchand CLA 2020-05-28 19:23:28 EDT
See Bug 563690 which has been open to remove the restart recommendation for "Use Round Tab" preference and add a listener to the CTabRendering class to refresh when the preference changes.
Comment 56 Sebastian Zarnekow CLA 2020-06-30 05:01:09 EDT
Is it expected that tabs in some dialogs are not squared? E.g the launch dialog? Is it worthy to file a ticket?
Comment 57 Mike Marchand CLA 2020-06-30 08:56:04 EDT
Hi Sebastian, I'd say it's worth opening a new bug if you feel that there's something we could improve.  When I open my Run Configuration or Debug Configuration dialog I have square tabs.  Could you please open a new bug and post screenshots?
Comment 58 Sebastian Zarnekow CLA 2020-06-30 09:10:57 EDT
(In reply to Mike Marchand from comment #57)
> Hi Sebastian, I'd say it's worth opening a new bug if you feel that there's
> something we could improve.  When I open my Run Configuration or Debug
> Configuration dialog I have square tabs.  Could you please open a new bug
> and post screenshots?

Thank you for the quick response. I filed a ticket: https://bugs.eclipse.org/bugs/show_bug.cgi?id=564793
Comment 59 Phil Beauvoir CLA 2020-09-21 06:07:48 EDT
Hi, this affects RCP applications built on Eclipse 4.16 and later. Users now have square tabs, and some prefer the round tabs. Is there a programmatic way to set this property that can be used by an RCP application?