Skip to content

Conversation

@eirikbakke
Copy link
Contributor

@eirikbakke eirikbakke commented Apr 15, 2025

Here is yet another batch of SVG icons for NetBeans. These ~150 icons were all drawn by myself, based on NetBeans' existing GIF/PNG icons. This is a continuation of the effort to make NetBeans look good on HiDPI/Retina screens. Notably, this icon set includes all the icons in the toolbars that show up by default in a fresh NetBeans installation.

See this page for a graphical overview of all bitmap-to-SVG icon mappings:
https://people.csail.mit.edu/ebakke/misc/netbeans-icons-250415.html
(this is a hosted copy of the icons.html file that is generated by the IconTasks script in the netbeans-tools repo, see below)

image


image


image

The changes in this PR were made by running the IconTasks script in the netbeans-tools repo; see the companion PR apache/netbeans-tools#77 there. The changes consist exclusively of copying in SVG files in appropriate locations (sometimes overwriting existing SVG files to make adjustments to them), and updating the "icons.html" file.

@eirikbakke eirikbakke added Platform [ci] enable platform tests (platform/*) UI User Interface labels Apr 15, 2025
@mbien mbien added the ci:dev-build [ci] produce a dev-build zip artifact (7 days expiration, see link on workflow summary page) label Apr 15, 2025
@apache apache locked and limited conversation to collaborators Apr 15, 2025
@apache apache unlocked this conversation Apr 15, 2025
@eirikbakke
Copy link
Contributor Author

Illustrator seems to generate slightly different SVG files every time I regenerate old icons, even for icons that are identical since the last time. I should probably make the IconTasks script smart enough to detect when the SVG renders to the exact same bitmap, so that icons that are effectively unmodified can be omitted from the patch.

@mbien
Copy link
Member

mbien commented Apr 15, 2025

I should probably make the IconTasks script smart enough to detect when the SVG renders to the exact same bitmap, so that icons that are effectively unmodified can be omitted from the patch.

some of them had no modifications outside of added

  <description>Apache NetBeans Logo
  </description>

others had their content wrapped in <g> </g>

  <polygon class="st0" points="15 14 0 14 0 2 6 2 7.5 4 15 4 15 14"/>
  <path class="st1" d="M7.5,4l-1.5-2H0v12h15V4h-7.5ZM1,3h4.5l1.125,1.5H1v-1.5ZM14,13H1V5h13v8Z"/>

became

<g>
    <polygon class="st0" points="15 14 0 14 0 2 6 2 7.5 4 15 4 15 14"/>
    <path class="st1" d="M7.5,4l-1.5-2H0v12h15V4h-7.5ZM1,3h4.5l1.125,1.5H1v-1.5ZM14,13H1V5h13v8Z"/>
</g>

might have been a software update. (or the deluxe subscription ;))

Here is yet another batch of SVG icons for NetBeans. These icons were all drawn by myself, by tracing NetBeans' existing icons. This is a continuation of the effort to make NetBeans look good on HiDPI/Retina screens.

The changes in this PR were all made by running the IconTasks script in the netbeans-tools repo; see the companion PR apache/netbeans-tools#77 there. The changes consist exclusively of copying in SVG files in appropriate locations (sometimes overwriting existing SVG files to make adjustments to them).
@eirikbakke
Copy link
Contributor Author

I force-pushed a revision which skips SVGs that render to the exact same pixels as before. That reduces the number of modified files from 1252 to 343.

Also fixed some recent merge conflicts, and got rid of the stray "Apache NetBeans Logo" metadata element.

The pixel-comparison code has been added to the IconTasks script in apache/netbeans-tools#77

@mbien
Copy link
Member

mbien commented Apr 16, 2025

I force-pushed a revision which skips SVGs that render to the exact same pixels as before. That reduces the number of modified files from 1252 to 343.

awesome! was thinking to filter the patch somehow but this is better since it simplifies updates.

Tested it and it looks really nice. (the smaller light bulbs are also back :))

Not sure if this can be merged for NB 26 since freeze was yesterday, but it would be worth including I think. cc @ebarboni

@mbien mbien added this to the NB26 milestone Apr 16, 2025
@mbien
Copy link
Member

mbien commented Apr 16, 2025

merging for NB 26

@mbien mbien merged commit 5e1529e into apache:master Apr 16, 2025
32 checks passed
@eirikbakke
Copy link
Contributor Author

@mbien Thanks! There's also the companion PR apache/netbeans-tools#77 (no rush with that one).

(the smaller light bulbs are also back :))

Yes! I also ended up making a "webService" icon that's separate from "globe", more resembling of the original icon in that case. In each of these cases the latest versions look more like the original.

eirikbakke added a commit to eirikbakke/netbeans-tools that referenced this pull request May 20, 2025
This commit updates the Adobe Illustrator file that holds all of NetBeans' custom-drawn SVG icons, to include ~150 new icons that were integrated into the main NetBeans repo in a separate PR (apache/netbeans#8424). See the latter PR for screenshots of the new icons.

Various new mappings of PNG/GIF file paths to artboard names are also included, and new artboards, with original bitmap icons in a separate layer, were created in the Illustrator file for icons that need to be drawn in the future. New artboards were added in batch using a script that was generated by IconTasks.java.

Some icons which contained externally source logos have been omitted from the SVG file output, as they probably need a different license header. I will handle these in a separate PR.

Also:
* Update icon hashes and mappings to match commit 3c852705 in the main NetBeans repo. Some images in the nbi and harness/libs.nbi.ant modules had been removed, causing merge conflicts in the generated changes for that repo.
* Removed one stray artboard.
* Improve the IconTasks script to avoid overwriting SVG files that render to an identical bitmap as the existing SVG file. This simplifies new icon PRs.
eirikbakke added a commit to apache/netbeans-tools that referenced this pull request May 20, 2025
This commit updates the Adobe Illustrator file that holds all of NetBeans' custom-drawn SVG icons, to include ~150 new icons that were integrated into the main NetBeans repo in a separate PR (apache/netbeans#8424). See the latter PR for screenshots of the new icons.

Various new mappings of PNG/GIF file paths to artboard names are also included, and new artboards, with original bitmap icons in a separate layer, were created in the Illustrator file for icons that need to be drawn in the future. New artboards were added in batch using a script that was generated by IconTasks.java.

Some icons which contained externally source logos have been omitted from the SVG file output, as they probably need a different license header. I will handle these in a separate PR.

Also:
* Update icon hashes and mappings to match commit 3c852705 in the main NetBeans repo. Some images in the nbi and harness/libs.nbi.ant modules had been removed, causing merge conflicts in the generated changes for that repo.
* Removed one stray artboard.
* Improve the IconTasks script to avoid overwriting SVG files that render to an identical bitmap as the existing SVG file. This simplifies new icon PRs.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci:dev-build [ci] produce a dev-build zip artifact (7 days expiration, see link on workflow summary page) Platform [ci] enable platform tests (platform/*) UI User Interface

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants