git.lucas.co / cce-icons
SVG icon set
git clone https://git.lucas.co/cce-icons.git

commitd3d0242ae73ebf3bf934d232b692bae8954605ba
authorLucas Galante <[email protected]>
date2026-07-30 23:01
Initial commit: cce icon set

SVG/PNG sources, generated 40x40 xpm output, and the ImageMagick
build script that colorizes and converts them.

Co-Authored-By: Claude Fable 5 <[email protected]>

 .gitignore    |   4 ++++
 build.sh      |  53 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 png/minus.png | Bin 0 -> 10314 bytes
 png/plus.png  | Bin 0 -> 32729 bytes
 png/star.png  | Bin 0 -> 45455 bytes
 png/x.png     | Bin 0 -> 24981 bytes
 svg/minus.svg |   9 +++++++++
 svg/plus.svg  |  11 +++++++++++
 svg/star.svg  |  12 ++++++++++++
 svg/x.svg     |  11 +++++++++++
 xpm/minus.xpm |  48 ++++++++++++++++++++++++++++++++++++++++++++++++
 xpm/plus.xpm  |  48 ++++++++++++++++++++++++++++++++++++++++++++++++
 xpm/star.xpm  |  48 ++++++++++++++++++++++++++++++++++++++++++++++++
 xpm/x.xpm     |  48 ++++++++++++++++++++++++++++++++++++++++++++++++
 14 files changed, 292 insertions(+)

diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..63d9f24
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,4 @@
+# local scratch
+tmp_*
+*.hip
+*.hiplc
diff --git a/build.sh b/build.sh
new file mode 100755
index 0000000..1e62ea0
--- /dev/null
+++ b/build.sh
@@ -0,0 +1,53 @@
+#!/bin/bash
+
+# Configuration
+ICON_SIZE="40x40"
+ICON_COLOR="#ae8593" # Mixed Pink and Green
+SVG_DIR="./svg"
+PNG_DIR="./png"
+OUTPUT_DIR="./xpm"
+
+# Ensure output directory exists
+mkdir -p "$OUTPUT_DIR"
+
+echo "✨ CCE Icons Builder"
+echo "-----------------------"
+echo "Target Color: $ICON_COLOR"
+
+# Check for ImageMagick
+if ! command -v magick &> /dev/null; then
+    echo "❌ Error: ImageMagick (magick) is not installed."
+    exit 1
+fi
+
+count=0
+
+# Convert SVGs
+for svg in "$SVG_DIR"/*.svg; do
+    [ -e "$svg" ] || continue
+    filename=$(basename -- "$svg")
+    name="${filename%.*}"
+    output="$OUTPUT_DIR/$name.xpm"
+    echo "🎨 Converting & Coloring: $filename -> $name.xpm"
+    # -fill + -colorize 100% applies the color while preserving alpha
+    magick -background none "$svg" -fill "$ICON_COLOR" -colorize 100% -resize "$ICON_SIZE" "$output"
+    ((count++))
+done
+
+# Convert PNGs
+for png in "$PNG_DIR"/*.png; do
+    [ -e "$png" ] || continue
+    filename=$(basename -- "$png")
+    name="${filename%.*}"
+    output="$OUTPUT_DIR/$name.xpm"
+    echo "🎨 Converting & Coloring: $filename -> $name.xpm"
+    magick -background none "$png" -fill "$ICON_COLOR" -colorize 100% -resize "$ICON_SIZE" "$output"
+    ((count++))
+done
+
+if [ "$count" -eq 0 ]; then
+    echo "📭 No source files found."
+else
+    echo "-----------------------"
+    echo "✅ Successfully converted $count icons to $OUTPUT_DIR"
+fi
diff --git a/png/minus.png b/png/minus.png
new file mode 100644
index 0000000..f335085
Binary files /dev/null and b/png/minus.png differ
diff --git a/png/plus.png b/png/plus.png
new file mode 100644
index 0000000..a0517d7
Binary files /dev/null and b/png/plus.png differ
diff --git a/png/star.png b/png/star.png
new file mode 100644
index 0000000..a056d84
Binary files /dev/null and b/png/star.png differ
diff --git a/png/x.png b/png/x.png
new file mode 100644
index 0000000..620d808
Binary files /dev/null and b/png/x.png differ
diff --git a/svg/minus.svg b/svg/minus.svg
new file mode 100644
index 0000000..bdb6edb
--- /dev/null
+++ b/svg/minus.svg
@@ -0,0 +1,9 @@
+<svg width="40" height="40" viewBox="0 0 40 40" xmlns="http://www.w3.org/2000/svg">
+  <!-- Stylized rounded minus -->
+  <g fill="#f1fa8c">
+    <!-- Horizontal bar -->
+    <rect x="4" y="17" width="32" height="6" rx="3" />
+  </g>
+  <!-- Bright center -->
+  <circle cx="20" cy="20" r="3" fill="#ffffff" />
+</svg>
diff --git a/svg/plus.svg b/svg/plus.svg
new file mode 100644
index 0000000..73ab8c8
--- /dev/null
+++ b/svg/plus.svg
@@ -0,0 +1,11 @@
+<svg width="40" height="40" viewBox="0 0 40 40" xmlns="http://www.w3.org/2000/svg">
+  <!-- Stylized rounded cross -->
+  <g fill="#f1fa8c">
+    <!-- Vertical bar -->
+    <rect x="17" y="4" width="6" height="32" rx="3" />
+    <!-- Horizontal bar -->
+    <rect x="4" y="17" width="32" height="6" rx="3" />
+  </g>
+  <!-- Bright center -->
+  <circle cx="20" cy="20" r="3" fill="#ffffff" />
+</svg>
diff --git a/svg/star.svg b/svg/star.svg
new file mode 100644
index 0000000..4467cbb
--- /dev/null
+++ b/svg/star.svg
@@ -0,0 +1,12 @@
+<svg width="40" height="40" viewBox="0 0 40 40" xmlns="http://www.w3.org/2000/svg">
+  <g fill="#f1fa8c">
+    <!-- Pronounced lobes with wide outer edges and deep grooves -->
+    <path d="M20 20 L13 14 Q20 2 27 14 Z" transform="rotate(0 20 20)"/>
+    <path d="M20 20 L13 14 Q20 2 27 14 Z" transform="rotate(72 20 20)"/>
+    <path d="M20 20 L13 14 Q20 2 27 14 Z" transform="rotate(144 20 20)"/>
+    <path d="M20 20 L13 14 Q20 2 27 14 Z" transform="rotate(216 20 20)"/>
+    <path d="M20 20 L13 14 Q20 2 27 14 Z" transform="rotate(288 20 20)"/>
+  </g>
+  <!-- Bright center -->
+  <circle cx="20" cy="20" r="3" fill="#ffffff" />
+</svg>
diff --git a/svg/x.svg b/svg/x.svg
new file mode 100644
index 0000000..39ee914
--- /dev/null
+++ b/svg/x.svg
@@ -0,0 +1,11 @@
+<svg width="40" height="40" viewBox="0 0 40 40" xmlns="http://www.w3.org/2000/svg">
+  <!-- Stylized rounded x -->
+  <g fill="#f1fa8c" transform="rotate(45 20 20)">
+    <!-- Vertical bar -->
+    <rect x="17" y="4" width="6" height="32" rx="3" />
+    <!-- Horizontal bar -->
+    <rect x="4" y="17" width="32" height="6" rx="3" />
+  </g>
+  <!-- Bright center -->
+  <circle cx="20" cy="20" r="3" fill="#ffffff" />
+</svg>
diff --git a/xpm/minus.xpm b/xpm/minus.xpm
new file mode 100644
index 0000000..9830da8
--- /dev/null
+++ b/xpm/minus.xpm
@@ -0,0 +1,48 @@
+/* XPM */
+static char *minus[] = {
+/* columns rows colors chars-per-pixel */
+"40 40 2 1 ",
+"  c None",
+". c #AE8593",
+/* pixels */
+"                                        ",
+"                                        ",
+"                                        ",
+"                                        ",
+"                                        ",
+"                                        ",
+"                                        ",
+"                                        ",
+"                                        ",
+"                                        ",
+"                                        ",
+"                                        ",
+"                                        ",
+"                                        ",
+"                                        ",
+"                                        ",
+"                                        ",
+"     ..............................     ",
+"    ................................    ",
+"    ................................    ",
+"    ................................    ",
+"    ................................    ",
+"     ..............................     ",
+"                                        ",
+"                                        ",
+"                                        ",
+"                                        ",
+"                                        ",
+"                                        ",
+"                                        ",
+"                                        ",
+"                                        ",
+"                                        ",
+"                                        ",
+"                                        ",
+"                                        ",
+"                                        ",
+"                                        ",
+"                                        ",
+"                                        "
+};
diff --git a/xpm/plus.xpm b/xpm/plus.xpm
new file mode 100644
index 0000000..9980b4a
--- /dev/null
+++ b/xpm/plus.xpm
@@ -0,0 +1,48 @@
+/* XPM */
+static char *plus[] = {
+/* columns rows colors chars-per-pixel */
+"40 40 2 1 ",
+"  c None",
+". c #AE8593",
+/* pixels */
+"                                        ",
+"                                        ",
+"                                        ",
+"                                        ",
+"                  ...                   ",
+"                  ....                  ",
+"                 ......                 ",
+"                 ......                 ",
+"                 ......                 ",
+"                 ......                 ",
+"                 ......                 ",
+"                 ......                 ",
+"                 ......                 ",
+"                 ......                 ",
+"                 ......                 ",
+"                 ......                 ",
+"                 ......                 ",
+"      ............................      ",
+"    ...............................     ",
+"    ................................    ",
+"    ................................    ",
+"     ..............................     ",
+"      ............................      ",
+"                 ......                 ",
+"                 ......                 ",
+"                 ......                 ",
+"                 ......                 ",
+"                 ......                 ",
+"                 ......                 ",
+"                 ......                 ",
+"                 ......                 ",
+"                 ......                 ",
+"                 ......                 ",
+"                 ......                 ",
+"                  ....                  ",
+"                   ..                   ",
+"                                        ",
+"                                        ",
+"                                        ",
+"                                        "
+};
diff --git a/xpm/star.xpm b/xpm/star.xpm
new file mode 100644
index 0000000..20eabde
--- /dev/null
+++ b/xpm/star.xpm
@@ -0,0 +1,48 @@
+/* XPM */
+static char *star[] = {
+/* columns rows colors chars-per-pixel */
+"40 40 2 1 ",
+"  c None",
+". c #AE8593",
+/* pixels */
+"                                        ",
+"                                        ",
+"                                        ",
+"                                        ",
+"                                        ",
+"                   ..                   ",
+"                 ......                 ",
+"                 ......                 ",
+"                ........                ",
+"                ........                ",
+"               ..........               ",
+"               ..........               ",
+"                ........                ",
+"        ......  ........  ......        ",
+"       ........  ......  ........       ",
+"      .......... ...... ..........      ",
+"      ........... .... ...........      ",
+"      ............ .. ............      ",
+"      ............    ............      ",
+"       ............  ............       ",
+"        .........      .........        ",
+"          ...    ..  ..    ...          ",
+"              ............              ",
+"            ................            ",
+"           ........  ........           ",
+"           ........  ........           ",
+"          .........  .........          ",
+"          .........  .........          ",
+"          .........  .........          ",
+"          .........  .........          ",
+"          ........    ........          ",
+"           ......      ......           ",
+"                                        ",
+"                                        ",
+"                                        ",
+"                                        ",
+"                                        ",
+"                                        ",
+"                                        ",
+"                                        "
+};
diff --git a/xpm/x.xpm b/xpm/x.xpm
new file mode 100644
index 0000000..2051879
--- /dev/null
+++ b/xpm/x.xpm
@@ -0,0 +1,48 @@
+/* XPM */
+static char *x[] = {
+/* columns rows colors chars-per-pixel */
+"40 40 2 1 ",
+"  c None",
+". c #AE8593",
+/* pixels */
+"                                        ",
+"                                        ",
+"                                        ",
+"                                        ",
+"                                        ",
+"                                        ",
+"                                        ",
+"                                        ",
+"         ....              ....         ",
+"        ......            ......        ",
+"        .......          .......        ",
+"        ........        ........        ",
+"        .........      .........        ",
+"         .........    .........         ",
+"          .........  .........          ",
+"           ..................           ",
+"            ................            ",
+"             ..............             ",
+"              ............              ",
+"               ..........               ",
+"               ..........               ",
+"              ............              ",
+"             ..............             ",
+"            ................            ",
+"           ..................           ",
+"          .........  .........          ",
+"         .........    .........         ",
+"        .........      .........        ",
+"        ........        ........        ",
+"        .......          .......        ",
+"        ......            ......        ",
+"         ....              ....         ",
+"                                        ",
+"                                        ",
+"                                        ",
+"                                        ",
+"                                        ",
+"                                        ",
+"                                        ",
+"                                        "
+};