Add htop-logo.png as the README header#1983
Add htop-logo.png as the README header#1983corygabrielsen wants to merge 1 commit intohtop-dev:mainfrom
Conversation
|
Please keep the icons |
|
Hi @Explorer09, thank you for your remarks.
|
Who is this "I" within the quoted text? You or the Claude AI? |
|
My name is Cory Gabrielsen. Your README is inaccurate and has been for four years. I wrote code to fix it. Do you want to help me merge it or do you want to chastise me? |
What inaccuracy are you referring to? |
|
Hi @Explorer09 . All of the information has been written clearly. Please let me know what is confusing you. I do not know how to answer such questions that I have already written an answer for in the pull request.
Please advise, thank you. |
Please advise. |
In the Makefile.am file: pixmapdir = $(datadir)/pixmaps
pixmap_DATA = htop.png
appicondir = $(datadir)/icons/hicolor/scalable/apps
appicon_DATA = htop.svgYes. The filenames are not arbitrary or useless. When you replaced the icon with the banner, you are going to break the display of the htop app icons in desktop environments. That's why I said to leave the files alone. If you want a logo in the README, make it a separate filename such as |
861ef66 to
8e76170
Compare
I reverted changes to This strikes me as a bit odd, but let me know if you would prefer a different filename or to overwrite a different file. I am only trying to update the README. |
8e76170 to
9aa3df6
Compare
9aa3df6 to
c661cd7
Compare
I renamed the file to |
c661cd7 to
a00be4c
Compare
|
I think it's ready. Let me know if you want any further changes. |
|
Two minor questions, which I think I'd let the maintainers to decide. I'm just a contributor and cannot make these decisions:
|
|
@corygabrielsen thanks for your contribution. I think you're on the right track - I agree that the README rendering can be improved as you say, and made consistent here with the htop.dev website at the same time.
Don't worry about him - he's a terrible communicator, seems to quickly forget previous warnings, and is particularly triggered by any use of AI (so he's having a bad day every day now - explains his poor attitude I guess). @BenBE created these files originally and I'm sure will take a closer look when time becomes available. htop-logo.svg is a good name to use - it matches the htop-logo.png file in the website git repo; for some reason the original full-word svg doesn't seem to be committed there though, perhaps @BenBE still has a copy of that file somewhere? |
|
@natoscott @BenBE — surfacing the provenance of Reproducible byte-for-byte: If you'd rather use a different vector master (yours, @BenBE), drop it in and the script becomes superfluous. This is just a clean record of how this one was built — happy to delete, move under
|
happy to help hello from LA |
Yes and no. The original files (available here in the repo) are still the ones created by @hishamhm – when I did some stickers a while back I took these files and hand-crafted some streamlined versions (that are not public). Looking into our resources repo (and the website) I only can find the variant with the H only right now and I doubt that I've seen a SVG of the full htop text. Thus for the full text variant one would need to create a SVG version, which is complicated by the way the gradient was done in the original. |
|
@corygabrielsen Does your script survive the PNG rendering full circle? I.e. given the original PNG, would the SVG when rendered be identical (regarding the pixels + alpha)? |
If this SVG is not original but "traced" from a PNG, then it could be a better idea to just use the PNG. Because, (1) the PNG could be smaller in file size, and (2) you would need a hard time tuning the SVG to make it pixel-by-pixel identical to the PNG if rendered in the same resolution. My concern here is whether we want to use this "traced" logo to be the new, official logo or whether we should use the PNG as the official one. Once this image is in the repository, we should expect that downstream forks may modify it. The file should be the "preferred form of the work for making modifications to it" (according to the GPL license text). A "traced" SVG image might not meet this requirement, and thus it might not be worth it for including in the repository (comparing to PNG). |
I didn't get appreciated. Objective fact: The original version of this PR suggested replacing the As the patch was obviously wrong, I replied to keep the two images ( If the submitter (@corygabrielsen) studied carefully about the context (including how icons in desktop environments work), they shouldn't make such a mistake. The PR looked like someone rushed to contribute in order to make a name in the project -- until another person tells them that they could mess up. Please understand this is not about AI, but people who try to contribute without caring quality. |
|
@Explorer09 If you can't take subtle hints, let me write this in plain words, so you can understand: I don’t recall anyone mentioning cake, so I’m not sure why the crumbs keep talking. Instead of helping you are currently creating just noise and distraction. So if you could please stop causing distractions to people who actually work on a solution, it would be much appreciated. At the moment there are I think primarily three people who can potentially add to this: That'd be @corygabrielsen (that's why I asked them), @hishamhm (who might know about the origins of the original PNG file or if there's some [vector] master somewhere), and me (having worked on the streamlined logo variants). Okay, now back on topic. The original logo (can also be seen in the hires variant in the repo with just the H) is not exact integer multiples. In particular there's some weird transform matrix applied that shifts things slightly off. Furthermore, and this is something you'll only notice looking at the SVG directly, the individual bars aren't exactly square. And the spacing is not even regular either. So question is if we can find the master document for the website banner somewhere, or if we need to go the route of re-tracing the logo (or hand-crafting the SVG). |
a00be4c to
ae38842
Compare
|
This is a nice discussion with thoughtful considerations. I figure the most useful thing I can do is construct the best SVGs, so that the maintainers can take a decision on what they want to do here. DecisionsThere are at least two main decisions to be made:
For D1, the simplest decision and smallest patch is to use SVG optionsWith the attention on this, however, it is reasonable to give some thought to D2. On the GPL "preferred form" point that came up earlier: the GPL explicitly counts build scripts as Corresponding Source (§1, §3), so a generator script paired with the canonical PNG satisfies "preferred form for modification" regardless of whether we ship the PNG, the SVG, or both — the script makes the SVG reproducible from the PNG. I figure the SVG should be optimized along three criteria:
As it turns out, pixel-perfect accuracy costs ~100× the file size. The reason is structural: PNG is a binary format that compresses pixel-to-pixel residuals via predictive filtering and DEFLATE, achieving roughly 0.18 bytes per visible pixel on this asset. SVG is text describing geometric shapes, so a pixel-perfect SVG must emit one shape per same-colored pixel run — paying ~50 bytes of XML syntax (tag name, attribute names, quotes) per shape regardless of compression. We're using a vector format to encode raster data, which is not what either format was designed for. The most elegant SVG I was able to construct (with Opus 4.7) is below. It uses htop's existing color palette from
|
| Variant | Raw size | Gzipped | Lines | Visible pixels off canonical |
|---|---|---|---|---|
htop-logo.png (canonical) |
7,542 B | — | — | 0 |
| v0 — original PR gradient SVG | 17,648 B | ~4 K | 202 | 13,764 (max ±113 RGB; brackets inverted) |
| Elegant SVG (above) | 5,018 B | ~2 K | 100 | 13,760 (max ±72 RGB) |
| Symbol-shared RLE SVG | 142 K | 8.7 K | 2,581 | 0 |
| Full RLE SVG | 570 K | 36 K | 9,955 | 0 |
With no clear winner found, it is difficult for me to form a strong opinion on tradeoffs between accuracy × size × elegance.
Conclusion
If I were the maintainer, I would appreciate D1 and D2 being addressed separately. For that reason, I've reduced the scope of this PR and modified the patch to use htop-logo.png in the README.
We can continue discussing the question of whether to include an htop-logo.svg in the source repository, and if so, which file to use and why.
|
The patch is updated to add and use I don't think SVG was the right decision for the README and the pushback was good. I spent about two hours trying to derive an accurate+elegant SVG from the PNG and failed. The original artist is surely the best person to ask here. |
|
Git-pack costs for the D2 candidates.
Adding an
Repo context: largest blob 125 KB ( |
|
I think PNG is the way to go and SVG should be disregarded and forgotten unless an original file is discovered. RLE SVG ≈ PNG with image-rendering: pixelated CSS |
|
Any reason you put HTML into the markdown file instead of keeping it as a markdown image link? |
Adds htop-logo.png, a byte-for-byte copy of the canonical HTOP wordmark from htop-dev/htop-dev.github.io/images/htop-logo.png, and updates the README header to reference it. Application icon files (htop.png, htop.svg) are unchanged. Assisted-by: Claude (Anthropic)
ae38842 to
5fdb8f5
Compare
No, this was me being confused and leaving old code smell from the SVG version, which I intuitively pursued because a) the logo has a gradient and b) With your suggestion, the README diff is now minimal: diff --git a/README.md b/README.md
index b8a8c2d0..612b5d4d 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-# [](https://htop.dev)
+# [](https://htop.dev)Thanks for the push @fasterit. |


