Skip to content

Commit

Permalink
🐣 Initial Commit
Browse files Browse the repository at this point in the history
  • Loading branch information
TobseF committed Jul 1, 2021
0 parents commit b35b0ec
Show file tree
Hide file tree
Showing 203 changed files with 1,840 additions and 0 deletions.
26 changes: 26 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
## IntelliJ
.idea
*.iml

## Gradle
.gradle
**/build/
!src/**/build/

# Avoid ignoring Gradle wrapper jar file (.jar files are usually ignored)
!gradle-wrapper.jar


## Kotlin
# Compiled class file
build
*.class

# Log file
*.log

# Package Files #
*.jar
*.zip
*.tar.gz
*.rar
78 changes: 78 additions & 0 deletions Preview.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
<html>
<head>
<style>
img {
margin: 4px;
height: 64px;
width: 64px;
}
</style>
</head>
<body style="background: #202020">
<img src="src/main/resources/010_Editor.png" alt="010 Editor Icon">
<img src="src/main/resources/3D_Builder.png" alt="3D Builder Icon">
<img src="src/main/resources/Advanced_Renamer.png" alt="Advanced Renamer Icon">
<img src="src/main/resources/AllDub.png" alt="AllDub Icon">
<img src="src/main/resources/APK_Easy_Tool.png" alt="APK Easy Tool Icon">
<img src="src/main/resources/Babylon.png" alt="Babylon Icon">
<img src="src/main/resources/BeeChat.png" alt="BeeChat Icon">
<img src="src/main/resources/Beyond_Compare.png" alt="Beyond Compare Icon">
<img src="src/main/resources/BoostNote.png" alt="BoostNote Icon">
<img src="src/main/resources/BurpSuite.png" alt="BurpSuite Icon">
<img src="src/main/resources/Bytecode_Viewer.png" alt="Bytecode Viewer Icon">
<img src="src/main/resources/Capture_One.png" alt="Capture One Icon">
<img src="src/main/resources/CHITUBOX.png" alt="CHITUBOX Icon">
<img src="src/main/resources/CloudExplorer.png" alt="CloudExplorer Icon">
<img src="src/main/resources/CopyQ.png" alt="CopyQ Icon">
<img src="src/main/resources/DesktopOK.png" alt="DesktopOK Icon">
<img src="src/main/resources/Directory_List_&_Print.png" alt="Directory List & Print Icon">
<img src="src/main/resources/DirSync.png" alt="DirSync Icon">
<img src="src/main/resources/DM_Fotowelt.png" alt="DM Fotowelt Icon">
<img src="src/main/resources/Duplicate.png" alt="Duplicate Icon">
<img src="src/main/resources/Event_Ghost.png" alt="Event Ghost Icon">
<img src="src/main/resources/FileTypes_Man.png" alt="FileTypes Man Icon">
<img src="src/main/resources/Fritz_Power_Line.png" alt="Fritz Power Line Icon">
<img src="src/main/resources/Guetzli_Converter.png" alt="Guetzli Converter Icon">
<img src="src/main/resources/HeidiSQL.png" alt="HeidiSQL Icon">
<img src="src/main/resources/Hex_Editor.png" alt="Hex Editor Icon">
<img src="src/main/resources/HTTrack_Website_Copier.png" alt="HTTrack Website Copier Icon">
<img src="src/main/resources/HWiNFO.png" alt="HWiNFO Icon">
<img src="src/main/resources/JPEGmini.png" alt="JPEGmini Icon">
<img src="src/main/resources/JPEGmini_Pro.png" alt="JPEGmini Pro Icon">
<img src="src/main/resources/Launch4J.png" alt="Launch4J Icon">
<img src="src/main/resources/LogCat.png" alt="LogCat Icon">
<img src="src/main/resources/MailStore.png" alt="MailStore Icon">
<img src="src/main/resources/Meshlab.png" alt="Meshlab Icon">
<img src="src/main/resources/Mission_Control.png" alt="Mission Control Icon">
<img src="src/main/resources/MP3_Tag_Editor.png" alt="MP3 Tag Editor Icon">
<img src="src/main/resources/OpenScad.png" alt="OpenScad Icon">
<img src="src/main/resources/Photonster.png" alt="Photonster Icon">
<img src="src/main/resources/Photon_Workshop.png" alt="Photon Workshop Icon">
<img src="src/main/resources/Picon.png" alt="Picon Icon">
<img src="src/main/resources/PlantUML.png" alt="PlantUML Icon">
<img src="src/main/resources/Prepros.png" alt="Prepros Icon">
<img src="src/main/resources/Proguard.png" alt="Proguard Icon">
<img src="src/main/resources/Pushbullet.png" alt="Pushbullet Icon">
<img src="src/main/resources/qBittorent.png" alt="qBittorent Icon">
<img src="src/main/resources/Sandbox.png" alt="Sandbox Icon">
<img src="src/main/resources/Sandbox_Config.png" alt="Sandbox Config Icon">
<img src="src/main/resources/SciaReto.png" alt="SciaReto Icon">
<img src="src/main/resources/ShoeBox.png" alt="ShoeBox Icon">
<img src="src/main/resources/SourceTrail.png" alt="SourceTrail Icon">
<img src="src/main/resources/SpaceMonger.png" alt="SpaceMonger Icon">
<img src="src/main/resources/SparkoCam.png" alt="SparkoCam Icon">
<img src="src/main/resources/Spin_3D_Mesh_Converter.png" alt="Spin 3D Mesh Converter Icon">
<img src="src/main/resources/Textify.png" alt="Textify Icon">
<img src="src/main/resources/TotalCommander.png" alt="TotalCommander Icon">
<img src="src/main/resources/TreeSize.png" alt="TreeSize Icon">
<img src="src/main/resources/UltraEdit.png" alt="UltraEdit Icon">
<img src="src/main/resources/Unlocker.png" alt="Unlocker Icon">
<img src="src/main/resources/USB_Safely_Remove.png" alt="USB Safely Remove Icon">
<img src="src/main/resources/Visual_VM.png" alt="Visual VM Icon">
<img src="src/main/resources/Windroye.png" alt="Windroye Icon">
<img src="src/main/resources/WinMerge.png" alt="WinMerge Icon">
<img src="src/main/resources/Wox_Launcher.png" alt="Wox Launcher Icon">
<img src="src/main/resources/XnConvert.png" alt="XnConvert Icon">
<img src="src/main/resources/XnView.png" alt="XnView Icon">
</body>
</html>
52 changes: 52 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
# 🐱‍🐉 TopsyIcons

