[gimp] icons, tools: start grouping icons by their usage.
- From: Jehan <jehanp src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp] icons, tools: start grouping icons by their usage.
- Date: Mon, 31 Jan 2022 13:53:52 +0000 (UTC)
commit d2db539591b823331b4304f4ce26327eab27c885
Author: Jehan <jehan girinstud io>
Date: Sat Jan 29 00:21:40 2022 +0100
icons, tools: start grouping icons by their usage.
There are some clear and obvious groups in the icons. For instance, the
Preferences icons are one of them. Looking up the code, we only use them
in 16px (in Preferences side menu) and 48px (in Preferences page
headers). Until now, we were storing in other unrelated size (22px) and
also the lists per-sizes were not consistent. Some icons were missing
here, other there.
With this new organization, the Preferences icons are listed in a single
file, ensuring usage and contents consistency. Also it allows to install
them only for the needed sizes (note that it is possible that they might
be needed in different size, for instance with custom themes; but we
can't just randomly distribute icons in all sizes; or to be more
accurate, this is exactly why we encourage rather the SVG/scalable
icons, so if some people explicitly go for raster icons, they also get
the drawbacks which come with).
Last note: it may be possible that some icons end up in different
"semantic" icon group. This is not a problem with this new organization
as my scripts handle duplicates gracefully.
icons/Color/icon-list.mk | 231 ++++++++++++++++++---------------------
icons/Color/meson.build | 108 ++++++++++++------
icons/Symbolic/icon-list.mk | 231 ++++++++++++++++++---------------------
icons/Symbolic/meson.build | 111 +++++++++++++------
icons/icon-lists/bitmap_16.list | 25 -----
icons/icon-lists/bitmap_22.list | 39 -------
icons/icon-lists/bitmap_48.list | 40 -------
icons/icon-lists/prefs.list | 56 ++++++++++
icons/icon-lists/scalable.list | 40 -------
tools/generate-icon-makefiles.py | 30 ++++-
10 files changed, 443 insertions(+), 468 deletions(-)
---
diff --git a/icons/Color/icon-list.mk b/icons/Color/icon-list.mk
index 8f43274f17..a8fd126c91 100644
--- a/icons/Color/icon-list.mk
+++ b/icons/Color/icon-list.mk
@@ -212,46 +212,6 @@ scalable_images = \
scalable/gimp-pivot-west.svg \
scalable/gimp-plugin.svg \
scalable/gimp-portrait.svg \
- scalable/gimp-prefs-color-management.svg \
- scalable/gimp-prefs-controllers.svg \
- scalable/gimp-prefs-default-comment.svg \
- scalable/gimp-prefs-default-grid.svg \
- scalable/gimp-prefs-display.svg \
- scalable/gimp-prefs-folders.svg \
- scalable/gimp-prefs-folders-brushes.svg \
- scalable/gimp-prefs-folders-dynamics.svg \
- scalable/gimp-prefs-folders-environ.svg \
- scalable/gimp-prefs-folders-fonts.svg \
- scalable/gimp-prefs-folders-gradients.svg \
- scalable/gimp-prefs-folders-icon-themes.svg \
- scalable/gimp-prefs-folders-interp.svg \
- scalable/gimp-prefs-folders-modules.svg \
- scalable/gimp-prefs-folders-mypaint-brushes.svg \
- scalable/gimp-prefs-folders-palettes.svg \
- scalable/gimp-prefs-folders-patterns.svg \
- scalable/gimp-prefs-folders-plug-ins.svg \
- scalable/gimp-prefs-folders-scripts.svg \
- scalable/gimp-prefs-folders-themes.svg \
- scalable/gimp-prefs-folders-tool-plug-ins.svg \
- scalable/gimp-prefs-folders-tool-presets.svg \
- scalable/gimp-prefs-folders-tools.svg \
- scalable/gimp-prefs-help-system.svg \
- scalable/gimp-prefs-icon-theme.svg \
- scalable/gimp-prefs-image-title.svg \
- scalable/gimp-prefs-image-windows.svg \
- scalable/gimp-prefs-image-windows-appearance.svg \
- scalable/gimp-prefs-image-windows-snapping.svg \
- scalable/gimp-prefs-import-export.svg \
- scalable/gimp-prefs-input-devices.svg \
- scalable/gimp-prefs-interface.svg \
- scalable/gimp-prefs-new-image.svg \
- scalable/gimp-prefs-playground.svg \
- scalable/gimp-prefs-session.svg \
- scalable/gimp-prefs-system-resources.svg \
- scalable/gimp-prefs-theme.svg \
- scalable/gimp-prefs-tool-options.svg \
- scalable/gimp-prefs-toolbox.svg \
- scalable/gimp-prefs-window-management.svg \
scalable/gimp-quick-mask-off.svg \
scalable/gimp-quick-mask-on.svg \
scalable/gimp-reset.svg \
@@ -361,7 +321,46 @@ scalable_images = \
scalable/gimp-wilber.svg \
scalable/gimp-wilber-eek.svg \
scalable/gimp-wilber-outline.svg \
- scalable/gimp-zoom-follow-window.svg
+ scalable/gimp-zoom-follow-window.svg \
+ \
+ scalable/gimp-prefs-color-management.svg \
+ \
+ scalable/gimp-prefs-controllers.svg \
+ scalable/gimp-prefs-default-grid.svg \
+ scalable/gimp-prefs-display.svg \
+ scalable/gimp-prefs-folders.svg \
+ scalable/gimp-prefs-help-system.svg \
+ scalable/gimp-prefs-icon-theme.svg \
+ scalable/gimp-prefs-image-title.svg \
+ scalable/gimp-prefs-image-windows.svg \
+ scalable/gimp-prefs-image-windows-appearance.svg \
+ scalable/gimp-prefs-image-windows-snapping.svg \
+ scalable/gimp-prefs-import-export.svg \
+ scalable/gimp-prefs-input-devices.svg \
+ scalable/gimp-prefs-interface.svg \
+ scalable/gimp-prefs-new-image.svg \
+ scalable/gimp-prefs-playground.svg \
+ scalable/gimp-prefs-system-resources.svg \
+ scalable/gimp-prefs-theme.svg \
+ scalable/gimp-prefs-tool-options.svg \
+ scalable/gimp-prefs-toolbox.svg \
+ scalable/gimp-prefs-window-management.svg \
+ \
+ scalable/gimp-prefs-folders-brushes.svg \
+ scalable/gimp-prefs-folders-dynamics.svg \
+ scalable/gimp-prefs-folders-environ.svg \
+ scalable/gimp-prefs-folders-fonts.svg \
+ scalable/gimp-prefs-folders-gradients.svg \
+ scalable/gimp-prefs-folders-icon-themes.svg \
+ scalable/gimp-prefs-folders-interp.svg \
+ scalable/gimp-prefs-folders-modules.svg \
+ scalable/gimp-prefs-folders-mypaint-brushes.svg \
+ scalable/gimp-prefs-folders-palettes.svg \
+ scalable/gimp-prefs-folders-patterns.svg \
+ scalable/gimp-prefs-folders-plug-ins.svg \
+ scalable/gimp-prefs-folders-scripts.svg \
+ scalable/gimp-prefs-folders-themes.svg \
+ scalable/gimp-prefs-folders-tool-presets.svg
icons12_images = \
12/gimp-attach.png \
@@ -546,31 +545,6 @@ icons16_images = \
16/gimp-pattern.png \
16/gimp-plugin.png \
16/gimp-portrait.png \
- 16/gimp-prefs-folders-brushes.png \
- 16/gimp-prefs-folders-dynamics.png \
- 16/gimp-prefs-folders-environ.png \
- 16/gimp-prefs-folders-fonts.png \
- 16/gimp-prefs-folders-gradients.png \
- 16/gimp-prefs-folders-icon-themes.png \
- 16/gimp-prefs-folders-interp.png \
- 16/gimp-prefs-folders-modules.png \
- 16/gimp-prefs-folders-mypaint-brushes.png \
- 16/gimp-prefs-folders-palettes.png \
- 16/gimp-prefs-folders-patterns.png \
- 16/gimp-prefs-folders-plug-ins.png \
- 16/gimp-prefs-folders-scripts.png \
- 16/gimp-prefs-folders-themes.png \
- 16/gimp-prefs-folders-tool-plug-ins.png \
- 16/gimp-prefs-folders-tool-presets.png \
- 16/gimp-prefs-folders-tools.png \
- 16/gimp-prefs-icon-theme.png \
- 16/gimp-prefs-image-windows.png \
- 16/gimp-prefs-import-export.png \
- 16/gimp-prefs-interface.png \
- 16/gimp-prefs-playground.png \
- 16/gimp-prefs-theme.png \
- 16/gimp-prefs-toolbox.png \
- 16/gimp-prefs-window-management.png \
16/gimp-reset.png \
16/gimp-reshow-filter.png \
16/gimp-resize.png \
@@ -665,7 +639,48 @@ icons16_images = \
16/gimp-user-manual.png \
16/gimp-video.png \
16/gimp-web.png \
- 16/gimp-wilber.png
+ 16/gimp-wilber.png \
+ \
+ 16/gimp-prefs-color-management.png \
+ \
+ 16/gimp-prefs-controllers.png \
+ 16/gimp-prefs-default-grid.png \
+ 16/gimp-prefs-display.png \
+ 16/gimp-prefs-folders.png \
+ 16/gimp-prefs-help-system.png \
+ 16/gimp-prefs-icon-theme.png \
+ 16/gimp-prefs-image-title.png \
+ 16/gimp-prefs-image-windows.png \
+ 16/gimp-prefs-image-windows-appearance.png \
+ 16/gimp-prefs-image-windows-snapping.png \
+ 16/gimp-prefs-import-export.png \
+ 16/gimp-prefs-input-devices.png \
+ 16/gimp-prefs-interface.png \
+ 16/gimp-prefs-new-image.png \
+ 16/gimp-prefs-playground.png \
+ 16/gimp-prefs-system-resources.png \
+ 16/gimp-prefs-theme.png \
+ 16/gimp-prefs-tool-options.png \
+ 16/gimp-prefs-toolbox.png \
+ 16/gimp-prefs-window-management.png \
+ \
+ 16/gimp-prefs-folders-brushes.png \
+ 16/gimp-prefs-folders-dynamics.png \
+ 16/gimp-prefs-folders-environ.png \
+ 16/gimp-prefs-folders-fonts.png \
+ 16/gimp-prefs-folders-gradients.png \
+ 16/gimp-prefs-folders-icon-themes.png \
+ 16/gimp-prefs-folders-interp.png \
+ 16/gimp-prefs-folders-modules.png \
+ 16/gimp-prefs-folders-mypaint-brushes.png \
+ 16/gimp-prefs-folders-palettes.png \
+ 16/gimp-prefs-folders-patterns.png \
+ 16/gimp-prefs-folders-plug-ins.png \
+ 16/gimp-prefs-folders-scripts.png \
+ 16/gimp-prefs-folders-themes.png \
+ 16/gimp-prefs-folders-tool-presets.png \
+ \
+ 16/gimp-wilber-eek.png
icons18_images = \
18/gimp-color-picker-black.png \
@@ -694,45 +709,6 @@ icons22_images = \
22/gimp-path.png \
22/gimp-paths.png \
22/gimp-portrait.png \
- 22/gimp-prefs-color-management.png \
- 22/gimp-prefs-controllers.png \
- 22/gimp-prefs-default-grid.png \
- 22/gimp-prefs-display.png \
- 22/gimp-prefs-folders.png \
- 22/gimp-prefs-folders-brushes.png \
- 22/gimp-prefs-folders-dynamics.png \
- 22/gimp-prefs-folders-environ.png \
- 22/gimp-prefs-folders-fonts.png \
- 22/gimp-prefs-folders-gradients.png \
- 22/gimp-prefs-folders-icon-themes.png \
- 22/gimp-prefs-folders-interp.png \
- 22/gimp-prefs-folders-modules.png \
- 22/gimp-prefs-folders-mypaint-brushes.png \
- 22/gimp-prefs-folders-palettes.png \
- 22/gimp-prefs-folders-patterns.png \
- 22/gimp-prefs-folders-plug-ins.png \
- 22/gimp-prefs-folders-scripts.png \
- 22/gimp-prefs-folders-themes.png \
- 22/gimp-prefs-folders-tool-plug-ins.png \
- 22/gimp-prefs-folders-tool-presets.png \
- 22/gimp-prefs-folders-tools.png \
- 22/gimp-prefs-help-system.png \
- 22/gimp-prefs-icon-theme.png \
- 22/gimp-prefs-image-title.png \
- 22/gimp-prefs-image-windows.png \
- 22/gimp-prefs-image-windows-appearance.png \
- 22/gimp-prefs-image-windows-snapping.png \
- 22/gimp-prefs-import-export.png \
- 22/gimp-prefs-input-devices.png \
- 22/gimp-prefs-interface.png \
- 22/gimp-prefs-new-image.png \
- 22/gimp-prefs-playground.png \
- 22/gimp-prefs-session.png \
- 22/gimp-prefs-system-resources.png \
- 22/gimp-prefs-theme.png \
- 22/gimp-prefs-tool-options.png \
- 22/gimp-prefs-toolbox.png \
- 22/gimp-prefs-window-management.png \
22/gimp-tool-preset.png \
22/gimp-wilber.png
@@ -914,29 +890,15 @@ icons48_images = \
48/gimp-image.png \
48/gimp-layer-mask.png \
48/gimp-layer.png \
+ 48/gimp-text-layer.png \
+ 48/gimp-wilber.png \
+ \
48/gimp-prefs-color-management.png \
+ \
48/gimp-prefs-controllers.png \
- 48/gimp-prefs-default-comment.png \
48/gimp-prefs-default-grid.png \
48/gimp-prefs-display.png \
48/gimp-prefs-folders.png \
- 48/gimp-prefs-folders-brushes.png \
- 48/gimp-prefs-folders-dynamics.png \
- 48/gimp-prefs-folders-environ.png \
- 48/gimp-prefs-folders-fonts.png \
- 48/gimp-prefs-folders-gradients.png \
- 48/gimp-prefs-folders-icon-themes.png \
- 48/gimp-prefs-folders-interp.png \
- 48/gimp-prefs-folders-modules.png \
- 48/gimp-prefs-folders-mypaint-brushes.png \
- 48/gimp-prefs-folders-palettes.png \
- 48/gimp-prefs-folders-patterns.png \
- 48/gimp-prefs-folders-plug-ins.png \
- 48/gimp-prefs-folders-scripts.png \
- 48/gimp-prefs-folders-themes.png \
- 48/gimp-prefs-folders-tool-plug-ins.png \
- 48/gimp-prefs-folders-tool-presets.png \
- 48/gimp-prefs-folders-tools.png \
48/gimp-prefs-help-system.png \
48/gimp-prefs-icon-theme.png \
48/gimp-prefs-image-title.png \
@@ -948,14 +910,29 @@ icons48_images = \
48/gimp-prefs-interface.png \
48/gimp-prefs-new-image.png \
48/gimp-prefs-playground.png \
- 48/gimp-prefs-session.png \
48/gimp-prefs-system-resources.png \
48/gimp-prefs-theme.png \
48/gimp-prefs-tool-options.png \
48/gimp-prefs-toolbox.png \
48/gimp-prefs-window-management.png \
- 48/gimp-text-layer.png \
- 48/gimp-wilber.png
+ \
+ 48/gimp-prefs-folders-brushes.png \
+ 48/gimp-prefs-folders-dynamics.png \
+ 48/gimp-prefs-folders-environ.png \
+ 48/gimp-prefs-folders-fonts.png \
+ 48/gimp-prefs-folders-gradients.png \
+ 48/gimp-prefs-folders-icon-themes.png \
+ 48/gimp-prefs-folders-interp.png \
+ 48/gimp-prefs-folders-modules.png \
+ 48/gimp-prefs-folders-mypaint-brushes.png \
+ 48/gimp-prefs-folders-palettes.png \
+ 48/gimp-prefs-folders-patterns.png \
+ 48/gimp-prefs-folders-plug-ins.png \
+ 48/gimp-prefs-folders-scripts.png \
+ 48/gimp-prefs-folders-themes.png \
+ 48/gimp-prefs-folders-tool-presets.png \
+ \
+ 48/gimp-wilber-eek.png
icons64_images = \
64/gimp-frame.png \
diff --git a/icons/Color/meson.build b/icons/Color/meson.build
index b14549c0db..3e8bcfe36b 100644
--- a/icons/Color/meson.build
+++ b/icons/Color/meson.build
@@ -1,53 +1,97 @@
if have_vector_icons
- source_icons = {
- 'scalable': [ 'scalable', 'scalable', '.svg' ],
- 'bitmap_64-system': [ '64x64', '64', '.png' ],
- 'bitmap_64-always': [ '64x64', '64', '.png' ],
- }
+ install_icons = [
+ {
+ 'outdir': 'scalable',
+ 'indir': 'scalable',
+ 'suffix': '.svg',
+ 'files': [ 'scalable', 'prefs', ],
+ },
+ {
+ 'outdir': '64x64',
+ 'indir': '64',
+ 'suffix': '.png',
+ 'files': [ 'bitmap_64-always', 'bitmap_64-system', ],
+ },
+ ]
else
- sizes = [ '12', '16', '18', '20', '22', '24', '32',
- '48', '64', '96', '128', '192', '256' ]
-
- foreach size : sizes
- icon_list = '../icon-lists/bitmap_@0@.list'.format(size)
- cmd = run_command('python3', '-c',
- 'print(",".join([line.strip() for line in open("@0@") if line.strip() !=
""]))'.format(icon_list),
- check: true)
- source_icons = cmd.stdout().strip().split(',')
+ build_icons = {
+ '12': [ 'bitmap_12', ],
+ '16': [ 'bitmap_16', 'prefs', ],
+ '18': [ 'bitmap_18', ],
+ '20': [ 'bitmap_20', ],
+ '22': [ 'bitmap_22', ],
+ '24': [ 'bitmap_24', ],
+ '32': [ 'bitmap_32', ],
+ '48': [ 'bitmap_48', 'prefs' ],
+ '64': [ 'bitmap_64', 'bitmap_64-system', ],
+ '96': [ 'bitmap_96', ],
+ '128': [ 'bitmap_128', ],
+ '192': [ 'bitmap_192', ],
+ '256': [ 'bitmap_256', ],
+ }
- if size == '64'
- icon_list = '../icon-lists/bitmap_64-system.list'
+ foreach size, inputs : build_icons
+ dup_icons = []
+ foreach input : inputs
+ icon_list = '../icon-lists/@0@.list'.format(input)
+ py_cmd = 'print(",".join([line.strip() for line in open("@0@") if line.strip() != "" and
line.strip()[0] != "#"]))'
cmd = run_command('python3', '-c',
- 'print(",".join([line.strip() for line in open("@0@") if line.strip() !=
""]))'.format(icon_list),
+ py_cmd.format(icon_list),
check: true)
- source_icons += cmd.stdout().strip().split(',')
- endif
+ dup_icons += cmd.stdout().strip().split(',')
+ endforeach
+ source_icons = []
+ foreach icon : dup_icons
+ if not source_icons.contains(icon)
+ # remove duplicates.
+ source_icons += [icon]
+ endif
+ endforeach
subdir(size)
endforeach
# These are available as PNG directly.
- source_icons = {
- 'bitmap_64-always': [ '64x64', '64', '.png' ],
- }
+ install_icons = [
+ {
+ 'outdir': '64x64',
+ 'indir': '64',
+ 'suffix': '.png',
+ 'files': [ 'bitmap_64-always', ],
+ },
+ ]
endif
install_data('index.theme',
install_dir: gimpiconsdir / theme,
)
-foreach source, out : source_icons
- outdir = out[0]
- indir = out[1]
- suffix = out[2]
+foreach install : install_icons
+ icons = []
+
+ inputs = install['files']
+ outdir = install['outdir']
+ indir = install['indir']
+ suffix = install['suffix']
+
+ py_cmd = 'print(",".join(["@0@/" + line.strip() + "@1@" for line in open("@2@") if line.strip() != "" and
line.strip()[0] != "#"]))'
+ dup_icons = []
+ foreach input : inputs
+ input = '../icon-lists/@0@.list'.format(input)
+ cmd = run_command('python3', '-c',
+ py_cmd.format(indir, suffix, input),
+ check: true)
+ dup_icons += cmd.stdout().strip().split(',')
+ endforeach
+ foreach icon : dup_icons
+ if not icons.contains(icon)
+ # remove duplicates.
+ icons += [icon]
+ endif
+ endforeach
- icon_list = '../icon-lists/@0@.list'.format(source)
- cmd = run_command('python3', '-c',
- 'print(",".join(["@0@/" + line.strip() + "@1@" for line in open("@2@") if line.strip()
!= ""]))'.format(indir, suffix, icon_list),
- check: true)
- source_icons = cmd.stdout().strip().split(',')
- install_data(source_icons, install_dir: gimpiconsdir / theme / outdir / 'apps')
+ install_data(icons, install_dir: gimpiconsdir / theme / outdir / 'apps')
endforeach
icons_core = [ '64/dialog-question.png', ]
diff --git a/icons/Symbolic/icon-list.mk b/icons/Symbolic/icon-list.mk
index 3a1e9d0393..151b8467a2 100644
--- a/icons/Symbolic/icon-list.mk
+++ b/icons/Symbolic/icon-list.mk
@@ -212,46 +212,6 @@ scalable_images = \
scalable/gimp-pivot-west-symbolic.svg \
scalable/gimp-plugin-symbolic.svg \
scalable/gimp-portrait-symbolic.svg \
- scalable/gimp-prefs-color-management-symbolic.svg \
- scalable/gimp-prefs-controllers-symbolic.svg \
- scalable/gimp-prefs-default-comment-symbolic.svg \
- scalable/gimp-prefs-default-grid-symbolic.svg \
- scalable/gimp-prefs-display-symbolic.svg \
- scalable/gimp-prefs-folders-symbolic.svg \
- scalable/gimp-prefs-folders-brushes-symbolic.svg \
- scalable/gimp-prefs-folders-dynamics-symbolic.svg \
- scalable/gimp-prefs-folders-environ-symbolic.svg \
- scalable/gimp-prefs-folders-fonts-symbolic.svg \
- scalable/gimp-prefs-folders-gradients-symbolic.svg \
- scalable/gimp-prefs-folders-icon-themes-symbolic.svg \
- scalable/gimp-prefs-folders-interp-symbolic.svg \
- scalable/gimp-prefs-folders-modules-symbolic.svg \
- scalable/gimp-prefs-folders-mypaint-brushes-symbolic.svg \
- scalable/gimp-prefs-folders-palettes-symbolic.svg \
- scalable/gimp-prefs-folders-patterns-symbolic.svg \
- scalable/gimp-prefs-folders-plug-ins-symbolic.svg \
- scalable/gimp-prefs-folders-scripts-symbolic.svg \
- scalable/gimp-prefs-folders-themes-symbolic.svg \
- scalable/gimp-prefs-folders-tool-plug-ins-symbolic.svg \
- scalable/gimp-prefs-folders-tool-presets-symbolic.svg \
- scalable/gimp-prefs-folders-tools-symbolic.svg \
- scalable/gimp-prefs-help-system-symbolic.svg \
- scalable/gimp-prefs-icon-theme-symbolic.svg \
- scalable/gimp-prefs-image-title-symbolic.svg \
- scalable/gimp-prefs-image-windows-symbolic.svg \
- scalable/gimp-prefs-image-windows-appearance-symbolic.svg \
- scalable/gimp-prefs-image-windows-snapping-symbolic.svg \
- scalable/gimp-prefs-import-export-symbolic.svg \
- scalable/gimp-prefs-input-devices-symbolic.svg \
- scalable/gimp-prefs-interface-symbolic.svg \
- scalable/gimp-prefs-new-image-symbolic.svg \
- scalable/gimp-prefs-playground-symbolic.svg \
- scalable/gimp-prefs-session-symbolic.svg \
- scalable/gimp-prefs-system-resources-symbolic.svg \
- scalable/gimp-prefs-theme-symbolic.svg \
- scalable/gimp-prefs-tool-options-symbolic.svg \
- scalable/gimp-prefs-toolbox-symbolic.svg \
- scalable/gimp-prefs-window-management-symbolic.svg \
scalable/gimp-quick-mask-off-symbolic.svg \
scalable/gimp-quick-mask-on-symbolic.svg \
scalable/gimp-reset-symbolic.svg \
@@ -361,7 +321,46 @@ scalable_images = \
scalable/gimp-wilber-symbolic.svg \
scalable/gimp-wilber-eek-symbolic.svg \
scalable/gimp-wilber-outline-symbolic.svg \
- scalable/gimp-zoom-follow-window-symbolic.svg
+ scalable/gimp-zoom-follow-window-symbolic.svg \
+ \
+ scalable/gimp-prefs-color-management-symbolic.svg \
+ \
+ scalable/gimp-prefs-controllers-symbolic.svg \
+ scalable/gimp-prefs-default-grid-symbolic.svg \
+ scalable/gimp-prefs-display-symbolic.svg \
+ scalable/gimp-prefs-folders-symbolic.svg \
+ scalable/gimp-prefs-help-system-symbolic.svg \
+ scalable/gimp-prefs-icon-theme-symbolic.svg \
+ scalable/gimp-prefs-image-title-symbolic.svg \
+ scalable/gimp-prefs-image-windows-symbolic.svg \
+ scalable/gimp-prefs-image-windows-appearance-symbolic.svg \
+ scalable/gimp-prefs-image-windows-snapping-symbolic.svg \
+ scalable/gimp-prefs-import-export-symbolic.svg \
+ scalable/gimp-prefs-input-devices-symbolic.svg \
+ scalable/gimp-prefs-interface-symbolic.svg \
+ scalable/gimp-prefs-new-image-symbolic.svg \
+ scalable/gimp-prefs-playground-symbolic.svg \
+ scalable/gimp-prefs-system-resources-symbolic.svg \
+ scalable/gimp-prefs-theme-symbolic.svg \
+ scalable/gimp-prefs-tool-options-symbolic.svg \
+ scalable/gimp-prefs-toolbox-symbolic.svg \
+ scalable/gimp-prefs-window-management-symbolic.svg \
+ \
+ scalable/gimp-prefs-folders-brushes-symbolic.svg \
+ scalable/gimp-prefs-folders-dynamics-symbolic.svg \
+ scalable/gimp-prefs-folders-environ-symbolic.svg \
+ scalable/gimp-prefs-folders-fonts-symbolic.svg \
+ scalable/gimp-prefs-folders-gradients-symbolic.svg \
+ scalable/gimp-prefs-folders-icon-themes-symbolic.svg \
+ scalable/gimp-prefs-folders-interp-symbolic.svg \
+ scalable/gimp-prefs-folders-modules-symbolic.svg \
+ scalable/gimp-prefs-folders-mypaint-brushes-symbolic.svg \
+ scalable/gimp-prefs-folders-palettes-symbolic.svg \
+ scalable/gimp-prefs-folders-patterns-symbolic.svg \
+ scalable/gimp-prefs-folders-plug-ins-symbolic.svg \
+ scalable/gimp-prefs-folders-scripts-symbolic.svg \
+ scalable/gimp-prefs-folders-themes-symbolic.svg \
+ scalable/gimp-prefs-folders-tool-presets-symbolic.svg
icons12_images = \
12/gimp-attach-symbolic.symbolic.png \
@@ -546,31 +545,6 @@ icons16_images = \
16/gimp-pattern-symbolic.symbolic.png \
16/gimp-plugin-symbolic.symbolic.png \
16/gimp-portrait-symbolic.symbolic.png \
- 16/gimp-prefs-folders-brushes-symbolic.symbolic.png \
- 16/gimp-prefs-folders-dynamics-symbolic.symbolic.png \
- 16/gimp-prefs-folders-environ-symbolic.symbolic.png \
- 16/gimp-prefs-folders-fonts-symbolic.symbolic.png \
- 16/gimp-prefs-folders-gradients-symbolic.symbolic.png \
- 16/gimp-prefs-folders-icon-themes-symbolic.symbolic.png \
- 16/gimp-prefs-folders-interp-symbolic.symbolic.png \
- 16/gimp-prefs-folders-modules-symbolic.symbolic.png \
- 16/gimp-prefs-folders-mypaint-brushes-symbolic.symbolic.png \
- 16/gimp-prefs-folders-palettes-symbolic.symbolic.png \
- 16/gimp-prefs-folders-patterns-symbolic.symbolic.png \
- 16/gimp-prefs-folders-plug-ins-symbolic.symbolic.png \
- 16/gimp-prefs-folders-scripts-symbolic.symbolic.png \
- 16/gimp-prefs-folders-themes-symbolic.symbolic.png \
- 16/gimp-prefs-folders-tool-plug-ins-symbolic.symbolic.png \
- 16/gimp-prefs-folders-tool-presets-symbolic.symbolic.png \
- 16/gimp-prefs-folders-tools-symbolic.symbolic.png \
- 16/gimp-prefs-icon-theme-symbolic.symbolic.png \
- 16/gimp-prefs-image-windows-symbolic.symbolic.png \
- 16/gimp-prefs-import-export-symbolic.symbolic.png \
- 16/gimp-prefs-interface-symbolic.symbolic.png \
- 16/gimp-prefs-playground-symbolic.symbolic.png \
- 16/gimp-prefs-theme-symbolic.symbolic.png \
- 16/gimp-prefs-toolbox-symbolic.symbolic.png \
- 16/gimp-prefs-window-management-symbolic.symbolic.png \
16/gimp-reset-symbolic.symbolic.png \
16/gimp-reshow-filter-symbolic.symbolic.png \
16/gimp-resize-symbolic.symbolic.png \
@@ -665,7 +639,48 @@ icons16_images = \
16/gimp-user-manual-symbolic.symbolic.png \
16/gimp-video-symbolic.symbolic.png \
16/gimp-web-symbolic.symbolic.png \
- 16/gimp-wilber-symbolic.symbolic.png
+ 16/gimp-wilber-symbolic.symbolic.png \
+ \
+ 16/gimp-prefs-color-management-symbolic.symbolic.png \
+ \
+ 16/gimp-prefs-controllers-symbolic.symbolic.png \
+ 16/gimp-prefs-default-grid-symbolic.symbolic.png \
+ 16/gimp-prefs-display-symbolic.symbolic.png \
+ 16/gimp-prefs-folders-symbolic.symbolic.png \
+ 16/gimp-prefs-help-system-symbolic.symbolic.png \
+ 16/gimp-prefs-icon-theme-symbolic.symbolic.png \
+ 16/gimp-prefs-image-title-symbolic.symbolic.png \
+ 16/gimp-prefs-image-windows-symbolic.symbolic.png \
+ 16/gimp-prefs-image-windows-appearance-symbolic.symbolic.png \
+ 16/gimp-prefs-image-windows-snapping-symbolic.symbolic.png \
+ 16/gimp-prefs-import-export-symbolic.symbolic.png \
+ 16/gimp-prefs-input-devices-symbolic.symbolic.png \
+ 16/gimp-prefs-interface-symbolic.symbolic.png \
+ 16/gimp-prefs-new-image-symbolic.symbolic.png \
+ 16/gimp-prefs-playground-symbolic.symbolic.png \
+ 16/gimp-prefs-system-resources-symbolic.symbolic.png \
+ 16/gimp-prefs-theme-symbolic.symbolic.png \
+ 16/gimp-prefs-tool-options-symbolic.symbolic.png \
+ 16/gimp-prefs-toolbox-symbolic.symbolic.png \
+ 16/gimp-prefs-window-management-symbolic.symbolic.png \
+ \
+ 16/gimp-prefs-folders-brushes-symbolic.symbolic.png \
+ 16/gimp-prefs-folders-dynamics-symbolic.symbolic.png \
+ 16/gimp-prefs-folders-environ-symbolic.symbolic.png \
+ 16/gimp-prefs-folders-fonts-symbolic.symbolic.png \
+ 16/gimp-prefs-folders-gradients-symbolic.symbolic.png \
+ 16/gimp-prefs-folders-icon-themes-symbolic.symbolic.png \
+ 16/gimp-prefs-folders-interp-symbolic.symbolic.png \
+ 16/gimp-prefs-folders-modules-symbolic.symbolic.png \
+ 16/gimp-prefs-folders-mypaint-brushes-symbolic.symbolic.png \
+ 16/gimp-prefs-folders-palettes-symbolic.symbolic.png \
+ 16/gimp-prefs-folders-patterns-symbolic.symbolic.png \
+ 16/gimp-prefs-folders-plug-ins-symbolic.symbolic.png \
+ 16/gimp-prefs-folders-scripts-symbolic.symbolic.png \
+ 16/gimp-prefs-folders-themes-symbolic.symbolic.png \
+ 16/gimp-prefs-folders-tool-presets-symbolic.symbolic.png \
+ \
+ 16/gimp-wilber-eek-symbolic.symbolic.png
icons18_images = \
18/gimp-color-picker-black-symbolic.symbolic.png \
@@ -694,45 +709,6 @@ icons22_images = \
22/gimp-path-symbolic.symbolic.png \
22/gimp-paths-symbolic.symbolic.png \
22/gimp-portrait-symbolic.symbolic.png \
- 22/gimp-prefs-color-management-symbolic.symbolic.png \
- 22/gimp-prefs-controllers-symbolic.symbolic.png \
- 22/gimp-prefs-default-grid-symbolic.symbolic.png \
- 22/gimp-prefs-display-symbolic.symbolic.png \
- 22/gimp-prefs-folders-symbolic.symbolic.png \
- 22/gimp-prefs-folders-brushes-symbolic.symbolic.png \
- 22/gimp-prefs-folders-dynamics-symbolic.symbolic.png \
- 22/gimp-prefs-folders-environ-symbolic.symbolic.png \
- 22/gimp-prefs-folders-fonts-symbolic.symbolic.png \
- 22/gimp-prefs-folders-gradients-symbolic.symbolic.png \
- 22/gimp-prefs-folders-icon-themes-symbolic.symbolic.png \
- 22/gimp-prefs-folders-interp-symbolic.symbolic.png \
- 22/gimp-prefs-folders-modules-symbolic.symbolic.png \
- 22/gimp-prefs-folders-mypaint-brushes-symbolic.symbolic.png \
- 22/gimp-prefs-folders-palettes-symbolic.symbolic.png \
- 22/gimp-prefs-folders-patterns-symbolic.symbolic.png \
- 22/gimp-prefs-folders-plug-ins-symbolic.symbolic.png \
- 22/gimp-prefs-folders-scripts-symbolic.symbolic.png \
- 22/gimp-prefs-folders-themes-symbolic.symbolic.png \
- 22/gimp-prefs-folders-tool-plug-ins-symbolic.symbolic.png \
- 22/gimp-prefs-folders-tool-presets-symbolic.symbolic.png \
- 22/gimp-prefs-folders-tools-symbolic.symbolic.png \
- 22/gimp-prefs-help-system-symbolic.symbolic.png \
- 22/gimp-prefs-icon-theme-symbolic.symbolic.png \
- 22/gimp-prefs-image-title-symbolic.symbolic.png \
- 22/gimp-prefs-image-windows-symbolic.symbolic.png \
- 22/gimp-prefs-image-windows-appearance-symbolic.symbolic.png \
- 22/gimp-prefs-image-windows-snapping-symbolic.symbolic.png \
- 22/gimp-prefs-import-export-symbolic.symbolic.png \
- 22/gimp-prefs-input-devices-symbolic.symbolic.png \
- 22/gimp-prefs-interface-symbolic.symbolic.png \
- 22/gimp-prefs-new-image-symbolic.symbolic.png \
- 22/gimp-prefs-playground-symbolic.symbolic.png \
- 22/gimp-prefs-session-symbolic.symbolic.png \
- 22/gimp-prefs-system-resources-symbolic.symbolic.png \
- 22/gimp-prefs-theme-symbolic.symbolic.png \
- 22/gimp-prefs-tool-options-symbolic.symbolic.png \
- 22/gimp-prefs-toolbox-symbolic.symbolic.png \
- 22/gimp-prefs-window-management-symbolic.symbolic.png \
22/gimp-tool-preset-symbolic.symbolic.png \
22/gimp-wilber-symbolic.symbolic.png
@@ -914,29 +890,15 @@ icons48_images = \
48/gimp-image-symbolic.symbolic.png \
48/gimp-layer-mask-symbolic.symbolic.png \
48/gimp-layer-symbolic.symbolic.png \
+ 48/gimp-text-layer-symbolic.symbolic.png \
+ 48/gimp-wilber-symbolic.symbolic.png \
+ \
48/gimp-prefs-color-management-symbolic.symbolic.png \
+ \
48/gimp-prefs-controllers-symbolic.symbolic.png \
- 48/gimp-prefs-default-comment-symbolic.symbolic.png \
48/gimp-prefs-default-grid-symbolic.symbolic.png \
48/gimp-prefs-display-symbolic.symbolic.png \
48/gimp-prefs-folders-symbolic.symbolic.png \
- 48/gimp-prefs-folders-brushes-symbolic.symbolic.png \
- 48/gimp-prefs-folders-dynamics-symbolic.symbolic.png \
- 48/gimp-prefs-folders-environ-symbolic.symbolic.png \
- 48/gimp-prefs-folders-fonts-symbolic.symbolic.png \
- 48/gimp-prefs-folders-gradients-symbolic.symbolic.png \
- 48/gimp-prefs-folders-icon-themes-symbolic.symbolic.png \
- 48/gimp-prefs-folders-interp-symbolic.symbolic.png \
- 48/gimp-prefs-folders-modules-symbolic.symbolic.png \
- 48/gimp-prefs-folders-mypaint-brushes-symbolic.symbolic.png \
- 48/gimp-prefs-folders-palettes-symbolic.symbolic.png \
- 48/gimp-prefs-folders-patterns-symbolic.symbolic.png \
- 48/gimp-prefs-folders-plug-ins-symbolic.symbolic.png \
- 48/gimp-prefs-folders-scripts-symbolic.symbolic.png \
- 48/gimp-prefs-folders-themes-symbolic.symbolic.png \
- 48/gimp-prefs-folders-tool-plug-ins-symbolic.symbolic.png \
- 48/gimp-prefs-folders-tool-presets-symbolic.symbolic.png \
- 48/gimp-prefs-folders-tools-symbolic.symbolic.png \
48/gimp-prefs-help-system-symbolic.symbolic.png \
48/gimp-prefs-icon-theme-symbolic.symbolic.png \
48/gimp-prefs-image-title-symbolic.symbolic.png \
@@ -948,14 +910,29 @@ icons48_images = \
48/gimp-prefs-interface-symbolic.symbolic.png \
48/gimp-prefs-new-image-symbolic.symbolic.png \
48/gimp-prefs-playground-symbolic.symbolic.png \
- 48/gimp-prefs-session-symbolic.symbolic.png \
48/gimp-prefs-system-resources-symbolic.symbolic.png \
48/gimp-prefs-theme-symbolic.symbolic.png \
48/gimp-prefs-tool-options-symbolic.symbolic.png \
48/gimp-prefs-toolbox-symbolic.symbolic.png \
48/gimp-prefs-window-management-symbolic.symbolic.png \
- 48/gimp-text-layer-symbolic.symbolic.png \
- 48/gimp-wilber-symbolic.symbolic.png
+ \
+ 48/gimp-prefs-folders-brushes-symbolic.symbolic.png \
+ 48/gimp-prefs-folders-dynamics-symbolic.symbolic.png \
+ 48/gimp-prefs-folders-environ-symbolic.symbolic.png \
+ 48/gimp-prefs-folders-fonts-symbolic.symbolic.png \
+ 48/gimp-prefs-folders-gradients-symbolic.symbolic.png \
+ 48/gimp-prefs-folders-icon-themes-symbolic.symbolic.png \
+ 48/gimp-prefs-folders-interp-symbolic.symbolic.png \
+ 48/gimp-prefs-folders-modules-symbolic.symbolic.png \
+ 48/gimp-prefs-folders-mypaint-brushes-symbolic.symbolic.png \
+ 48/gimp-prefs-folders-palettes-symbolic.symbolic.png \
+ 48/gimp-prefs-folders-patterns-symbolic.symbolic.png \
+ 48/gimp-prefs-folders-plug-ins-symbolic.symbolic.png \
+ 48/gimp-prefs-folders-scripts-symbolic.symbolic.png \
+ 48/gimp-prefs-folders-themes-symbolic.symbolic.png \
+ 48/gimp-prefs-folders-tool-presets-symbolic.symbolic.png \
+ \
+ 48/gimp-wilber-eek-symbolic.symbolic.png
icons64_images = \
64/gimp-frame.png \
diff --git a/icons/Symbolic/meson.build b/icons/Symbolic/meson.build
index 795fa048b2..6924664af7 100644
--- a/icons/Symbolic/meson.build
+++ b/icons/Symbolic/meson.build
@@ -1,30 +1,58 @@
if have_vector_icons
- source_icons = {
- 'scalable': [ 'scalable', 'scalable', '-symbolic.svg' ],
- #'bitmap_64-system': [ '64x64', '64', '.png' ],
- 'bitmap_64-always': [ '64x64', '64', '.png' ],
- }
+ install_icons = [
+ {
+ 'outdir': 'scalable',
+ 'indir': 'scalable',
+ 'suffix': '-symbolic.svg',
+ 'files': [ 'scalable', 'prefs', ],
+ },
+ {
+ 'outdir': '64x64',
+ 'indir': '64',
+ 'suffix': '.png',
+ 'files': [ 'bitmap_64-always', ],
+ #'files': [ 'bitmap_64-always', 'bitmap_64-system', ],
+ },
+ ]
else
- gtk_encode_symbolic_svg = find_program('gtk-encode-symbolic-svg')
+ gtk_encode_symbolic_svg = find_program('gtk-encode-symbolic-svg', native: true)
sizes = [ '12', '16', '18', '20', '22', '24', '32',
'48', '64', '96', '128', '192', '256' ]
+ build_icons = {
+ '12': [ 'bitmap_12', ],
+ '16': [ 'bitmap_16', 'prefs', ],
+ '18': [ 'bitmap_18', ],
+ '20': [ 'bitmap_20', ],
+ '22': [ 'bitmap_22', ],
+ '24': [ 'bitmap_24', ],
+ '32': [ 'bitmap_32', ],
+ '48': [ 'bitmap_48', 'prefs' ],
+ '64': [ 'bitmap_64', 'bitmap_64-system', ],
+ '96': [ 'bitmap_96', ],
+ '128': [ 'bitmap_128', ],
+ '192': [ 'bitmap_192', ],
+ '256': [ 'bitmap_256', ],
+ }
- foreach size : sizes
- icon_list = '../icon-lists/bitmap_@0@.list'.format(size)
- cmd = run_command('python3', '-c',
- 'print(",".join([line.strip() for line in open("@0@") if line.strip() !=
""]))'.format(icon_list),
- check: true)
- source_icons = cmd.stdout().strip().split(',')
-
- if size == '64'
- icon_list = '../icon-lists/bitmap_64-system.list'
+ foreach size, inputs : build_icons
+ dup_icons = []
+ foreach input : inputs
+ icon_list = '../icon-lists/@0@.list'.format(input)
+ py_cmd = 'print(",".join([line.strip() for line in open("@0@") if line.strip() != "" and
line.strip()[0] != "#"]))'
cmd = run_command('python3', '-c',
- 'print(",".join([line.strip() for line in open("@0@") if line.strip() !=
""]))'.format(icon_list),
+ py_cmd.format(icon_list),
check: true)
- source_icons += cmd.stdout().strip().split(',')
- endif
+ dup_icons += cmd.stdout().strip().split(',')
+ endforeach
+ source_icons = []
+ foreach icon : dup_icons
+ if not source_icons.contains(icon)
+ # remove duplicates.
+ source_icons += [icon]
+ endif
+ endforeach
# Note: I originally wanted to implement it here in a loop but
# custom_target() doesn't accept an output path with a folder! So I
@@ -36,26 +64,45 @@ else
endforeach
# Install these directly from PNG sources.
- source_icons = {
- 'bitmap_64-always': [ '64x64', '64', '.png' ],
- }
+ install_icons = [
+ {
+ 'outdir': '64x64',
+ 'indir': '64',
+ 'suffix': '.png',
+ 'files': [ 'bitmap_64-always', ],
+ },
+ ]
endif
install_data('index.theme',
install_dir: gimpiconsdir / theme,
)
-foreach source, out : source_icons
- outdir = out[0]
- indir = out[1]
- suffix = out[2]
-
- icon_list = '../icon-lists/@0@.list'.format(source)
- cmd = run_command('python3', '-c',
- 'print(",".join(["@0@/" + line.strip() + "@1@" for line in open("@2@") if line.strip()
!= ""]))'.format(indir, suffix, icon_list),
- check: true)
- source_icons = cmd.stdout().strip().split(',')
- install_data(source_icons, install_dir: gimpiconsdir / theme / outdir / 'apps')
+foreach install : install_icons
+ icons = []
+
+ inputs = install['files']
+ outdir = install['outdir']
+ indir = install['indir']
+ suffix = install['suffix']
+
+ py_cmd = 'print(",".join(["@0@/" + line.strip() + "@1@" for line in open("@2@") if line.strip() != "" and
line.strip()[0] != "#"]))'
+ dup_icons = []
+ foreach input : inputs
+ input = '../icon-lists/@0@.list'.format(input)
+ cmd = run_command('python3', '-c',
+ py_cmd.format(indir, suffix, input),
+ check: true)
+ dup_icons += cmd.stdout().strip().split(',')
+ endforeach
+ foreach icon : dup_icons
+ if not icons.contains(icon)
+ # remove duplicates.
+ icons += [icon]
+ endif
+ endforeach
+
+ install_data(icons, install_dir: gimpiconsdir / theme / outdir / 'apps')
endforeach
icons_core = [ '64/gimp-question.png', ]
diff --git a/icons/icon-lists/bitmap_16.list b/icons/icon-lists/bitmap_16.list
index 54b395f855..8b705666a6 100644
--- a/icons/icon-lists/bitmap_16.list
+++ b/icons/icon-lists/bitmap_16.list
@@ -157,31 +157,6 @@ gimp-paths
gimp-pattern
gimp-plugin
gimp-portrait
-gimp-prefs-folders-brushes
-gimp-prefs-folders-dynamics
-gimp-prefs-folders-environ
-gimp-prefs-folders-fonts
-gimp-prefs-folders-gradients
-gimp-prefs-folders-icon-themes
-gimp-prefs-folders-interp
-gimp-prefs-folders-modules
-gimp-prefs-folders-mypaint-brushes
-gimp-prefs-folders-palettes
-gimp-prefs-folders-patterns
-gimp-prefs-folders-plug-ins
-gimp-prefs-folders-scripts
-gimp-prefs-folders-themes
-gimp-prefs-folders-tool-plug-ins
-gimp-prefs-folders-tool-presets
-gimp-prefs-folders-tools
-gimp-prefs-icon-theme
-gimp-prefs-image-windows
-gimp-prefs-import-export
-gimp-prefs-interface
-gimp-prefs-playground
-gimp-prefs-theme
-gimp-prefs-toolbox
-gimp-prefs-window-management
gimp-reset
gimp-reshow-filter
gimp-resize
diff --git a/icons/icon-lists/bitmap_22.list b/icons/icon-lists/bitmap_22.list
index c04dd2bcd1..519f71356b 100644
--- a/icons/icon-lists/bitmap_22.list
+++ b/icons/icon-lists/bitmap_22.list
@@ -15,44 +15,5 @@ gimp-line-spacing
gimp-path
gimp-paths
gimp-portrait
-gimp-prefs-color-management
-gimp-prefs-controllers
-gimp-prefs-default-grid
-gimp-prefs-display
-gimp-prefs-folders
-gimp-prefs-folders-brushes
-gimp-prefs-folders-dynamics
-gimp-prefs-folders-environ
-gimp-prefs-folders-fonts
-gimp-prefs-folders-gradients
-gimp-prefs-folders-icon-themes
-gimp-prefs-folders-interp
-gimp-prefs-folders-modules
-gimp-prefs-folders-mypaint-brushes
-gimp-prefs-folders-palettes
-gimp-prefs-folders-patterns
-gimp-prefs-folders-plug-ins
-gimp-prefs-folders-scripts
-gimp-prefs-folders-themes
-gimp-prefs-folders-tool-plug-ins
-gimp-prefs-folders-tool-presets
-gimp-prefs-folders-tools
-gimp-prefs-help-system
-gimp-prefs-icon-theme
-gimp-prefs-image-title
-gimp-prefs-image-windows
-gimp-prefs-image-windows-appearance
-gimp-prefs-image-windows-snapping
-gimp-prefs-import-export
-gimp-prefs-input-devices
-gimp-prefs-interface
-gimp-prefs-new-image
-gimp-prefs-playground
-gimp-prefs-session
-gimp-prefs-system-resources
-gimp-prefs-theme
-gimp-prefs-tool-options
-gimp-prefs-toolbox
-gimp-prefs-window-management
gimp-tool-preset
gimp-wilber
diff --git a/icons/icon-lists/bitmap_48.list b/icons/icon-lists/bitmap_48.list
index dae04897ec..c7666321e0 100644
--- a/icons/icon-lists/bitmap_48.list
+++ b/icons/icon-lists/bitmap_48.list
@@ -11,45 +11,5 @@ gimp-floating-selection
gimp-image
gimp-layer-mask
gimp-layer
-gimp-prefs-color-management
-gimp-prefs-controllers
-gimp-prefs-default-comment
-gimp-prefs-default-grid
-gimp-prefs-display
-gimp-prefs-folders
-gimp-prefs-folders-brushes
-gimp-prefs-folders-dynamics
-gimp-prefs-folders-environ
-gimp-prefs-folders-fonts
-gimp-prefs-folders-gradients
-gimp-prefs-folders-icon-themes
-gimp-prefs-folders-interp
-gimp-prefs-folders-modules
-gimp-prefs-folders-mypaint-brushes
-gimp-prefs-folders-palettes
-gimp-prefs-folders-patterns
-gimp-prefs-folders-plug-ins
-gimp-prefs-folders-scripts
-gimp-prefs-folders-themes
-gimp-prefs-folders-tool-plug-ins
-gimp-prefs-folders-tool-presets
-gimp-prefs-folders-tools
-gimp-prefs-help-system
-gimp-prefs-icon-theme
-gimp-prefs-image-title
-gimp-prefs-image-windows
-gimp-prefs-image-windows-appearance
-gimp-prefs-image-windows-snapping
-gimp-prefs-import-export
-gimp-prefs-input-devices
-gimp-prefs-interface
-gimp-prefs-new-image
-gimp-prefs-playground
-gimp-prefs-session
-gimp-prefs-system-resources
-gimp-prefs-theme
-gimp-prefs-tool-options
-gimp-prefs-toolbox
-gimp-prefs-window-management
gimp-text-layer
gimp-wilber
diff --git a/icons/icon-lists/prefs.list b/icons/icon-lists/prefs.list
new file mode 100644
index 0000000000..3efe97de71
--- /dev/null
+++ b/icons/icon-lists/prefs.list
@@ -0,0 +1,56 @@
+# Preferences Dialog icons
+#
+# All these icons are used as GTK_ICON_SIZE_BUTTON (16px) and GTK_ICON_SIZE_DIALOG (48px)
+# Cf. gimp_prefs_box_add_page() and app/dialogs/preferences-dialog.c
+# Check with:
+# grep -rI gimp-prefs-[a-z] app/dialogs/preferences-dialog.c |sed 's/ *"\([^"]*\)",/\1/' |sort |uniq
+gimp-prefs-color-management
+# TODO: used twice. "Dialog Defaults" should likely have its own icon.
+gimp-prefs-controllers
+gimp-prefs-default-grid
+gimp-prefs-display
+gimp-prefs-folders
+gimp-prefs-help-system
+gimp-prefs-icon-theme
+gimp-prefs-image-title
+gimp-prefs-image-windows
+gimp-prefs-image-windows-appearance
+gimp-prefs-image-windows-snapping
+gimp-prefs-import-export
+gimp-prefs-input-devices
+gimp-prefs-interface
+gimp-prefs-new-image
+gimp-prefs-playground
+gimp-prefs-system-resources
+gimp-prefs-theme
+gimp-prefs-tool-options
+gimp-prefs-toolbox
+gimp-prefs-window-management
+
+# These icon names can't be grepped because they are built from partial
+# strings.
+# See "Folders / <paths>" code section of app/dialogs/preferences-dialog.c
+gimp-prefs-folders-brushes
+gimp-prefs-folders-dynamics
+gimp-prefs-folders-environ
+gimp-prefs-folders-fonts
+gimp-prefs-folders-gradients
+gimp-prefs-folders-icon-themes
+gimp-prefs-folders-interp
+gimp-prefs-folders-modules
+gimp-prefs-folders-mypaint-brushes
+gimp-prefs-folders-palettes
+gimp-prefs-folders-patterns
+gimp-prefs-folders-plug-ins
+gimp-prefs-folders-scripts
+gimp-prefs-folders-themes
+gimp-prefs-folders-tool-presets
+
+# Used for debugging preferences page (temporarily? TODO?)
+gimp-wilber-eek
+
+# Not used AFAICS.
+#gimp-prefs-default-comment
+#gimp-prefs-folders-tool-plug-ins
+#gimp-prefs-folders-tools
+#gimp-prefs-session
diff --git a/icons/icon-lists/scalable.list b/icons/icon-lists/scalable.list
index c03a0f47fb..14eed79b6d 100644
--- a/icons/icon-lists/scalable.list
+++ b/icons/icon-lists/scalable.list
@@ -203,46 +203,6 @@ gimp-pivot-south-west
gimp-pivot-west
gimp-plugin
gimp-portrait
-gimp-prefs-color-management
-gimp-prefs-controllers
-gimp-prefs-default-comment
-gimp-prefs-default-grid
-gimp-prefs-display
-gimp-prefs-folders
-gimp-prefs-folders-brushes
-gimp-prefs-folders-dynamics
-gimp-prefs-folders-environ
-gimp-prefs-folders-fonts
-gimp-prefs-folders-gradients
-gimp-prefs-folders-icon-themes
-gimp-prefs-folders-interp
-gimp-prefs-folders-modules
-gimp-prefs-folders-mypaint-brushes
-gimp-prefs-folders-palettes
-gimp-prefs-folders-patterns
-gimp-prefs-folders-plug-ins
-gimp-prefs-folders-scripts
-gimp-prefs-folders-themes
-gimp-prefs-folders-tool-plug-ins
-gimp-prefs-folders-tool-presets
-gimp-prefs-folders-tools
-gimp-prefs-help-system
-gimp-prefs-icon-theme
-gimp-prefs-image-title
-gimp-prefs-image-windows
-gimp-prefs-image-windows-appearance
-gimp-prefs-image-windows-snapping
-gimp-prefs-import-export
-gimp-prefs-input-devices
-gimp-prefs-interface
-gimp-prefs-new-image
-gimp-prefs-playground
-gimp-prefs-session
-gimp-prefs-system-resources
-gimp-prefs-theme
-gimp-prefs-tool-options
-gimp-prefs-toolbox
-gimp-prefs-window-management
gimp-quick-mask-off
gimp-quick-mask-on
gimp-reset
diff --git a/tools/generate-icon-makefiles.py b/tools/generate-icon-makefiles.py
index 2760e5517b..5f717cda3a 100755
--- a/tools/generate-icon-makefiles.py
+++ b/tools/generate-icon-makefiles.py
@@ -37,6 +37,24 @@ def print_icons(indir, filenames, max_len, prefix, suffix, outfile, endlist=True
icon_list = os.path.join(indir, filename)
with open(icon_list, mode='r') as f:
icons += [line.strip() for line in f]
+ # Replace comment lines with empty strings.
+ prev_blank = False
+ pop_list = []
+ for i, icon in enumerate(icons):
+ if icon != '' and icon[0] == '#':
+ icons[i] = ''
+ if icons[i] == '':
+ if prev_blank:
+ pop_list += [i]
+ prev_blank = True
+ else:
+ prev_blank = False
+ if icons[i] in icons[:i]:
+ pop_list += [i]
+ pop_list.reverse()
+ for i in pop_list:
+ # Remove successive blanks and duplicate icons.
+ icons.pop(i)
# Strip empty lines in extremities.
while icons[-1] == '':
icons.pop()
@@ -96,8 +114,8 @@ if __name__ == "__main__":
# Let's assume that scalable icons are the biggest list since it
# should contain nearly all images. So we compute max_len once and
# reuse this value on all lists.
- col_max_len = print_icons(list_dir, ['scalable.list'], None, "scalable/", ".svg", colorf)
- sym_max_len = print_icons(list_dir, ['scalable.list'], None, "scalable/", "-symbolic.svg", symbolicf)
+ col_max_len = print_icons(list_dir, ['scalable.list', 'prefs.list'], None, "scalable/", ".svg", colorf)
+ sym_max_len = print_icons(list_dir, ['scalable.list', 'prefs.list'], None, "scalable/", "-symbolic.svg",
symbolicf)
# 12x12 bitmap
print("\nicons12_images = \\", file=colorf)
@@ -108,8 +126,8 @@ if __name__ == "__main__":
# 16x16 bitmap
print("\nicons16_images = \\", file=colorf)
print("\nicons16_images = \\", file=symbolicf)
- print_icons(list_dir, ['bitmap_16.list'], col_max_len, "16/", ".png", colorf)
- print_icons(list_dir, ['bitmap_16.list'], sym_max_len, "16/", "-symbolic.symbolic.png", symbolicf)
+ print_icons(list_dir, ['bitmap_16.list', 'prefs.list'], col_max_len, "16/", ".png", colorf)
+ print_icons(list_dir, ['bitmap_16.list', 'prefs.list'], sym_max_len, "16/", "-symbolic.symbolic.png",
symbolicf)
# 18x18 bitmap
print("\nicons18_images = \\", file=colorf)
@@ -144,8 +162,8 @@ if __name__ == "__main__":
# 48x48 bitmap
print("\nicons48_images = \\", file=colorf)
print("\nicons48_images = \\", file=symbolicf)
- print_icons(list_dir, ['bitmap_48.list'], col_max_len, "48/", ".png", colorf)
- print_icons(list_dir, ['bitmap_48.list'], sym_max_len, "48/", "-symbolic.symbolic.png", symbolicf)
+ print_icons(list_dir, ['bitmap_48.list', 'prefs.list'], col_max_len, "48/", ".png", colorf)
+ print_icons(list_dir, ['bitmap_48.list', 'prefs.list'], sym_max_len, "48/", "-symbolic.symbolic.png",
symbolicf)
# 64x64 bitmap
print("\nicons64_images = \\", file=colorf)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]