Skip to content

High Contrast theme updates #1265

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

Merged
merged 8 commits into from
Aug 1, 2022
Merged

High Contrast theme updates #1265

merged 8 commits into from
Aug 1, 2022

Conversation

francescospissu
Copy link
Contributor

@francescospissu francescospissu commented Jul 28, 2022

Motivation

The High Contrast theme needs to be updated as hover status in drop-down menus and sketchbook is missing, board selector has no borders, and other design issues make the experience unpleasant to use.

Change description

  • Serial Monitor drop-down menu selector hover and selected state.
  • Board selector border.
  • Board selector hover and selected state.
  • Buttons hover and focus state.
  • Side bar elements (Sketchbook etc.) hover and selected state.
  • Toolbar buttons hover and selected state.
  • Quick inputs hover and selected state.
  • Install/Uninstall button hover state.
  • Buttons borders.
  • Notification hover status.
  • Command palette border.

Other information

This is a workaround until the version of Theia used is updated to 1.27.0, where the Theia High Contrast theme is updated and it's possible to use the Theia APIs to customize it.

Closes #1202.

Reviewer checklist

  • PR addresses a single concern.
  • The PR has no duplicates (please search among the Pull Requests before creating one)
  • PR title and description are properly filled.
  • Docs have been added / updated (for bug fixes / features)

@kittaakos
Copy link
Contributor

This is an excellent quick solution, @francescospissu 👍 I will try it out in action.

@davegarthsimpson, could you please help review the effective code change? Thank you!

@davegarthsimpson davegarthsimpson self-requested a review July 29, 2022 06:35
@kittaakos
Copy link
Contributor

kittaakos commented Jul 29, 2022

Serial Monitor drop-down menu selector hover and selected state.


Screen Shot 2022-07-29 at 08 32 55
Screen Shot 2022-07-29 at 08 32 49

(I have noticed that the baud dropdown does not have the right border. Not critical.)

Board selector border.


Screen Shot 2022-07-29 at 08 30 16

Board selector hover and selected state.


Screen Shot 2022-07-29 at 08 30 23

Buttons hover and focus state.


Screen Shot 2022-07-29 at 08 33 21
Screen Shot 2022-07-29 at 08 30 40

(I have noticed that the settings and 3rd party URLs dialog have different OK/Cancel buttons orders. Not critical.)

Screen Shot 2022-07-29 at 08 30 58

Side bar elements (Sketchbook etc.) hover and selected state.


Screen Shot 2022-07-29 at 08 31 40

Toolbar buttons hover and selected state.


Screen Shot 2022-07-29 at 08 33 31

Screen Shot 2022-07-29 at 08 36 16

Quick inputs hover and selected state.


Screen Shot 2022-07-29 at 08 33 44


I went through the list of changes, and they look good to me. I found a few places we might want to improve.

  • Install/Uninstall button on hover in boards and libs manager view:

Screen Shot 2022-07-29 at 08 39 05

- No button border in the Settings dialog

Screen Shot 2022-07-29 at 08 43 05

- Sometimes buttons have an orange-ish focus style, sometimes a white one, and sometimes they don't have any. I could not figure out what's the difference

Screen Shot 2022-07-29 at 08 44 48

Screen Shot 2022-07-29 at 08 44 40

Screen Shot 2022-07-29 at 08 44 31

Screen Shot 2022-07-29 at 08 44 17

Screen Shot 2022-07-29 at 08 44 12

Screen Shot 2022-07-29 at 08 55 51

@francescospissu
Copy link
Contributor Author

Thank you for testing it @kittaakos!

  • Sometimes buttons have an orange-ish focus style, sometimes a white one, and sometimes they don't have any. I could not figure out what's the difference

This difference is also present in the other themes:

  • The buttons without border are the primary buttons, with the default/dark theme they have a background color but no border. Maybe for the HC theme we should add a border to highlight it.

  • Buttons with the white border are secondary buttons.

  • The orange focus style is due to the primary button already active when opening the settings dialog, it happens also with the other themes:

settings dialog

  • Install/Uninstall button on hover in boards and libs manager view:

I'll provide a fix for this.

@francescospissu francescospissu requested a review from 91volt July 29, 2022 09:15
@francescospissu francescospissu marked this pull request as ready for review July 29, 2022 09:15
Copy link
Contributor

@davegarthsimpson davegarthsimpson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fine with me for temp. workaround, nice one @francescospissu !

@91volt
Copy link

91volt commented Jul 29, 2022

Since no one has complained in the past I was expecting to see the restore of the previous version of the adapted HC theme before the introduction of our latest Theme related PR that made us change how some variables are handled.
The previous state of HC theme in Arduino IDE
Schermata 2022-07-29 alle 15 59 15

But even if we have gone for this approach that emulate how vscode handle the HC theme I believe the final result is usable overall, apart from minor issues highlighted by @kittaakos .

The only thing that I would change to align with the visual hierarchy of other Arduino themes is to restore the primary button entity on toolbar for verify, upload and debugger:
Schermata 2022-07-29 alle 16 17 21

Compared to the current one of this PR:
Schermata 2022-07-29 alle 16 17 56

@francescospissu
Copy link
Contributor Author

Since no one has complained in the past I was expecting to see the restore of the previous version of the adapted HC theme before the introduction of our latest Theme related PR that made us change how some variables are handled.

These changes have been done taking into account what is reported in this issue:

UI is broken (missing hover status in dropdowns and in the sketchbook, primary buttons background is transparent, board selector has no border, etc...)

About

The only thing that I would change to align with the visual hierarchy of other Arduino themes is to restore the primary button entity on toolbar for verify, upload and debugger:

I'll revert this behavior.

@per1234 per1234 added topic: theme Related to GUI theming topic: code Related to content of the project itself type: imperfection Perceived defect in any part of project labels Jul 29, 2022
@kittaakos
Copy link
Contributor

It's looking great. All the issues I reported in #1265 (comment) were fixed. ✅

I found only this one:

notification.mp4

@francescospissu
Copy link
Contributor Author

Thanks for testing it @kittaakos! I fixed the notification hover status by adding a dashed outline (in Theia Blueprint it works like this):

notifcation hover

@AlbyIanna
Copy link
Contributor

The Command Palette has no border, and it has the same background as the editor. Also, the elements' hover border is a little off.

Arduino IDE 2:
Screenshot 2022-08-01 at 11 55 08

VS Code
Screenshot 2022-08-01 at 11 55 20

@AlbyIanna
Copy link
Contributor

Hovering over an item of the board selector, three separate rectangles show up to highlight the item. I think a single rectangle enclosing the whole item would be better (and more similar to the other themes)

High Contrast
Screenshot 2022-08-01 at 11 56 53

Light
Screenshot 2022-08-01 at 11 56 32

@francescospissu
Copy link
Contributor Author

Thanks for testing it @AlbyIanna! I implemented your suggestions here. This is the result:

Boards selector hover:
hover drop-down

Command palette border:
quick input border

@francescospissu francescospissu merged commit d7f7010 into main Aug 1, 2022
@francescospissu francescospissu deleted the hc-theme branch August 1, 2022 13:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
topic: code Related to content of the project itself topic: theme Related to GUI theming type: imperfection Perceived defect in any part of project
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Themes: High Contrast is broken
6 participants