Motivation
The README's top-of-page logo links to
htop.png, which currently renders as a stylized "H" — while htop.dev and the other htop logo assets (htop-logo.png,htop-small.png,htop.ico) all use the full HTOP wordmark.Rather than touch the application icon files (
htop.png,htop.svg) — which are installed byMakefile.amaspixmap_DATAandappicon_DATAand may be the bare "H" by intent — this PR isolates the change to the README. The application icons stay as-is.Changes
htop-logo.png: byte-for-byte copy ofhtop-dev.github.io/images/htop-logo.png(sha256735674d2…f8a75b7).htop-logo.png.What this PR does NOT change
htop.pngandhtop.svg(the installed app icons) — untouched.Makefile.am— untouched.htop-logo.pngis a README-only asset, not installed. This matches the existing pattern fordocs/images/screenshot.png, which is also referenced from the README and not inEXTRA_DIST.htop.desktop— untouched.Scope
This patch addresses one decision: which image to use at the top of the README. A separate question — whether to also include an
htop-logo.svgin the source repository — is discussed in the PR comments without affecting this patch.Licensing & AI disclosure
htop-logo.pngis htop-dev's own asset; license remains GPL-2.0+.Assisted-by:trailer in the commit per CONTRIBUTING.md's "Use of AI" section.