-# Copyright © 2022 Nick Bowler
+# Copyright © 2022-2023 Nick Bowler
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.
+TEST_TAP_SIMPLE([ewmh_icon_prepare_cmap],
+ [ewmhicon --test-cmap], [], [gui ewmh icon])
+
AT_SETUP([_NET_WM_ICON tiles (16x16)])
+AT_KEYWORDS([gui ewmh icon])
-AT_CHECK([ewmhicon 16x16], [0], [dnl
-....%+....%+....
-....%+....%+....
-....%+....%+....
-....%+....%+....
-%%%%%+%%%%%+%%%%
-++++++++++++++++
-....%+....%+....
-....%+....%+....
-....%+....%+....
-....%+....%+....
-%%%%%+%%%%%+%%%%
-++++++++++++++++
-....%+....%+....
-....%+....%+....
-....%+....%+....
-....%+....%+....
-])
+AT_CHECK([ewmhicon 16x16], [0], [[/* XPM */
+static char *icon[] = {
+"16 16 3 1",
+". c #ff0000",
+"% c #00ff00",
+"+ c #0000ff",
+"....%+....%+....",
+"....%+....%+....",
+"....%+....%+....",
+"....%+....%+....",
+"%%%%%+%%%%%+%%%%",
+"++++++++++++++++",
+"....%+....%+....",
+"....%+....%+....",
+"....%+....%+....",
+"....%+....%+....",
+"%%%%%+%%%%%+%%%%",
+"++++++++++++++++",
+"....%+....%+....",
+"....%+....%+....",
+"....%+....%+....",
+"....%+....%+...."
+};
+]])
AT_CLEANUP
AT_SETUP([_NET_WM_ICON tiles (24x24)])
+AT_KEYWORDS([gui ewmh icon])
-AT_CHECK([ewmhicon 24x24], [0], [dnl
-++++++++++++++++++++++++
-+......%+......%+......%
-+......%+......%+......%
-+......%+......%+......%
-+......%+......%+......%
-+......%+......%+......%
-+......%+......%+......%
-+%%%%%%%+%%%%%%%+%%%%%%%
-++++++++++++++++++++++++
-+......%+......%+......%
-+......%+......%+......%
-+......%+......%+......%
-+......%+......%+......%
-+......%+......%+......%
-+......%+......%+......%
-+%%%%%%%+%%%%%%%+%%%%%%%
-++++++++++++++++++++++++
-+......%+......%+......%
-+......%+......%+......%
-+......%+......%+......%
-+......%+......%+......%
-+......%+......%+......%
-+......%+......%+......%
-+%%%%%%%+%%%%%%%+%%%%%%%
-])
+AT_CHECK([ewmhicon 24x24], [0], [[/* XPM */
+static char *icon[] = {
+"24 24 3 1",
+". c #ff0000",
+"% c #00ff00",
+"+ c #0000ff",
+"++++++++++++++++++++++++",
+"+......%+......%+......%",
+"+......%+......%+......%",
+"+......%+......%+......%",
+"+......%+......%+......%",
+"+......%+......%+......%",
+"+......%+......%+......%",
+"+%%%%%%%+%%%%%%%+%%%%%%%",
+"++++++++++++++++++++++++",
+"+......%+......%+......%",
+"+......%+......%+......%",
+"+......%+......%+......%",
+"+......%+......%+......%",
+"+......%+......%+......%",
+"+......%+......%+......%",
+"+%%%%%%%+%%%%%%%+%%%%%%%",
+"++++++++++++++++++++++++",
+"+......%+......%+......%",
+"+......%+......%+......%",
+"+......%+......%+......%",
+"+......%+......%+......%",
+"+......%+......%+......%",
+"+......%+......%+......%",
+"+%%%%%%%+%%%%%%%+%%%%%%%"
+};
+]])
AT_CLEANUP
AT_SETUP([_NET_WM_ICON tiles (32x32)])
+AT_KEYWORDS([gui ewmh icon])
-AT_CHECK([ewmhicon 32x32], [0], [dnl
-++++++++++++++++++++++++++++++++
-+.........%+........%+.........%
-+.........%+........%+.........%
-+.........%+........%+.........%
-+.........%+........%+.........%
-+.........%+........%+.........%
-+.........%+........%+.........%
-+.........%+........%+.........%
-+.........%+........%+.........%
-+.........%+........%+.........%
-+%%%%%%%%%%+%%%%%%%%%+%%%%%%%%%%
-++++++++++++++++++++++++++++++++
-+.........%+........%+.........%
-+.........%+........%+.........%
-+.........%+........%+.........%
-+.........%+........%+.........%
-+.........%+........%+.........%
-+.........%+........%+.........%
-+.........%+........%+.........%
-+.........%+........%+.........%
-+%%%%%%%%%%+%%%%%%%%%+%%%%%%%%%%
-++++++++++++++++++++++++++++++++
-+.........%+........%+.........%
-+.........%+........%+.........%
-+.........%+........%+.........%
-+.........%+........%+.........%
-+.........%+........%+.........%
-+.........%+........%+.........%
-+.........%+........%+.........%
-+.........%+........%+.........%
-+.........%+........%+.........%
-+%%%%%%%%%%+%%%%%%%%%+%%%%%%%%%%
-])
+AT_CHECK([ewmhicon 32x32], [0], [[/* XPM */
+static char *icon[] = {
+"32 32 3 1",
+". c #ff0000",
+"% c #00ff00",
+"+ c #0000ff",
+"++++++++++++++++++++++++++++++++",
+"+.........%+........%+.........%",
+"+.........%+........%+.........%",
+"+.........%+........%+.........%",
+"+.........%+........%+.........%",
+"+.........%+........%+.........%",
+"+.........%+........%+.........%",
+"+.........%+........%+.........%",
+"+.........%+........%+.........%",
+"+.........%+........%+.........%",
+"+%%%%%%%%%%+%%%%%%%%%+%%%%%%%%%%",
+"++++++++++++++++++++++++++++++++",
+"+.........%+........%+.........%",
+"+.........%+........%+.........%",
+"+.........%+........%+.........%",
+"+.........%+........%+.........%",
+"+.........%+........%+.........%",
+"+.........%+........%+.........%",
+"+.........%+........%+.........%",
+"+.........%+........%+.........%",
+"+%%%%%%%%%%+%%%%%%%%%+%%%%%%%%%%",
+"++++++++++++++++++++++++++++++++",
+"+.........%+........%+.........%",
+"+.........%+........%+.........%",
+"+.........%+........%+.........%",
+"+.........%+........%+.........%",
+"+.........%+........%+.........%",
+"+.........%+........%+.........%",
+"+.........%+........%+.........%",
+"+.........%+........%+.........%",
+"+.........%+........%+.........%",
+"+%%%%%%%%%%+%%%%%%%%%+%%%%%%%%%%"
+};
+]])
AT_CLEANUP
AT_SETUP([_NET_WM_ICON tiles (48x48)])
+AT_KEYWORDS([gui ewmh icon])
-AT_CHECK([ewmhicon 48x48], [0], [dnl
-++++++++++++++++++++++++++++++++++++++++++++++++
-+++++++++++++++%+++++++++++++++%+++++++++++++++%
-++............%%++............%%++............%%
-++............%%++............%%++............%%
-++............%%++............%%++............%%
-++............%%++............%%++............%%
-++............%%++............%%++............%%
-++............%%++............%%++............%%
-++............%%++............%%++............%%
-++............%%++............%%++............%%
-++............%%++............%%++............%%
-++............%%++............%%++............%%
-++............%%++............%%++............%%
-++............%%++............%%++............%%
-++%%%%%%%%%%%%%%++%%%%%%%%%%%%%%++%%%%%%%%%%%%%%
-+%%%%%%%%%%%%%%%+%%%%%%%%%%%%%%%+%%%%%%%%%%%%%%%
-++++++++++++++++++++++++++++++++++++++++++++++++
-+++++++++++++++%+++++++++++++++%+++++++++++++++%
-++............%%++............%%++............%%
-++............%%++............%%++............%%
-++............%%++............%%++............%%
-++............%%++............%%++............%%
-++............%%++............%%++............%%
-++............%%++............%%++............%%
-++............%%++............%%++............%%
-++............%%++............%%++............%%
-++............%%++............%%++............%%
-++............%%++............%%++............%%
-++............%%++............%%++............%%
-++............%%++............%%++............%%
-++%%%%%%%%%%%%%%++%%%%%%%%%%%%%%++%%%%%%%%%%%%%%
-+%%%%%%%%%%%%%%%+%%%%%%%%%%%%%%%+%%%%%%%%%%%%%%%
-++++++++++++++++++++++++++++++++++++++++++++++++
-+++++++++++++++%+++++++++++++++%+++++++++++++++%
-++............%%++............%%++............%%
-++............%%++............%%++............%%
-++............%%++............%%++............%%
-++............%%++............%%++............%%
-++............%%++............%%++............%%
-++............%%++............%%++............%%
-++............%%++............%%++............%%
-++............%%++............%%++............%%
-++............%%++............%%++............%%
-++............%%++............%%++............%%
-++............%%++............%%++............%%
-++............%%++............%%++............%%
-++%%%%%%%%%%%%%%++%%%%%%%%%%%%%%++%%%%%%%%%%%%%%
-+%%%%%%%%%%%%%%%+%%%%%%%%%%%%%%%+%%%%%%%%%%%%%%%
-])
+AT_CHECK([ewmhicon 48x48], [0], [[/* XPM */
+static char *icon[] = {
+"48 48 3 1",
+". c #ff0000",
+"% c #00ff00",
+"+ c #0000ff",
+"++++++++++++++++++++++++++++++++++++++++++++++++",
+"+++++++++++++++%+++++++++++++++%+++++++++++++++%",
+"++............%%++............%%++............%%",
+"++............%%++............%%++............%%",
+"++............%%++............%%++............%%",
+"++............%%++............%%++............%%",
+"++............%%++............%%++............%%",
+"++............%%++............%%++............%%",
+"++............%%++............%%++............%%",
+"++............%%++............%%++............%%",
+"++............%%++............%%++............%%",
+"++............%%++............%%++............%%",
+"++............%%++............%%++............%%",
+"++............%%++............%%++............%%",
+"++%%%%%%%%%%%%%%++%%%%%%%%%%%%%%++%%%%%%%%%%%%%%",
+"+%%%%%%%%%%%%%%%+%%%%%%%%%%%%%%%+%%%%%%%%%%%%%%%",
+"++++++++++++++++++++++++++++++++++++++++++++++++",
+"+++++++++++++++%+++++++++++++++%+++++++++++++++%",
+"++............%%++............%%++............%%",
+"++............%%++............%%++............%%",
+"++............%%++............%%++............%%",
+"++............%%++............%%++............%%",
+"++............%%++............%%++............%%",
+"++............%%++............%%++............%%",
+"++............%%++............%%++............%%",
+"++............%%++............%%++............%%",
+"++............%%++............%%++............%%",
+"++............%%++............%%++............%%",
+"++............%%++............%%++............%%",
+"++............%%++............%%++............%%",
+"++%%%%%%%%%%%%%%++%%%%%%%%%%%%%%++%%%%%%%%%%%%%%",
+"+%%%%%%%%%%%%%%%+%%%%%%%%%%%%%%%+%%%%%%%%%%%%%%%",
+"++++++++++++++++++++++++++++++++++++++++++++++++",
+"+++++++++++++++%+++++++++++++++%+++++++++++++++%",
+"++............%%++............%%++............%%",
+"++............%%++............%%++............%%",
+"++............%%++............%%++............%%",
+"++............%%++............%%++............%%",
+"++............%%++............%%++............%%",
+"++............%%++............%%++............%%",
+"++............%%++............%%++............%%",
+"++............%%++............%%++............%%",
+"++............%%++............%%++............%%",
+"++............%%++............%%++............%%",
+"++............%%++............%%++............%%",
+"++............%%++............%%++............%%",
+"++%%%%%%%%%%%%%%++%%%%%%%%%%%%%%++%%%%%%%%%%%%%%",
+"+%%%%%%%%%%%%%%%+%%%%%%%%%%%%%%%+%%%%%%%%%%%%%%%"
+};
+]])
AT_CLEANUP