![Icon](doc/TopsyIcons.png)

Unfortunately many tools still don't provide flat icons in a proper resolution.
To get HDPI icons on my desktop anyway, I recreated a few of them over time. The icons are located in:
[src/main/resources/](src/main/resources/)
Every icon is ready to use and provided as `svg`, `png` and `ico` file.
> 😅 I'm not a designer, and the icons don't share a common style guide.
> This is not a recommendation for the (mostly Windows) tools themselves.
## [📦 Download all Icons as Zip](https://github.com/TobseF/TopsyIcons/releases/latest/download/TopsyIcons.zip)

If you are looking for additional nice and flat icons for Windows, check out my
👉 [Papirus PNG & ICO Fork](https://github.com/TobseF/papirus-icon-theme-png-windows).

## ⭐ Features
  ⭐ Scalable Vector Graphics
  ⭐ PNG Images with 512 px height
  ⭐ Windows ICO files included
  ⭐ Flat design
  ⭐ Support for dark & white theme

## 🧭 All Icons
||||||||
|---|---|---|---|---|---|---|
|![010 Editor Icon](src/main/resources/010_Editor.png)|![3D Builder Icon](src/main/resources/3D_Builder.png)|![Advanced Renamer Icon](src/main/resources/Advanced_Renamer.png)|![AllDub Icon](src/main/resources/AllDub.png)|![APK Easy Tool Icon](src/main/resources/APK_Easy_Tool.png)|![Babylon Icon](src/main/resources/Babylon.png)|![BeeChat Icon](src/main/resources/BeeChat.png)|
|010 Editor|3D Builder|Advanced Renamer|AllDub|APK Easy Tool|Babylon|BeeChat|
|![Beyond Compare Icon](src/main/resources/Beyond_Compare.png)|![BoostNote Icon](src/main/resources/BoostNote.png)|![BurpSuite Icon](src/main/resources/BurpSuite.png)|![Bytecode Viewer Icon](src/main/resources/Bytecode_Viewer.png)|![Capture One Icon](src/main/resources/Capture_One.png)|![CHITUBOX Icon](src/main/resources/CHITUBOX.png)|![CloudExplorer Icon](src/main/resources/CloudExplorer.png)|
|Beyond Compare|BoostNote|BurpSuite|Bytecode Viewer|Capture One|CHITUBOX|CloudExplorer|
|![CopyQ Icon](src/main/resources/CopyQ.png)|![DesktopOK Icon](src/main/resources/DesktopOK.png)|![Directory List & Print Icon](src/main/resources/Directory_List_&_Print.png)|![DirSync Icon](src/main/resources/DirSync.png)|![DM Fotowelt Icon](src/main/resources/DM_Fotowelt.png)|![Duplicate Icon](src/main/resources/Duplicate.png)|![Event Ghost Icon](src/main/resources/Event_Ghost.png)|
|CopyQ|DesktopOK|Directory List & Print|DirSync|DM Fotowelt|Duplicate|Event Ghost|
|![FileTypes Man Icon](src/main/resources/FileTypes_Man.png)|![Fritz Power Line Icon](src/main/resources/Fritz_Power_Line.png)|![Guetzli Converter Icon](src/main/resources/Guetzli_Converter.png)|![HeidiSQL Icon](src/main/resources/HeidiSQL.png)|![Hex Editor Icon](src/main/resources/Hex_Editor.png)|![HTTrack Website Copier Icon](src/main/resources/HTTrack_Website_Copier.png)|![HWiNFO Icon](src/main/resources/HWiNFO.png)|
|FileTypes Man|Fritz Power Line|Guetzli Converter|HeidiSQL|Hex Editor|HTTrack Website Copier|HWiNFO|
|![JPEGmini Icon](src/main/resources/JPEGmini.png)|![JPEGmini Pro Icon](src/main/resources/JPEGmini_Pro.png)|![Launch4J Icon](src/main/resources/Launch4J.png)|![LogCat Icon](src/main/resources/LogCat.png)|![MailStore Icon](src/main/resources/MailStore.png)|![Meshlab Icon](src/main/resources/Meshlab.png)|![Mission Control Icon](src/main/resources/Mission_Control.png)|
|JPEGmini|JPEGmini Pro|Launch4J|LogCat|MailStore|Meshlab|Mission Control|
|![MP3 Tag Editor Icon](src/main/resources/MP3_Tag_Editor.png)|![OpenScad Icon](src/main/resources/OpenScad.png)|![Photonster Icon](src/main/resources/Photonster.png)|![Photon Workshop Icon](src/main/resources/Photon_Workshop.png)|![Picon Icon](src/main/resources/Picon.png)|![PlantUML Icon](src/main/resources/PlantUML.png)|![Prepros Icon](src/main/resources/Prepros.png)|
|MP3 Tag Editor|OpenScad|Photonster|Photon Workshop|Picon|PlantUML|Prepros|
|![Proguard Icon](src/main/resources/Proguard.png)|![Pushbullet Icon](src/main/resources/Pushbullet.png)|![qBittorent Icon](src/main/resources/qBittorent.png)|![Sandbox Icon](src/main/resources/Sandbox.png)|![Sandbox Config Icon](src/main/resources/Sandbox_Config.png)|![SciaReto Icon](src/main/resources/SciaReto.png)|![ShoeBox Icon](src/main/resources/ShoeBox.png)|
|Proguard|Pushbullet|qBittorent|Sandbox|Sandbox Config|SciaReto|ShoeBox|
|![SourceTrail Icon](src/main/resources/SourceTrail.png)|![SpaceMonger Icon](src/main/resources/SpaceMonger.png)|![SparkoCam Icon](src/main/resources/SparkoCam.png)|![Spin 3D Mesh Converter Icon](src/main/resources/Spin_3D_Mesh_Converter.png)|![Textify Icon](src/main/resources/Textify.png)|![TotalCommander Icon](src/main/resources/TotalCommander.png)|![TreeSize Icon](src/main/resources/TreeSize.png)|
|SourceTrail|SpaceMonger|SparkoCam|Spin 3D Mesh Converter|Textify|TotalCommander|TreeSize|
|![UltraEdit Icon](src/main/resources/UltraEdit.png)|![Unlocker Icon](src/main/resources/Unlocker.png)|![USB Safely Remove Icon](src/main/resources/USB_Safely_Remove.png)|![Visual VM Icon](src/main/resources/Visual_VM.png)|![Windroye Icon](src/main/resources/Windroye.png)|![WinMerge Icon](src/main/resources/WinMerge.png)|![Wox Launcher Icon](src/main/resources/Wox_Launcher.png)|
|UltraEdit|Unlocker|USB Safely Remove|Visual VM|Windroye|WinMerge|Wox Launcher|
|![XnConvert Icon](src/main/resources/XnConvert.png)|![XnView Icon](src/main/resources/XnView.png)|
|XnConvert|XnView|

## 📜 Licence
![CC0](https://mirrors.creativecommons.org/presskit/icons/cc.svg?ref=chooser-v1)
![CC0](https://mirrors.creativecommons.org/presskit/icons/zero.svg?ref=chooser-v1)
This work is marked with [CC0 1.0 Universal](http://creativecommons.org/publicdomain/zero/1.0?ref=chooser-v1)

29 changes: 29 additions & 0 deletions build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile

plugins {
kotlin("jvm") version "1.5.20"
application
}

group = "de.tfr.tool"
version = "1.0-SNAPSHOT"

repositories {
mavenCentral()
}

dependencies {
testImplementation(kotlin("test"))
}

tasks.test {
useJUnitPlatform()
}

tasks.withType<KotlinCompile>() {
kotlinOptions.jvmTarget = "1.8"
}

application {
mainClassName = "MainKt"
}
Binary file added doc/TopsyIcons.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions gradle.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
kotlin.code.style=official
3 changes: 3 additions & 0 deletions settings.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@

rootProject.name = "Topsee-Icons"

67 changes: 67 additions & 0 deletions src/main/kotlin/main.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
import java.io.File

/**
* Just a Kotlin script which generates the HTML preview and the Markdown table of all icons in the resources folder.
*/

fun main() {
val icons = File("src/main/resources").walk().filter { it.isPngIcon() }
.toList()

assertExistingIconSVG(icons)

generatePreviewHTML(icons)

generatePreviewMarkdown(icons)
}

private fun generatePreviewMarkdown(icons: List<File>) {
val columns = 7
icons.chunked(columns).forEach { row ->
generateTableLine(row)
}
}

private fun generatePreviewHTML(icons: List<File>) {
icons.forEach { image ->
val imageHtml = "<img src=\"${image.resource()}\" alt=\"${image.asTag()} Icon\">";
println(imageHtml)
}
}

private fun assertExistingIconSVG(icons: List<File>) {
icons.forEach {
if (!it.getIconSVG().exists()) {
throw IllegalStateException("Missing svg file: " + it.absoluteFile)
}
}
}

var firstRow = true
private fun generateTableLine(row: List<File>) {
if (firstRow){
val header = "|TopsyIcons|"
val separator = row.joinToString("|") { "---" }.wrap()
println(header)
println(separator)
firstRow = false
}
val tags = row.joinToString("|") { it.asTag() }.wrap()
val iconImages = row.joinToString("|") { "![${it.asTag()} Icon](${it.resource()})" }.wrap()

println(iconImages)
println(tags)
}

fun File.resource() = "src/main/resources/${this.name}"

fun File.getIconSVG() = File(this.absolutePath.replaceAfter(".", "svg"))

fun File.asTag() = this.nameWithoutExtension.replace("_", " ")

fun String.wrap() = "|$this|"

fun File.isPngIcon(): Boolean {
return this.isFile && this.name.lowercase().endsWith(".png")
}

Binary file added src/main/resources/010_Editor.ico
Binary file not shown.
Binary file added src/main/resources/010_Editor.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit b35b0ec

Please sign in to comment.