diff --git a/ico/breeze-added/16/transform-crop.svg b/ico/breeze-added/16/transform-crop.svg
new file mode 100644
index 000000000..08715c08b
--- /dev/null
+++ b/ico/breeze-added/16/transform-crop.svg
@@ -0,0 +1,11 @@
+
diff --git a/ico/generated/traced-24/arc.svg b/ico/generated/traced-24/arc.svg
index df09768fa..bc010b325 100644
--- a/ico/generated/traced-24/arc.svg
+++ b/ico/generated/traced-24/arc.svg
@@ -5,25 +5,17 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ico/generated/traced-24/circle.svg b/ico/generated/traced-24/circle.svg
index 91da1dfe1..ab4990e4d 100644
--- a/ico/generated/traced-24/circle.svg
+++ b/ico/generated/traced-24/circle.svg
@@ -2,20 +2,28 @@
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ico/generated/traced-24/ellipse.svg b/ico/generated/traced-24/ellipse.svg
index 841723148..a0b357992 100644
--- a/ico/generated/traced-24/ellipse.svg
+++ b/ico/generated/traced-24/ellipse.svg
@@ -2,22 +2,24 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ico/generated/traced-large-24/arc.svg b/ico/generated/traced-large-24/arc.svg
index 5ab8cc61b..75699fc93 100644
--- a/ico/generated/traced-large-24/arc.svg
+++ b/ico/generated/traced-large-24/arc.svg
@@ -5,6 +5,8 @@
-
+
+
+
diff --git a/ico/generated/traced-large-24/circle.svg b/ico/generated/traced-large-24/circle.svg
index f49fc49a5..300e123c5 100644
--- a/ico/generated/traced-large-24/circle.svg
+++ b/ico/generated/traced-large-24/circle.svg
@@ -2,11 +2,10 @@
-
-
+
+
diff --git a/ico/generated/traced-large-24/ellipse.svg b/ico/generated/traced-large-24/ellipse.svg
index 9cd21593a..827b26c88 100644
--- a/ico/generated/traced-large-24/ellipse.svg
+++ b/ico/generated/traced-large-24/ellipse.svg
@@ -2,11 +2,10 @@
-
-
+
+
diff --git a/ico/icon-themes.qrc b/ico/icon-themes.qrc
index 21982f568..6b9255f7b 100644
--- a/ico/icon-themes.qrc
+++ b/ico/icon-themes.qrc
@@ -2283,19 +2283,19 @@
generated/traced-24/titleblock-right.svg
generated/traced-large-24/titleblock-right.svg
traced/large22/titleblock-right.svg
- breeze/16/transform-crop.svg
+ breeze-added/16/transform-crop.svg
breeze/22/transform-crop.svg
generated/breeze-24/transform-crop.svg
- breeze/16/transform-crop.svg
+ breeze-added/16/transform-crop.svg
generated/breeze-24/transform-crop.svg
- breeze/16/transform-crop.svg
- breeze/16/transform-crop.svg
- breeze/16/transform-crop.svg
+ breeze-added/16/transform-crop.svg
+ breeze-added/16/transform-crop.svg
+ breeze-added/16/transform-crop.svg
breeze/22/transform-crop.svg
- breeze/16/transform-crop.svg
+ breeze-added/16/transform-crop.svg
generated/breeze-24/transform-crop.svg
- breeze/16/transform-crop.svg
- breeze/16/transform-crop.svg
+ breeze-added/16/transform-crop.svg
+ breeze-added/16/transform-crop.svg
breeze/16/transform-rotate.svg
breeze/22/transform-rotate.svg
generated/breeze-24/transform-rotate.svg
@@ -3160,7 +3160,7 @@
themes/qet-dark/traced/large16/titleblock-right.svg
themes/qet-dark/traced/large22/titleblock-right.svg
themes/qet-dark/traced-large-24/titleblock-right.svg
- themes/qet-dark/breeze/16/transform-crop.svg
+ themes/qet-dark/breeze-added/16/transform-crop.svg
themes/qet-dark/breeze/22/transform-crop.svg
themes/qet-dark/breeze-24/transform-crop.svg
themes/qet-dark/breeze/16/transform-rotate.svg
@@ -5203,19 +5203,19 @@
themes/qet-dark/traced/large16/titleblock-right.svg
themes/qet-dark/traced-large-24/titleblock-right.svg
themes/qet-dark/traced/large22/titleblock-right.svg
- themes/qet-dark/breeze/16/transform-crop.svg
+ themes/qet-dark/breeze-added/16/transform-crop.svg
themes/qet-dark/breeze/22/transform-crop.svg
themes/qet-dark/breeze-24/transform-crop.svg
- themes/qet-dark/breeze/16/transform-crop.svg
+ themes/qet-dark/breeze-added/16/transform-crop.svg
themes/qet-dark/breeze-24/transform-crop.svg
- themes/qet-dark/breeze/16/transform-crop.svg
- themes/qet-dark/breeze/16/transform-crop.svg
- themes/qet-dark/breeze/16/transform-crop.svg
+ themes/qet-dark/breeze-added/16/transform-crop.svg
+ themes/qet-dark/breeze-added/16/transform-crop.svg
+ themes/qet-dark/breeze-added/16/transform-crop.svg
themes/qet-dark/breeze/22/transform-crop.svg
- themes/qet-dark/breeze/16/transform-crop.svg
+ themes/qet-dark/breeze-added/16/transform-crop.svg
themes/qet-dark/breeze-24/transform-crop.svg
- themes/qet-dark/breeze/16/transform-crop.svg
- themes/qet-dark/breeze/16/transform-crop.svg
+ themes/qet-dark/breeze-added/16/transform-crop.svg
+ themes/qet-dark/breeze-added/16/transform-crop.svg
themes/qet-dark/breeze/16/transform-rotate.svg
themes/qet-dark/breeze/22/transform-rotate.svg
themes/qet-dark/breeze-24/transform-rotate.svg
diff --git a/ico/themes/qet-dark/breeze-added/16/transform-crop.svg b/ico/themes/qet-dark/breeze-added/16/transform-crop.svg
new file mode 100644
index 000000000..d350d8a9b
--- /dev/null
+++ b/ico/themes/qet-dark/breeze-added/16/transform-crop.svg
@@ -0,0 +1,11 @@
+
diff --git a/ico/themes/qet-dark/breeze/16/transform-crop.svg b/ico/themes/qet-dark/breeze/16/transform-crop.svg
deleted file mode 100644
index aea4bf582..000000000
--- a/ico/themes/qet-dark/breeze/16/transform-crop.svg
+++ /dev/null
@@ -1,13 +0,0 @@
-
diff --git a/ico/themes/qet-dark/traced-24/arc.svg b/ico/themes/qet-dark/traced-24/arc.svg
index c4b414eaf..cba04e237 100644
--- a/ico/themes/qet-dark/traced-24/arc.svg
+++ b/ico/themes/qet-dark/traced-24/arc.svg
@@ -5,25 +5,17 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ico/themes/qet-dark/traced-24/circle.svg b/ico/themes/qet-dark/traced-24/circle.svg
index aaf079f33..dde65d093 100644
--- a/ico/themes/qet-dark/traced-24/circle.svg
+++ b/ico/themes/qet-dark/traced-24/circle.svg
@@ -2,20 +2,28 @@
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ico/themes/qet-dark/traced-24/ellipse.svg b/ico/themes/qet-dark/traced-24/ellipse.svg
index 676e31291..085cb5373 100644
--- a/ico/themes/qet-dark/traced-24/ellipse.svg
+++ b/ico/themes/qet-dark/traced-24/ellipse.svg
@@ -2,22 +2,24 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ico/themes/qet-dark/traced-large-24/arc.svg b/ico/themes/qet-dark/traced-large-24/arc.svg
index 6a66b9f94..09abe62c6 100644
--- a/ico/themes/qet-dark/traced-large-24/arc.svg
+++ b/ico/themes/qet-dark/traced-large-24/arc.svg
@@ -5,6 +5,8 @@
-
+
+
+
diff --git a/ico/themes/qet-dark/traced-large-24/circle.svg b/ico/themes/qet-dark/traced-large-24/circle.svg
index 177ab3ce0..e0bfdced9 100644
--- a/ico/themes/qet-dark/traced-large-24/circle.svg
+++ b/ico/themes/qet-dark/traced-large-24/circle.svg
@@ -2,11 +2,10 @@
-
-
+
+
diff --git a/ico/themes/qet-dark/traced-large-24/ellipse.svg b/ico/themes/qet-dark/traced-large-24/ellipse.svg
index d078da777..dfed9066a 100644
--- a/ico/themes/qet-dark/traced-large-24/ellipse.svg
+++ b/ico/themes/qet-dark/traced-large-24/ellipse.svg
@@ -2,11 +2,10 @@
-
-
+
+
diff --git a/ico/themes/qet-dark/traced/16/arc.svg b/ico/themes/qet-dark/traced/16/arc.svg
index 7f851111d..dbc31a5ac 100644
--- a/ico/themes/qet-dark/traced/16/arc.svg
+++ b/ico/themes/qet-dark/traced/16/arc.svg
@@ -4,13 +4,18 @@
.ColorScheme-Text { color:#dcdcdc; }
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ico/themes/qet-dark/traced/16/circle.svg b/ico/themes/qet-dark/traced/16/circle.svg
index f6f289104..dbef06f81 100644
--- a/ico/themes/qet-dark/traced/16/circle.svg
+++ b/ico/themes/qet-dark/traced/16/circle.svg
@@ -2,17 +2,16 @@
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
diff --git a/ico/themes/qet-dark/traced/16/ellipse.svg b/ico/themes/qet-dark/traced/16/ellipse.svg
index f20e3683e..f9a8d7b61 100644
--- a/ico/themes/qet-dark/traced/16/ellipse.svg
+++ b/ico/themes/qet-dark/traced/16/ellipse.svg
@@ -2,16 +2,16 @@
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
diff --git a/ico/themes/qet-dark/traced/22/arc.svg b/ico/themes/qet-dark/traced/22/arc.svg
index 9b542da79..3f34fb0b3 100644
--- a/ico/themes/qet-dark/traced/22/arc.svg
+++ b/ico/themes/qet-dark/traced/22/arc.svg
@@ -4,24 +4,16 @@
.ColorScheme-Text { color:#dcdcdc; }
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ico/themes/qet-dark/traced/22/circle.svg b/ico/themes/qet-dark/traced/22/circle.svg
index f5b1c6119..49b20a04c 100644
--- a/ico/themes/qet-dark/traced/22/circle.svg
+++ b/ico/themes/qet-dark/traced/22/circle.svg
@@ -2,18 +2,26 @@
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ico/themes/qet-dark/traced/22/ellipse.svg b/ico/themes/qet-dark/traced/22/ellipse.svg
index 4ed940cbc..21fdcd8a1 100644
--- a/ico/themes/qet-dark/traced/22/ellipse.svg
+++ b/ico/themes/qet-dark/traced/22/ellipse.svg
@@ -2,20 +2,22 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ico/themes/qet-dark/traced/large16/arc.svg b/ico/themes/qet-dark/traced/large16/arc.svg
index 778242ad8..dc1f58fe8 100644
--- a/ico/themes/qet-dark/traced/large16/arc.svg
+++ b/ico/themes/qet-dark/traced/large16/arc.svg
@@ -4,5 +4,7 @@
.ColorScheme-Text { color:#dcdcdc; }
-
+
+
+
diff --git a/ico/themes/qet-dark/traced/large16/circle.svg b/ico/themes/qet-dark/traced/large16/circle.svg
index 3a8ad1a61..0e28a210c 100644
--- a/ico/themes/qet-dark/traced/large16/circle.svg
+++ b/ico/themes/qet-dark/traced/large16/circle.svg
@@ -2,9 +2,8 @@
-
-
+
+
diff --git a/ico/themes/qet-dark/traced/large16/ellipse.svg b/ico/themes/qet-dark/traced/large16/ellipse.svg
index ff55f773f..825b393d7 100644
--- a/ico/themes/qet-dark/traced/large16/ellipse.svg
+++ b/ico/themes/qet-dark/traced/large16/ellipse.svg
@@ -2,9 +2,8 @@
-
-
+
+
diff --git a/ico/themes/qet-dark/traced/large22/arc.svg b/ico/themes/qet-dark/traced/large22/arc.svg
index a515a8392..8f067651a 100644
--- a/ico/themes/qet-dark/traced/large22/arc.svg
+++ b/ico/themes/qet-dark/traced/large22/arc.svg
@@ -4,5 +4,7 @@
.ColorScheme-Text { color:#dcdcdc; }
-
+
+
+
diff --git a/ico/themes/qet-dark/traced/large22/circle.svg b/ico/themes/qet-dark/traced/large22/circle.svg
index 8a568e096..888693e32 100644
--- a/ico/themes/qet-dark/traced/large22/circle.svg
+++ b/ico/themes/qet-dark/traced/large22/circle.svg
@@ -2,9 +2,8 @@
-
-
+
+
diff --git a/ico/themes/qet-dark/traced/large22/ellipse.svg b/ico/themes/qet-dark/traced/large22/ellipse.svg
index 2692858f2..ac8efa0e9 100644
--- a/ico/themes/qet-dark/traced/large22/ellipse.svg
+++ b/ico/themes/qet-dark/traced/large22/ellipse.svg
@@ -2,9 +2,8 @@
-
-
+
+
diff --git a/ico/traced/16/arc.svg b/ico/traced/16/arc.svg
index 067b784ab..c2b8a7a31 100644
--- a/ico/traced/16/arc.svg
+++ b/ico/traced/16/arc.svg
@@ -4,13 +4,18 @@
.ColorScheme-Text { color:#4d4d4d; }
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ico/traced/16/circle.svg b/ico/traced/16/circle.svg
index c05f542ee..941654d57 100644
--- a/ico/traced/16/circle.svg
+++ b/ico/traced/16/circle.svg
@@ -2,17 +2,16 @@
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
diff --git a/ico/traced/16/ellipse.svg b/ico/traced/16/ellipse.svg
index 0c3515a70..a3ed773e6 100644
--- a/ico/traced/16/ellipse.svg
+++ b/ico/traced/16/ellipse.svg
@@ -2,16 +2,16 @@
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
diff --git a/ico/traced/22/arc.svg b/ico/traced/22/arc.svg
index 2f28cf24c..d7de8200e 100644
--- a/ico/traced/22/arc.svg
+++ b/ico/traced/22/arc.svg
@@ -4,24 +4,16 @@
.ColorScheme-Text { color:#4d4d4d; }
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ico/traced/22/circle.svg b/ico/traced/22/circle.svg
index 1dccc4a24..8b29d8837 100644
--- a/ico/traced/22/circle.svg
+++ b/ico/traced/22/circle.svg
@@ -2,18 +2,26 @@
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ico/traced/22/ellipse.svg b/ico/traced/22/ellipse.svg
index d31dc19be..55071aab2 100644
--- a/ico/traced/22/ellipse.svg
+++ b/ico/traced/22/ellipse.svg
@@ -2,20 +2,22 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ico/traced/large16/arc.svg b/ico/traced/large16/arc.svg
index a02942c80..f5a63eaf2 100644
--- a/ico/traced/large16/arc.svg
+++ b/ico/traced/large16/arc.svg
@@ -4,5 +4,7 @@
.ColorScheme-Text { color:#4d4d4d; }
-
+
+
+
diff --git a/ico/traced/large16/circle.svg b/ico/traced/large16/circle.svg
index 01eba33d3..54aade90f 100644
--- a/ico/traced/large16/circle.svg
+++ b/ico/traced/large16/circle.svg
@@ -2,9 +2,8 @@
-
-
+
+
diff --git a/ico/traced/large16/ellipse.svg b/ico/traced/large16/ellipse.svg
index e6a9bb7d0..37225a16b 100644
--- a/ico/traced/large16/ellipse.svg
+++ b/ico/traced/large16/ellipse.svg
@@ -2,9 +2,8 @@
-
-
+
+
diff --git a/ico/traced/large22/arc.svg b/ico/traced/large22/arc.svg
index dc582061a..65f676d46 100644
--- a/ico/traced/large22/arc.svg
+++ b/ico/traced/large22/arc.svg
@@ -4,5 +4,7 @@
.ColorScheme-Text { color:#4d4d4d; }
-
+
+
+
diff --git a/ico/traced/large22/circle.svg b/ico/traced/large22/circle.svg
index 344d34e0d..4eff30488 100644
--- a/ico/traced/large22/circle.svg
+++ b/ico/traced/large22/circle.svg
@@ -2,9 +2,8 @@
-
-
+
+
diff --git a/ico/traced/large22/ellipse.svg b/ico/traced/large22/ellipse.svg
index 979506787..dbf0db55f 100644
--- a/ico/traced/large22/ellipse.svg
+++ b/ico/traced/large22/ellipse.svg
@@ -2,9 +2,8 @@
-
-
+
+
diff --git a/misc/make_icon_themes.py b/misc/make_icon_themes.py
index a0e92ac0e..7a428ba7b 100644
--- a/misc/make_icon_themes.py
+++ b/misc/make_icon_themes.py
@@ -62,7 +62,8 @@ for twice the pixels, by the same rule.
Where Breeze has no 16 pixel drawing, QET adds one in
ico/breeze-added/16/, on Breeze's grid and in its colors, so every icon
has art drawn for 16 pixels. Without one, the 32 pixel art is halved,
-which blurs.
+which blurs. A drawing there also replaces a Breeze 16 pixel drawing in
+another style than the 22 pixel art (transform-crop).
32 pixel art drawn in another style than the 22 pixel art (a blue
folder for a line-art one) is not used; the 16 pixel art keeps the
@@ -479,8 +480,14 @@ def breeze_entries(breeze_name):
following the table in the module docstring."""
art = {size: f"breeze/{size}/{breeze_name}.svg" for size in BREEZE_SIZES
if (ICO / "breeze" / str(size) / f"{breeze_name}.svg").exists()}
+ # QET's own 16 pixel drawing, where Breeze has none or draws the icon
+ # in another style at 16 (transform-crop: a crop mark, a dashed box
+ # at 22). Breeze's 32 pixel art then goes too, so 32 and up keep the
+ # 22 pixel look.
added = ICO / "breeze-added" / "16" / f"{breeze_name}.svg"
- if 16 not in art and added.exists():
+ if added.exists():
+ if 16 in art:
+ art.pop(32, None)
art[16] = str(added.relative_to(ICO))
# Breeze sometimes draws the 32 pixel icon in another style, a blue
# folder where the smaller ones are line art. Its color classes then