diff --git a/CONTRIBUTING b/CONTRIBUTING new file mode 100644 index 0000000000..ad2ed971c8 --- /dev/null +++ b/CONTRIBUTING @@ -0,0 +1,17 @@ +## Contributions + +We happily consider all pull requests sent our way. When submitting a PR, be sure to abide by our [Code of Conduct](https://github.com/pop-os/code-of-conduct), as submissions in violation will be rejected. + +To improve the quality of your submission and increase the chances of acceptance, please consider the following guidelines: + +* Ensure that your contribution is of a generally finished quality. PRs and contributions requiring further development by the Pop_OS team may not be accepted. + +* Follow existing code and design style where possible. Submissions which don't follow our code or design style may require changes to be accepted. Ensure that icons follow our design language and generally "fit in" with the other Pop Icons. When in doubt, mark your PR as a draft and request assistance from a Pop Icons maintainer. + +* Ensure that your changes to icons/cursors follow our in-place development practices. Submissions which add/remove/rename icons within the [`Pop`](./Pop) folder without corresponding changes in the [`src`](./src) folder _will_ not be accepted. + +* Ensure that your icons are rendered out before submitting. Un-render changes will not be visible in the installed theme. + +* Consider doing a full-render of the theme before you submit a PR (`./master-render.py -c`). This will erase any existing output files and ensure the theme is in a good, maintainable state and that your changes have been applied in a way which ensures that they will be carried over in the future. _Contributions where running `./master-render.py -c` creates a diff verses the git `HEAD` commit will not be accepted!_ Performing this step prior to submitting your PR will catch many of the above problems before they appear. + +These guidelines are important to ensuring the Pop Icons remain maintainable in the future! \ No newline at end of file diff --git a/README.md b/README.md index b525b32b46..b5c6fa5fe2 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ Pop_Icons ================ -Pop_Icons is the icon theme for Pop!_OS. It uses a semi-flat design with raised 3D motifs to help give depth to icons. +Pop_Icons are the standard icons for Pop!_OS. It uses a semi-flat design with raised 3D motifs to help give depth to icons. Included in the theme are flat symbolic (single-color) icons as well as full-color stylized icons. Pop_Icons take inspiration from the Adwaita GNOME Icons. @@ -35,7 +35,7 @@ meson build sudo ninja -C "build" install ``` -By default it installs to `/usr/`, but you can specify a different directory with a prefix like `/usr/local` or `$HOME/.local`, for example: +By default the theme installs to `/usr/`, but you can specify a different directory with a prefix like `/usr/local` or `$HOME/.local`, for example: ```sh meson -Dprefix=$HOME/.local build @@ -44,7 +44,7 @@ ninja -C "build" install After which you should be able to pick Pop as your icon or cursor theme in GNOME Tweaks, or you can set either from a terminal with: -```bash +```sh # set the icon theme gsettings set org.gnome.desktop.interface icon-theme "Pop" # or the cursor theme @@ -55,13 +55,13 @@ gsettings set org.gnome.desktop.interface cursor-theme "Pop" To uninstall Pop, simply run the following. (If you installed it without superuser priveleges just omit the `sudo`.) -```bash +```sh sudo ninja -C "build" uninstall ``` Once uninstalled you can reset your icon and cursor theme to the default setting by running the following. -```bash +```sh # reset icon theme to default gsettings reset org.gnome.desktop.interface icon-theme # reset cursor theme to default @@ -70,8 +70,92 @@ gsettings reset org.gnome.desktop.interface cursor-theme ## Modifying the theme -For information on modifications and contributing to the theme, see the -README.md in the `src` folder. +Pop uses the meson build system, and can be built using: + +```sh +meson build +ninja -C build install +``` + +Icons and cursors are shipped pre-rendered in order to save time in the event of modifications to the theme as well as reducing build-load on the Pop_OS build servers. Most modifications are rendered using [`./master-render.py`](master-render.py). For making/rendering modifications: + +### General Rendering +The `./master-render.py` script takes care of rendering each different type of file in the theme. Running it by default will render any missing icon files and any updated full-color icons. You can render specific parts of the theme by using the following flags: + +``` + -a, --all Render all items (Default) + -f, --fullcolor Render fullcolor icons + -s, --symbolics Render Symbolic Icons + -x, --cursors Render Cursors + -l, --links Generate Theme Symlinks + -m, --metadata Generate Metadata +``` + +Using the `-c, --clean` option will erase the currently rendered/generated files in the specified, rendering context, which is helpful in the event a source-file is not rendering when it should be. Using it will re-render all files in the specified context, which can take a long time, so use with care. Using the `-c` flag with `-a, --all` or without another context **will erase all files in the theme and require re-rendering all of them**, so be extra careful. + +Multiple contexts can be combined to render/clean multiple context in one pass, except that any contexts other than `-a, --all` will disable `--all` so keep that in mind. + +##### Rendering Dependencies +The following packages are required to render all of the files within the theme: +``` +python # Running main, full-color, and cursor render scripts +ruby # Running symbolic icons render script +bash # Running symlink script +inkscape # Renders source files to output +python3-pil # Renders cursors +x11-apps # Rendering cursors +``` + +Additionally, the following are optional, but will improve the output of the rendering: +``` +scour # Cleaning up unused definitions from full-color/symbolic SVGs +svgo # Optimizing full-color and symbolic SVGs +symlinks # Remove empty symlinks +``` + + +### Full-color icons + +The full-color icons are stored within the `src/fullcolor` folder, and are organized into subdirectories for each category of icon. After making a modification to a source icon, the changes will automatically be rendered into the required icon files by `./master-render.py`; if the script is not rendering your icon, double-check that the file timestamp has been updated and that the source file follows the related formatting requirements in [`src/fullcolor/README.md`](src/fullcolor/README.md). + +### Symbolic Icons + +The symbolic/single-color icons are stored within the `src/scalable/source-symbolic.svg` file. The file has separate layer for each different category of icon within the theme. Ensure when you modify the file, that your icon is located within the correct layer for it to end up in the correct output directory. + +Symbolic icons require that you remove the corresponding output icon from the `Pop/scalable` folder in order for the `master-render.py` script to re-render. The reason for this is that because there is only a single symbolic source-file, we can't re-render a single icon automatically. If you prefer to let the icons re-render automatically and don't mind waiting for all of the symbolics to render, you can do so using `./master-render.py -cls` + +Additional information about the symbolic icons can be found in [`src/scalable/README.md`](src/scalable/README.md) + +### Cursors + +Cursors are stored in the `src/cursors` directory. Because cursors are somewhat complicated/difficult to render as they are often animated, and because they use a single source file, they need to be re-rendered each time using `./master-render.py -cx`. You can also manually delete the `Pop/cursors` directory. Additional information about rendering the cursors is found in [`src/cursors/README.md`](src/cursors/README.md) + +### Symbolic Links + +Pop_Icons uses symbolic links to save on disk space and match a larger number of icon names without needing as many unique icons. + +Symbolic link definitions are separated out into `fullcolor` for the full-color icons, and `scalable` for the symbolic icons. Each directory contains a `.list` file for each icon category. Each line in a `.list` file defines exactly one output symlink. The format for each line is `link-target link-name` similar to the `ln` command. For more information regarding symlinks, see the [`src/symlinks/README.md`](src/symlinks/README.md) file. + +### Metadata + +Currently theme metadata is stored in the main folder within [`index.theme.in`](index.theme.in) and [`cursor.theme.in`](cursor.theme.in). When the output files of these is generated, these are copied directly into the output folder without modification; automatic generation is a planned feature for a later release. In the meantime, modify these files directly and use `./master-render.py` to copy them to the correct locations. + + +## Pull Requests + +We happily consider all pull requests sent our way. When submitting a PR, be sure to abide by our [Code of Conduct](https://github.com/pop-os/code-of-conduct), as submissions in violation will be rejected. + +To improve the quality of your submission and increase the chances of acceptance, please consider the following guidelines: + +* Ensure that your contribution is of a generally finished quality. PRs and contributions requiring further development by the Pop_OS team may not be accepted. + +* Follow existing code and design style where possible. Submissions which don't follow our code or design style may require changes to be accepted. Ensure that icons follow our design language and generally "fit in" with the other Pop Icons. When in doubt, mark your PR as a draft and request assistance from a Pop Icons maintainer. + +* Ensure that your changes to icons/cursors follow our in-place development practices. Submissions which add/remove/rename icons within the [`Pop`](./Pop) folder without corresponding changes in the [`src`](./src) folder _will_ not be accepted. + +* Ensure that your icons are rendered out before submitting. Un-render changes will not be visible in the installed theme. + +* Consider doing a full-render of the theme before you submit a PR (`./master-render.py -c`). This will erase any existing output files and ensure the theme is in a good, maintainable state and that your changes have been applied in a way which ensures that they will be carried over in the future. _Contributions where running `./master-render.py -c` creates a diff verses the git `HEAD` commit will not be accepted!_ Performing this step prior to submitting your PR will catch many of the above problems before they appear. ## Missing Icons & Requests @@ -84,4 +168,4 @@ Note: Pop does not supply icons for third-party applications, only those which c ## Donate & Support -Pop_Icons use Sam Hewitt's Paper icons as an architectural base, although the icon artwork is new. If you would like to support development by making a donation you can do so [here](https://snwh.org/donate) or by becoming a supporter on [Patreon](http://patreon.com/snwh/) or [Liberapay](http://liberapay.com/snwh/). 😊 +Pop_Icons use Sam Hewitt's Paper icons as an architectural base, although the icon artwork is new. If you would like to support development by making a donation you can do so [here](https://snwh.org/donate) or by becoming a supporter on [Patreon](http://patreon.com/snwh/) or [Liberapay](http://liberapay.com/snwh/). diff --git a/master-render.py b/master-render.py index f30e634f0c..6e6ca8b8a7 100755 --- a/master-render.py +++ b/master-render.py @@ -42,11 +42,11 @@ ## Rendering Functions -def render_bitmaps() -> None: +def render_fullcolor() -> None: print(' -- Rendering bitmap icons...') - os.chdir(SRCDIR / 'bitmaps') + os.chdir(SRCDIR / 'fullcolor') try: - subprocess.run('./render-bitmaps.py', check=True) + subprocess.run('./render-fullcolor.py', check=True) except subprocess.CalledProcessError: print('Failed to render fullcolor icons. See output above.') sys.exit(1) @@ -90,7 +90,7 @@ def render_cursors() -> None: return shutil.copytree(template_dir, output_dir) - print(' -- Rendering cursor bitmaps') + print(' -- Rendering cursor fullcolor') subprocess.run(['./render-cursors.py', '-n 0', 'source-cursors.svg']) print(' -- Generatig cursor files') @@ -105,7 +105,7 @@ def install_metadata() -> None: ## Artifact Cleanup/Removal Functions -def clean_bitmaps() -> None: +def clean_fullcolor() -> None: print(' -- Removing Fullcolor Icons') for size in SIZES: size_dir = THEMEDIR / size @@ -149,17 +149,17 @@ def clean_dirs(**kwargs) -> None: if kwargs['everything']: print(' -- Performing Full Cleanup') - clean_bitmaps() + clean_fullcolor() clean_symbolics() clean_cursors() clean_metadata() return # Cleanup Fullcolors - if kwargs['bitmaps']: - clean_bitmaps() + if kwargs['fullcolor']: + clean_fullcolor() else: - print(' ** Skipping removing bitmaps') + print(' ** Skipping removing fullcolor') # Cleanup Symbolics if kwargs['symbolics']: @@ -184,7 +184,7 @@ def do_render(args) -> None: if args.clean: clean_dirs( everything=args.all, - bitmaps=args.bitmaps, + fullcolor=args.fullcolor, symbolics=args.symbolics, cursors=args.cursors, metadata=args.metadata @@ -193,15 +193,15 @@ def do_render(args) -> None: print('\n--Rendering icons') if args.all: - render_bitmaps() + render_fullcolor() render_symbolics() render_cursors() generate_symlinks() install_metadata() return - if args.bitmaps: - render_bitmaps() + if args.fullcolor: + render_fullcolor() if args.symbolics: render_symbolics() if args.cursors: @@ -227,10 +227,10 @@ def do_render(args) -> None: help='Render all items (Default)' ) parser.add_argument( - '-b', - '--bitmaps', + '-f', + '--fullcolor', action='store_true', - help='Render bitmap (fullcolor) icons' + help='Render fullcolor icons' ) parser.add_argument( '-s', @@ -259,7 +259,7 @@ def do_render(args) -> None: args = parser.parse_args() -if not True in (args.bitmaps, +if not True in (args.fullcolor, args.symbolics, args.cursors, args.links, diff --git a/src/cursors/README.md b/src/cursors/README.md index 8e6d0b1db4..47691e562b 100644 --- a/src/cursors/README.md +++ b/src/cursors/README.md @@ -1,6 +1,6 @@ ## Cursor Theme Source -- Do not edit cursor assets directly (i.e. those in the "Yaru" folder)! +- Do not edit cursor assets directly (i.e. those in the "Pop" folder)! - To modify the cursors, edit source SVG file found in this directory and render them with the appropriate script. - To edit the cursors you will need `inkscape` installed and to build and the render the cursor set you'll need `python-pil` and `x11-apps` installed. @@ -8,12 +8,14 @@ For simplified development, has various scripts to render and build the cursor set are provided: - - [**render-cursors.py**](./render-cursors.py) will render the cursor PNG assets into [bitmaps](./bitmaps) at the appropriate sizes; run by passing the source filename to it: `./render-cursors.py source-cursors.svg` -Inside the Bitmaps folder you'll find folders containing the rendered `.png` files (24x24, 32x32,...). These must be removed, but the `.in` files are needed for the script to run. + - [`master-render.py`](../../master-render.py) will render any missing assets in the entire theme. To re-render just cursors, use `./master-render.py -cx` - - [**x11-make.sh**](./x11-make.sh) builds the cursor assets into a Xcursor set and renders them to `/icons/Yaru/cursors/`. These files have no extension. + - [`render-cursors.py`](./render-cursors.py) will render the cursor PNG assets into [bitmaps](./bitmaps) at the appropriate sizes; run by passing the source filename to it: `./render-cursors.py source-cursors.svg` +Inside the Bitmaps folder you'll find folders containing the rendered `.png` files (24x24, 32x32,...). These must be removed, but the `.in` files are needed for the script to run. + + - [`x11-make.sh`](./x11-make.sh) builds the cursor assets into a Xcursor set and renders them to `/icons/Yaru/cursors/`. These files have no extension. - - [**w32-make.sh**](./w32-make.sh) builds the cursor assets into a Windows cursor set and renders them to `/icons/Yaru/cursors/`. These files have the `.cur`extension. + - [`w32-make.sh`](./w32-make.sh) builds the cursor assets into a Windows cursor set and renders them to `/icons/Yaru/cursors/`. These files have the `.cur`extension. ## Cursor SVG source diff --git a/src/bitmaps/README.md b/src/fullcolor/README.md similarity index 58% rename from src/bitmaps/README.md rename to src/fullcolor/README.md index a9c9bdf616..a314e5bcd8 100644 --- a/src/bitmaps/README.md +++ b/src/fullcolor/README.md @@ -8,11 +8,12 @@ - Do this for each size of icon. This is crucial to rendering the icons without having redundant data. - If the final rendered icons are blank, double-check that the correct object is named. -**[render-bitmaps.py](./render-bitmaps.py) - the render script** - - This script will render PNG icons, provided there are source changes, in both @1x and @2x (HiDPi) resolutions from the source files. +**[render-fullcolor.py](./render-bitmaps.py) - the render script** + - This script will render SVG icons, provided the source file has been modified. Icons are rendered as SVG so they correctly scale to larger scale factors automatically. - You can render a single icon by passing the icon name to this script: `./render-bitmaps.rb ` **[Template.svg](./Template.svg) - a blank icon template** - - a blank template file for the fullcolor Paper icons (every icon follows this template.) - - the template has as _Baseplate_ layer which will contain the necessary metadata for rendering an icon. (hidden by default) - - You **must** change the `context` and `icon-name` labels on the _Baseplate_ for an icon to render properly (also hide the layer) \ No newline at end of file + - A blank template file for the fullcolor Pop icons (every icon follows this template.) + - The template has as _Baseplate_ layer which will contain the necessary metadata for rendering an icon. (hidden by default) + - There is also a _Margins_ layer which gives some example margins/sizes for icons following general aspect ratios. Try to design icons following these aspect ratios as a start, and adapt where required. The margins are setup to give each icon a consistent general apparent size in the grid of all icons. + - You **must** change the `context` and `icon-name` labels on the _Baseplate_ for an icon to render properly (also hide the layer). Also, be sure to group each icon into a single object. Set the name for this object using the format {icon-name}-{size} (e.g. edit-delete-64) \ No newline at end of file diff --git a/src/bitmaps/Template-emblem.svg b/src/fullcolor/Template-emblem.svg similarity index 100% rename from src/bitmaps/Template-emblem.svg rename to src/fullcolor/Template-emblem.svg diff --git a/src/bitmaps/Template.svg b/src/fullcolor/Template.svg similarity index 100% rename from src/bitmaps/Template.svg rename to src/fullcolor/Template.svg diff --git a/src/bitmaps/actions/clean-up.svg b/src/fullcolor/actions/clean-up.svg similarity index 100% rename from src/bitmaps/actions/clean-up.svg rename to src/fullcolor/actions/clean-up.svg diff --git a/src/bitmaps/actions/events.svg b/src/fullcolor/actions/events.svg similarity index 100% rename from src/bitmaps/actions/events.svg rename to src/fullcolor/actions/events.svg diff --git a/src/bitmaps/actions/help-about.svg b/src/fullcolor/actions/help-about.svg similarity index 100% rename from src/bitmaps/actions/help-about.svg rename to src/fullcolor/actions/help-about.svg diff --git a/src/bitmaps/actions/help-contents.svg b/src/fullcolor/actions/help-contents.svg similarity index 100% rename from src/bitmaps/actions/help-contents.svg rename to src/fullcolor/actions/help-contents.svg diff --git a/src/bitmaps/actions/help-faq.svg b/src/fullcolor/actions/help-faq.svg similarity index 100% rename from src/bitmaps/actions/help-faq.svg rename to src/fullcolor/actions/help-faq.svg diff --git a/src/bitmaps/actions/help-info.svg b/src/fullcolor/actions/help-info.svg similarity index 100% rename from src/bitmaps/actions/help-info.svg rename to src/fullcolor/actions/help-info.svg diff --git a/src/bitmaps/actions/mail-mark-important.svg b/src/fullcolor/actions/mail-mark-important.svg similarity index 100% rename from src/bitmaps/actions/mail-mark-important.svg rename to src/fullcolor/actions/mail-mark-important.svg diff --git a/src/bitmaps/actions/mail-mark-junk.svg b/src/fullcolor/actions/mail-mark-junk.svg similarity index 100% rename from src/bitmaps/actions/mail-mark-junk.svg rename to src/fullcolor/actions/mail-mark-junk.svg diff --git a/src/bitmaps/actions/mail-mark-notjunk.svg b/src/fullcolor/actions/mail-mark-notjunk.svg similarity index 100% rename from src/bitmaps/actions/mail-mark-notjunk.svg rename to src/fullcolor/actions/mail-mark-notjunk.svg diff --git a/src/bitmaps/actions/mail-mark-read.svg b/src/fullcolor/actions/mail-mark-read.svg similarity index 100% rename from src/bitmaps/actions/mail-mark-read.svg rename to src/fullcolor/actions/mail-mark-read.svg diff --git a/src/bitmaps/actions/mail-mark-unread.svg b/src/fullcolor/actions/mail-mark-unread.svg similarity index 100% rename from src/bitmaps/actions/mail-mark-unread.svg rename to src/fullcolor/actions/mail-mark-unread.svg diff --git a/src/bitmaps/actions/mail-reply.svg b/src/fullcolor/actions/mail-reply.svg similarity index 100% rename from src/bitmaps/actions/mail-reply.svg rename to src/fullcolor/actions/mail-reply.svg diff --git a/src/bitmaps/actions/mail-send-receive.svg b/src/fullcolor/actions/mail-send-receive.svg similarity index 100% rename from src/bitmaps/actions/mail-send-receive.svg rename to src/fullcolor/actions/mail-send-receive.svg diff --git a/src/bitmaps/actions/process-stop.svg b/src/fullcolor/actions/process-stop.svg similarity index 100% rename from src/bitmaps/actions/process-stop.svg rename to src/fullcolor/actions/process-stop.svg diff --git a/src/bitmaps/actions/session-actions.svg b/src/fullcolor/actions/session-actions.svg similarity index 100% rename from src/bitmaps/actions/session-actions.svg rename to src/fullcolor/actions/session-actions.svg diff --git a/src/bitmaps/actions/view-refresh.svg b/src/fullcolor/actions/view-refresh.svg similarity index 100% rename from src/bitmaps/actions/view-refresh.svg rename to src/fullcolor/actions/view-refresh.svg diff --git a/src/bitmaps/actions/zoom.svg b/src/fullcolor/actions/zoom.svg similarity index 100% rename from src/bitmaps/actions/zoom.svg rename to src/fullcolor/actions/zoom.svg diff --git a/src/bitmaps/apps/accessories-calculator.svg b/src/fullcolor/apps/accessories-calculator.svg similarity index 100% rename from src/bitmaps/apps/accessories-calculator.svg rename to src/fullcolor/apps/accessories-calculator.svg diff --git a/src/bitmaps/apps/accessories-character-map.svg b/src/fullcolor/apps/accessories-character-map.svg similarity index 100% rename from src/bitmaps/apps/accessories-character-map.svg rename to src/fullcolor/apps/accessories-character-map.svg diff --git a/src/bitmaps/apps/accessories-clipboard.svg b/src/fullcolor/apps/accessories-clipboard.svg similarity index 100% rename from src/bitmaps/apps/accessories-clipboard.svg rename to src/fullcolor/apps/accessories-clipboard.svg diff --git a/src/bitmaps/apps/accessories-clock.svg b/src/fullcolor/apps/accessories-clock.svg similarity index 100% rename from src/bitmaps/apps/accessories-clock.svg rename to src/fullcolor/apps/accessories-clock.svg diff --git a/src/bitmaps/apps/accessories-dictionary.svg b/src/fullcolor/apps/accessories-dictionary.svg similarity index 100% rename from src/bitmaps/apps/accessories-dictionary.svg rename to src/fullcolor/apps/accessories-dictionary.svg diff --git a/src/bitmaps/apps/accessories-document-viewer.svg b/src/fullcolor/apps/accessories-document-viewer.svg similarity index 100% rename from src/bitmaps/apps/accessories-document-viewer.svg rename to src/fullcolor/apps/accessories-document-viewer.svg diff --git a/src/bitmaps/apps/accessories-text-editor.svg b/src/fullcolor/apps/accessories-text-editor.svg similarity index 100% rename from src/bitmaps/apps/accessories-text-editor.svg rename to src/fullcolor/apps/accessories-text-editor.svg diff --git a/src/bitmaps/apps/application-default.svg b/src/fullcolor/apps/application-default.svg similarity index 100% rename from src/bitmaps/apps/application-default.svg rename to src/fullcolor/apps/application-default.svg diff --git a/src/bitmaps/apps/archive-manager.svg b/src/fullcolor/apps/archive-manager.svg similarity index 100% rename from src/bitmaps/apps/archive-manager.svg rename to src/fullcolor/apps/archive-manager.svg diff --git a/src/bitmaps/apps/firmware-manager.svg b/src/fullcolor/apps/firmware-manager.svg similarity index 100% rename from src/bitmaps/apps/firmware-manager.svg rename to src/fullcolor/apps/firmware-manager.svg diff --git a/src/bitmaps/apps/internet-chat.svg b/src/fullcolor/apps/internet-chat.svg similarity index 100% rename from src/bitmaps/apps/internet-chat.svg rename to src/fullcolor/apps/internet-chat.svg diff --git a/src/bitmaps/apps/internet-mail.svg b/src/fullcolor/apps/internet-mail.svg similarity index 100% rename from src/bitmaps/apps/internet-mail.svg rename to src/fullcolor/apps/internet-mail.svg diff --git a/src/bitmaps/apps/internet-news-reader.svg b/src/fullcolor/apps/internet-news-reader.svg similarity index 100% rename from src/bitmaps/apps/internet-news-reader.svg rename to src/fullcolor/apps/internet-news-reader.svg diff --git a/src/bitmaps/apps/internet-web-browser.svg b/src/fullcolor/apps/internet-web-browser.svg similarity index 100% rename from src/bitmaps/apps/internet-web-browser.svg rename to src/fullcolor/apps/internet-web-browser.svg diff --git a/src/bitmaps/apps/multimedia-audio-player.svg b/src/fullcolor/apps/multimedia-audio-player.svg similarity index 100% rename from src/bitmaps/apps/multimedia-audio-player.svg rename to src/fullcolor/apps/multimedia-audio-player.svg diff --git a/src/bitmaps/apps/multimedia-photo-manager.svg b/src/fullcolor/apps/multimedia-photo-manager.svg similarity index 100% rename from src/bitmaps/apps/multimedia-photo-manager.svg rename to src/fullcolor/apps/multimedia-photo-manager.svg diff --git a/src/bitmaps/apps/multimedia-photo-viewer.svg b/src/fullcolor/apps/multimedia-photo-viewer.svg similarity index 100% rename from src/bitmaps/apps/multimedia-photo-viewer.svg rename to src/fullcolor/apps/multimedia-photo-viewer.svg diff --git a/src/bitmaps/apps/multimedia-video-player.svg b/src/fullcolor/apps/multimedia-video-player.svg similarity index 100% rename from src/bitmaps/apps/multimedia-video-player.svg rename to src/fullcolor/apps/multimedia-video-player.svg diff --git a/src/bitmaps/apps/nvidia-settings.svg b/src/fullcolor/apps/nvidia-settings.svg similarity index 100% rename from src/bitmaps/apps/nvidia-settings.svg rename to src/fullcolor/apps/nvidia-settings.svg diff --git a/src/bitmaps/apps/office-address-book.svg b/src/fullcolor/apps/office-address-book.svg similarity index 100% rename from src/bitmaps/apps/office-address-book.svg rename to src/fullcolor/apps/office-address-book.svg diff --git a/src/bitmaps/apps/office-calendar.svg b/src/fullcolor/apps/office-calendar.svg similarity index 100% rename from src/bitmaps/apps/office-calendar.svg rename to src/fullcolor/apps/office-calendar.svg diff --git a/src/bitmaps/apps/password-manager.svg b/src/fullcolor/apps/password-manager.svg similarity index 100% rename from src/bitmaps/apps/password-manager.svg rename to src/fullcolor/apps/password-manager.svg diff --git a/src/bitmaps/apps/system-error.svg b/src/fullcolor/apps/system-error.svg similarity index 100% rename from src/bitmaps/apps/system-error.svg rename to src/fullcolor/apps/system-error.svg diff --git a/src/bitmaps/apps/system-file-manager.svg b/src/fullcolor/apps/system-file-manager.svg similarity index 100% rename from src/bitmaps/apps/system-file-manager.svg rename to src/fullcolor/apps/system-file-manager.svg diff --git a/src/bitmaps/apps/system-software-install.svg b/src/fullcolor/apps/system-software-install.svg similarity index 100% rename from src/bitmaps/apps/system-software-install.svg rename to src/fullcolor/apps/system-software-install.svg diff --git a/src/bitmaps/apps/system-software-update.svg b/src/fullcolor/apps/system-software-update.svg similarity index 100% rename from src/bitmaps/apps/system-software-update.svg rename to src/fullcolor/apps/system-software-update.svg diff --git a/src/bitmaps/apps/system-users.svg b/src/fullcolor/apps/system-users.svg similarity index 100% rename from src/bitmaps/apps/system-users.svg rename to src/fullcolor/apps/system-users.svg diff --git a/src/bitmaps/apps/terminals.svg b/src/fullcolor/apps/terminals.svg similarity index 100% rename from src/bitmaps/apps/terminals.svg rename to src/fullcolor/apps/terminals.svg diff --git a/src/bitmaps/apps/utilities-system-monitor.svg b/src/fullcolor/apps/utilities-system-monitor.svg similarity index 100% rename from src/bitmaps/apps/utilities-system-monitor.svg rename to src/fullcolor/apps/utilities-system-monitor.svg diff --git a/src/bitmaps/apps/weather.svg b/src/fullcolor/apps/weather.svg similarity index 100% rename from src/bitmaps/apps/weather.svg rename to src/fullcolor/apps/weather.svg diff --git a/src/bitmaps/categories/applications-accessories.svg b/src/fullcolor/categories/applications-accessories.svg similarity index 100% rename from src/bitmaps/categories/applications-accessories.svg rename to src/fullcolor/categories/applications-accessories.svg diff --git a/src/bitmaps/categories/applications-education.svg b/src/fullcolor/categories/applications-education.svg similarity index 100% rename from src/bitmaps/categories/applications-education.svg rename to src/fullcolor/categories/applications-education.svg diff --git a/src/bitmaps/categories/applications-engineering.svg b/src/fullcolor/categories/applications-engineering.svg similarity index 100% rename from src/bitmaps/categories/applications-engineering.svg rename to src/fullcolor/categories/applications-engineering.svg diff --git a/src/bitmaps/categories/applications-font.svg b/src/fullcolor/categories/applications-font.svg similarity index 100% rename from src/bitmaps/categories/applications-font.svg rename to src/fullcolor/categories/applications-font.svg diff --git a/src/bitmaps/categories/applications-games.svg b/src/fullcolor/categories/applications-games.svg similarity index 100% rename from src/bitmaps/categories/applications-games.svg rename to src/fullcolor/categories/applications-games.svg diff --git a/src/bitmaps/categories/applications-graphics.svg b/src/fullcolor/categories/applications-graphics.svg similarity index 100% rename from src/bitmaps/categories/applications-graphics.svg rename to src/fullcolor/categories/applications-graphics.svg diff --git a/src/bitmaps/categories/applications-internet.svg b/src/fullcolor/categories/applications-internet.svg similarity index 100% rename from src/bitmaps/categories/applications-internet.svg rename to src/fullcolor/categories/applications-internet.svg diff --git a/src/bitmaps/categories/applications-multimedia.svg b/src/fullcolor/categories/applications-multimedia.svg similarity index 100% rename from src/bitmaps/categories/applications-multimedia.svg rename to src/fullcolor/categories/applications-multimedia.svg diff --git a/src/bitmaps/categories/applications-office.svg b/src/fullcolor/categories/applications-office.svg similarity index 100% rename from src/bitmaps/categories/applications-office.svg rename to src/fullcolor/categories/applications-office.svg diff --git a/src/bitmaps/categories/applications-other.svg b/src/fullcolor/categories/applications-other.svg similarity index 100% rename from src/bitmaps/categories/applications-other.svg rename to src/fullcolor/categories/applications-other.svg diff --git a/src/bitmaps/categories/applications-science.svg b/src/fullcolor/categories/applications-science.svg similarity index 100% rename from src/bitmaps/categories/applications-science.svg rename to src/fullcolor/categories/applications-science.svg diff --git a/src/bitmaps/categories/applications-utilities.svg b/src/fullcolor/categories/applications-utilities.svg similarity index 100% rename from src/bitmaps/categories/applications-utilities.svg rename to src/fullcolor/categories/applications-utilities.svg diff --git a/src/bitmaps/devices/audio-card.svg b/src/fullcolor/devices/audio-card.svg similarity index 100% rename from src/bitmaps/devices/audio-card.svg rename to src/fullcolor/devices/audio-card.svg diff --git a/src/bitmaps/devices/audio-input-microphone.svg b/src/fullcolor/devices/audio-input-microphone.svg similarity index 100% rename from src/bitmaps/devices/audio-input-microphone.svg rename to src/fullcolor/devices/audio-input-microphone.svg diff --git a/src/bitmaps/devices/audio-speakers.svg b/src/fullcolor/devices/audio-speakers.svg similarity index 100% rename from src/bitmaps/devices/audio-speakers.svg rename to src/fullcolor/devices/audio-speakers.svg diff --git a/src/bitmaps/devices/audio-subwoofer.svg b/src/fullcolor/devices/audio-subwoofer.svg similarity index 100% rename from src/bitmaps/devices/audio-subwoofer.svg rename to src/fullcolor/devices/audio-subwoofer.svg diff --git a/src/bitmaps/devices/batteries.svg b/src/fullcolor/devices/batteries.svg similarity index 100% rename from src/bitmaps/devices/batteries.svg rename to src/fullcolor/devices/batteries.svg diff --git a/src/bitmaps/devices/bluetooth.svg b/src/fullcolor/devices/bluetooth.svg similarity index 100% rename from src/bitmaps/devices/bluetooth.svg rename to src/fullcolor/devices/bluetooth.svg diff --git a/src/bitmaps/devices/camera-photo.svg b/src/fullcolor/devices/camera-photo.svg similarity index 100% rename from src/bitmaps/devices/camera-photo.svg rename to src/fullcolor/devices/camera-photo.svg diff --git a/src/bitmaps/devices/camera-web.svg b/src/fullcolor/devices/camera-web.svg similarity index 100% rename from src/bitmaps/devices/camera-web.svg rename to src/fullcolor/devices/camera-web.svg diff --git a/src/bitmaps/devices/computer.svg b/src/fullcolor/devices/computer.svg similarity index 100% rename from src/bitmaps/devices/computer.svg rename to src/fullcolor/devices/computer.svg diff --git a/src/bitmaps/devices/disks.svg b/src/fullcolor/devices/disks.svg similarity index 100% rename from src/bitmaps/devices/disks.svg rename to src/fullcolor/devices/disks.svg diff --git a/src/bitmaps/devices/displays.svg b/src/fullcolor/devices/displays.svg similarity index 100% rename from src/bitmaps/devices/displays.svg rename to src/fullcolor/devices/displays.svg diff --git a/src/bitmaps/devices/drives.svg b/src/fullcolor/devices/drives.svg similarity index 100% rename from src/bitmaps/devices/drives.svg rename to src/fullcolor/devices/drives.svg diff --git a/src/bitmaps/devices/input-gaming.svg b/src/fullcolor/devices/input-gaming.svg similarity index 100% rename from src/bitmaps/devices/input-gaming.svg rename to src/fullcolor/devices/input-gaming.svg diff --git a/src/bitmaps/devices/input-mouse.svg b/src/fullcolor/devices/input-mouse.svg similarity index 100% rename from src/bitmaps/devices/input-mouse.svg rename to src/fullcolor/devices/input-mouse.svg diff --git a/src/bitmaps/devices/input-tablet.svg b/src/fullcolor/devices/input-tablet.svg similarity index 100% rename from src/bitmaps/devices/input-tablet.svg rename to src/fullcolor/devices/input-tablet.svg diff --git a/src/bitmaps/devices/input-touchpad.svg b/src/fullcolor/devices/input-touchpad.svg similarity index 100% rename from src/bitmaps/devices/input-touchpad.svg rename to src/fullcolor/devices/input-touchpad.svg diff --git a/src/bitmaps/devices/keyboards.svg b/src/fullcolor/devices/keyboards.svg similarity index 100% rename from src/bitmaps/devices/keyboards.svg rename to src/fullcolor/devices/keyboards.svg diff --git a/src/bitmaps/devices/media-flash.svg b/src/fullcolor/devices/media-flash.svg similarity index 100% rename from src/bitmaps/devices/media-flash.svg rename to src/fullcolor/devices/media-flash.svg diff --git a/src/bitmaps/devices/media-floppy.svg b/src/fullcolor/devices/media-floppy.svg similarity index 100% rename from src/bitmaps/devices/media-floppy.svg rename to src/fullcolor/devices/media-floppy.svg diff --git a/src/bitmaps/devices/multimedia-player.svg b/src/fullcolor/devices/multimedia-player.svg similarity index 100% rename from src/bitmaps/devices/multimedia-player.svg rename to src/fullcolor/devices/multimedia-player.svg diff --git a/src/bitmaps/devices/network-server.svg b/src/fullcolor/devices/network-server.svg similarity index 100% rename from src/bitmaps/devices/network-server.svg rename to src/fullcolor/devices/network-server.svg diff --git a/src/bitmaps/devices/payment-card.svg b/src/fullcolor/devices/payment-card.svg similarity index 100% rename from src/bitmaps/devices/payment-card.svg rename to src/fullcolor/devices/payment-card.svg diff --git a/src/bitmaps/devices/phone.svg b/src/fullcolor/devices/phone.svg similarity index 100% rename from src/bitmaps/devices/phone.svg rename to src/fullcolor/devices/phone.svg diff --git a/src/bitmaps/devices/printers.svg b/src/fullcolor/devices/printers.svg similarity index 100% rename from src/bitmaps/devices/printers.svg rename to src/fullcolor/devices/printers.svg diff --git a/src/bitmaps/devices/scanner.svg b/src/fullcolor/devices/scanner.svg similarity index 100% rename from src/bitmaps/devices/scanner.svg rename to src/fullcolor/devices/scanner.svg diff --git a/src/bitmaps/distributor-logos.sh b/src/fullcolor/distributor-logos.sh similarity index 100% rename from src/bitmaps/distributor-logos.sh rename to src/fullcolor/distributor-logos.sh diff --git a/src/bitmaps/emblems/emblem-default.svg b/src/fullcolor/emblems/emblem-default.svg similarity index 100% rename from src/bitmaps/emblems/emblem-default.svg rename to src/fullcolor/emblems/emblem-default.svg diff --git a/src/bitmaps/emblems/emblem-documents.svg b/src/fullcolor/emblems/emblem-documents.svg similarity index 100% rename from src/bitmaps/emblems/emblem-documents.svg rename to src/fullcolor/emblems/emblem-documents.svg diff --git a/src/bitmaps/emblems/emblem-downloads.svg b/src/fullcolor/emblems/emblem-downloads.svg similarity index 100% rename from src/bitmaps/emblems/emblem-downloads.svg rename to src/fullcolor/emblems/emblem-downloads.svg diff --git a/src/bitmaps/emblems/emblem-favourite.svg b/src/fullcolor/emblems/emblem-favourite.svg similarity index 100% rename from src/bitmaps/emblems/emblem-favourite.svg rename to src/fullcolor/emblems/emblem-favourite.svg diff --git a/src/bitmaps/emblems/emblem-important.svg b/src/fullcolor/emblems/emblem-important.svg similarity index 100% rename from src/bitmaps/emblems/emblem-important.svg rename to src/fullcolor/emblems/emblem-important.svg diff --git a/src/bitmaps/emblems/emblem-mail.svg b/src/fullcolor/emblems/emblem-mail.svg similarity index 100% rename from src/bitmaps/emblems/emblem-mail.svg rename to src/fullcolor/emblems/emblem-mail.svg diff --git a/src/bitmaps/emblems/emblem-new.svg b/src/fullcolor/emblems/emblem-new.svg similarity index 100% rename from src/bitmaps/emblems/emblem-new.svg rename to src/fullcolor/emblems/emblem-new.svg diff --git a/src/bitmaps/emblems/emblem-photos.svg b/src/fullcolor/emblems/emblem-photos.svg similarity index 100% rename from src/bitmaps/emblems/emblem-photos.svg rename to src/fullcolor/emblems/emblem-photos.svg diff --git a/src/bitmaps/emblems/emblem-readonly.svg b/src/fullcolor/emblems/emblem-readonly.svg similarity index 100% rename from src/bitmaps/emblems/emblem-readonly.svg rename to src/fullcolor/emblems/emblem-readonly.svg diff --git a/src/bitmaps/emblems/emblem-shared.svg b/src/fullcolor/emblems/emblem-shared.svg similarity index 100% rename from src/bitmaps/emblems/emblem-shared.svg rename to src/fullcolor/emblems/emblem-shared.svg diff --git a/src/bitmaps/emblems/emblem-symbolic-link.svg b/src/fullcolor/emblems/emblem-symbolic-link.svg similarity index 100% rename from src/bitmaps/emblems/emblem-symbolic-link.svg rename to src/fullcolor/emblems/emblem-symbolic-link.svg diff --git a/src/bitmaps/emblems/emblem-synchronizing.svg b/src/fullcolor/emblems/emblem-synchronizing.svg similarity index 100% rename from src/bitmaps/emblems/emblem-synchronizing.svg rename to src/fullcolor/emblems/emblem-synchronizing.svg diff --git a/src/bitmaps/emblems/emblem-system.svg b/src/fullcolor/emblems/emblem-system.svg similarity index 100% rename from src/bitmaps/emblems/emblem-system.svg rename to src/fullcolor/emblems/emblem-system.svg diff --git a/src/bitmaps/emblems/emblem-unreadable.svg b/src/fullcolor/emblems/emblem-unreadable.svg similarity index 100% rename from src/bitmaps/emblems/emblem-unreadable.svg rename to src/fullcolor/emblems/emblem-unreadable.svg diff --git a/src/bitmaps/logos/distributor-logo-antergos.svg b/src/fullcolor/logos/distributor-logo-antergos.svg similarity index 100% rename from src/bitmaps/logos/distributor-logo-antergos.svg rename to src/fullcolor/logos/distributor-logo-antergos.svg diff --git a/src/bitmaps/logos/distributor-logo-arch-linux.svg b/src/fullcolor/logos/distributor-logo-arch-linux.svg similarity index 100% rename from src/bitmaps/logos/distributor-logo-arch-linux.svg rename to src/fullcolor/logos/distributor-logo-arch-linux.svg diff --git a/src/bitmaps/logos/distributor-logo-debian.svg b/src/fullcolor/logos/distributor-logo-debian.svg similarity index 100% rename from src/bitmaps/logos/distributor-logo-debian.svg rename to src/fullcolor/logos/distributor-logo-debian.svg diff --git a/src/bitmaps/logos/distributor-logo-elementaryos.svg b/src/fullcolor/logos/distributor-logo-elementaryos.svg similarity index 100% rename from src/bitmaps/logos/distributor-logo-elementaryos.svg rename to src/fullcolor/logos/distributor-logo-elementaryos.svg diff --git a/src/bitmaps/logos/distributor-logo-fedora.svg b/src/fullcolor/logos/distributor-logo-fedora.svg similarity index 100% rename from src/bitmaps/logos/distributor-logo-fedora.svg rename to src/fullcolor/logos/distributor-logo-fedora.svg diff --git a/src/bitmaps/logos/distributor-logo-kubuntu.svg b/src/fullcolor/logos/distributor-logo-kubuntu.svg similarity index 100% rename from src/bitmaps/logos/distributor-logo-kubuntu.svg rename to src/fullcolor/logos/distributor-logo-kubuntu.svg diff --git a/src/bitmaps/logos/distributor-logo-linux-mint.svg b/src/fullcolor/logos/distributor-logo-linux-mint.svg similarity index 100% rename from src/bitmaps/logos/distributor-logo-linux-mint.svg rename to src/fullcolor/logos/distributor-logo-linux-mint.svg diff --git a/src/bitmaps/logos/distributor-logo-lubuntu.svg b/src/fullcolor/logos/distributor-logo-lubuntu.svg similarity index 100% rename from src/bitmaps/logos/distributor-logo-lubuntu.svg rename to src/fullcolor/logos/distributor-logo-lubuntu.svg diff --git a/src/bitmaps/logos/distributor-logo-mageia.svg b/src/fullcolor/logos/distributor-logo-mageia.svg similarity index 100% rename from src/bitmaps/logos/distributor-logo-mageia.svg rename to src/fullcolor/logos/distributor-logo-mageia.svg diff --git a/src/bitmaps/logos/distributor-logo-manjaro.svg b/src/fullcolor/logos/distributor-logo-manjaro.svg similarity index 100% rename from src/bitmaps/logos/distributor-logo-manjaro.svg rename to src/fullcolor/logos/distributor-logo-manjaro.svg diff --git a/src/bitmaps/logos/distributor-logo-opensuse.svg b/src/fullcolor/logos/distributor-logo-opensuse.svg similarity index 100% rename from src/bitmaps/logos/distributor-logo-opensuse.svg rename to src/fullcolor/logos/distributor-logo-opensuse.svg diff --git a/src/bitmaps/logos/distributor-logo-pop-os.svg b/src/fullcolor/logos/distributor-logo-pop-os.svg similarity index 100% rename from src/bitmaps/logos/distributor-logo-pop-os.svg rename to src/fullcolor/logos/distributor-logo-pop-os.svg diff --git a/src/bitmaps/logos/distributor-logo-slackware.svg b/src/fullcolor/logos/distributor-logo-slackware.svg similarity index 100% rename from src/bitmaps/logos/distributor-logo-slackware.svg rename to src/fullcolor/logos/distributor-logo-slackware.svg diff --git a/src/bitmaps/logos/distributor-logo-solus.svg b/src/fullcolor/logos/distributor-logo-solus.svg similarity index 100% rename from src/bitmaps/logos/distributor-logo-solus.svg rename to src/fullcolor/logos/distributor-logo-solus.svg diff --git a/src/bitmaps/logos/distributor-logo-ubuntu-gnome.svg b/src/fullcolor/logos/distributor-logo-ubuntu-gnome.svg similarity index 100% rename from src/bitmaps/logos/distributor-logo-ubuntu-gnome.svg rename to src/fullcolor/logos/distributor-logo-ubuntu-gnome.svg diff --git a/src/bitmaps/logos/distributor-logo-ubuntu-mate.svg b/src/fullcolor/logos/distributor-logo-ubuntu-mate.svg similarity index 100% rename from src/bitmaps/logos/distributor-logo-ubuntu-mate.svg rename to src/fullcolor/logos/distributor-logo-ubuntu-mate.svg diff --git a/src/bitmaps/logos/distributor-logo-ubuntu.svg b/src/fullcolor/logos/distributor-logo-ubuntu.svg similarity index 100% rename from src/bitmaps/logos/distributor-logo-ubuntu.svg rename to src/fullcolor/logos/distributor-logo-ubuntu.svg diff --git a/src/bitmaps/logos/distributor-logo-xubuntu.svg b/src/fullcolor/logos/distributor-logo-xubuntu.svg similarity index 100% rename from src/bitmaps/logos/distributor-logo-xubuntu.svg rename to src/fullcolor/logos/distributor-logo-xubuntu.svg diff --git a/src/bitmaps/logos/goa-account-exchange.svg b/src/fullcolor/logos/goa-account-exchange.svg similarity index 100% rename from src/bitmaps/logos/goa-account-exchange.svg rename to src/fullcolor/logos/goa-account-exchange.svg diff --git a/src/bitmaps/mimetypes/application-mimetypes.svg b/src/fullcolor/mimetypes/application-mimetypes.svg similarity index 100% rename from src/bitmaps/mimetypes/application-mimetypes.svg rename to src/fullcolor/mimetypes/application-mimetypes.svg diff --git a/src/bitmaps/mimetypes/application-octet-stream.svg b/src/fullcolor/mimetypes/application-octet-stream.svg similarity index 100% rename from src/bitmaps/mimetypes/application-octet-stream.svg rename to src/fullcolor/mimetypes/application-octet-stream.svg diff --git a/src/bitmaps/mimetypes/application-x-addon.svg b/src/fullcolor/mimetypes/application-x-addon.svg similarity index 100% rename from src/bitmaps/mimetypes/application-x-addon.svg rename to src/fullcolor/mimetypes/application-x-addon.svg diff --git a/src/bitmaps/mimetypes/audio-mimetypes.svg b/src/fullcolor/mimetypes/audio-mimetypes.svg similarity index 100% rename from src/bitmaps/mimetypes/audio-mimetypes.svg rename to src/fullcolor/mimetypes/audio-mimetypes.svg diff --git a/src/bitmaps/mimetypes/document-mimetypes.svg b/src/fullcolor/mimetypes/document-mimetypes.svg similarity index 100% rename from src/bitmaps/mimetypes/document-mimetypes.svg rename to src/fullcolor/mimetypes/document-mimetypes.svg diff --git a/src/bitmaps/mimetypes/image-mimetypes.svg b/src/fullcolor/mimetypes/image-mimetypes.svg similarity index 100% rename from src/bitmaps/mimetypes/image-mimetypes.svg rename to src/fullcolor/mimetypes/image-mimetypes.svg diff --git a/src/bitmaps/mimetypes/package-mimetypes.svg b/src/fullcolor/mimetypes/package-mimetypes.svg similarity index 100% rename from src/bitmaps/mimetypes/package-mimetypes.svg rename to src/fullcolor/mimetypes/package-mimetypes.svg diff --git a/src/bitmaps/mimetypes/video-mimetypes.svg b/src/fullcolor/mimetypes/video-mimetypes.svg similarity index 100% rename from src/bitmaps/mimetypes/video-mimetypes.svg rename to src/fullcolor/mimetypes/video-mimetypes.svg diff --git a/src/bitmaps/places/folders-colored.svg b/src/fullcolor/places/folders-colored.svg similarity index 100% rename from src/bitmaps/places/folders-colored.svg rename to src/fullcolor/places/folders-colored.svg diff --git a/src/bitmaps/places/folders.svg b/src/fullcolor/places/folders.svg similarity index 100% rename from src/bitmaps/places/folders.svg rename to src/fullcolor/places/folders.svg diff --git a/src/bitmaps/places/mailboxes.svg b/src/fullcolor/places/mailboxes.svg similarity index 100% rename from src/bitmaps/places/mailboxes.svg rename to src/fullcolor/places/mailboxes.svg diff --git a/src/bitmaps/places/tag.svg b/src/fullcolor/places/tag.svg similarity index 100% rename from src/bitmaps/places/tag.svg rename to src/fullcolor/places/tag.svg diff --git a/src/bitmaps/places/trash.svg b/src/fullcolor/places/trash.svg similarity index 100% rename from src/bitmaps/places/trash.svg rename to src/fullcolor/places/trash.svg diff --git a/src/bitmaps/preferences/preferences-bluetooth.svg b/src/fullcolor/preferences/preferences-bluetooth.svg similarity index 100% rename from src/bitmaps/preferences/preferences-bluetooth.svg rename to src/fullcolor/preferences/preferences-bluetooth.svg diff --git a/src/bitmaps/preferences/preferences-color.svg b/src/fullcolor/preferences/preferences-color.svg similarity index 100% rename from src/bitmaps/preferences/preferences-color.svg rename to src/fullcolor/preferences/preferences-color.svg diff --git a/src/bitmaps/preferences/preferences-desktop-accessibility-pointing.svg b/src/fullcolor/preferences/preferences-desktop-accessibility-pointing.svg similarity index 100% rename from src/bitmaps/preferences/preferences-desktop-accessibility-pointing.svg rename to src/fullcolor/preferences/preferences-desktop-accessibility-pointing.svg diff --git a/src/bitmaps/preferences/preferences-desktop-accessibility-zoom.svg b/src/fullcolor/preferences/preferences-desktop-accessibility-zoom.svg similarity index 100% rename from src/bitmaps/preferences/preferences-desktop-accessibility-zoom.svg rename to src/fullcolor/preferences/preferences-desktop-accessibility-zoom.svg diff --git a/src/bitmaps/preferences/preferences-desktop-accessibility.svg b/src/fullcolor/preferences/preferences-desktop-accessibility.svg similarity index 100% rename from src/bitmaps/preferences/preferences-desktop-accessibility.svg rename to src/fullcolor/preferences/preferences-desktop-accessibility.svg diff --git a/src/bitmaps/preferences/preferences-desktop-default-applications.svg b/src/fullcolor/preferences/preferences-desktop-default-applications.svg similarity index 100% rename from src/bitmaps/preferences/preferences-desktop-default-applications.svg rename to src/fullcolor/preferences/preferences-desktop-default-applications.svg diff --git a/src/bitmaps/preferences/preferences-desktop-keyboard.svg b/src/fullcolor/preferences/preferences-desktop-keyboard.svg similarity index 100% rename from src/bitmaps/preferences/preferences-desktop-keyboard.svg rename to src/fullcolor/preferences/preferences-desktop-keyboard.svg diff --git a/src/bitmaps/preferences/preferences-desktop-locale.svg b/src/fullcolor/preferences/preferences-desktop-locale.svg similarity index 100% rename from src/bitmaps/preferences/preferences-desktop-locale.svg rename to src/fullcolor/preferences/preferences-desktop-locale.svg diff --git a/src/bitmaps/preferences/preferences-desktop-online-accounts.svg b/src/fullcolor/preferences/preferences-desktop-online-accounts.svg similarity index 100% rename from src/bitmaps/preferences/preferences-desktop-online-accounts.svg rename to src/fullcolor/preferences/preferences-desktop-online-accounts.svg diff --git a/src/bitmaps/preferences/preferences-desktop.svg b/src/fullcolor/preferences/preferences-desktop.svg similarity index 100% rename from src/bitmaps/preferences/preferences-desktop.svg rename to src/fullcolor/preferences/preferences-desktop.svg diff --git a/src/bitmaps/preferences/preferences-system-network.svg b/src/fullcolor/preferences/preferences-system-network.svg similarity index 100% rename from src/bitmaps/preferences/preferences-system-network.svg rename to src/fullcolor/preferences/preferences-system-network.svg diff --git a/src/bitmaps/preferences/preferences-system-notifications.svg b/src/fullcolor/preferences/preferences-system-notifications.svg similarity index 100% rename from src/bitmaps/preferences/preferences-system-notifications.svg rename to src/fullcolor/preferences/preferences-system-notifications.svg diff --git a/src/bitmaps/preferences/preferences-system-parental-controls.svg b/src/fullcolor/preferences/preferences-system-parental-controls.svg similarity index 100% rename from src/bitmaps/preferences/preferences-system-parental-controls.svg rename to src/fullcolor/preferences/preferences-system-parental-controls.svg diff --git a/src/bitmaps/preferences/preferences-system-power.svg b/src/fullcolor/preferences/preferences-system-power.svg similarity index 100% rename from src/bitmaps/preferences/preferences-system-power.svg rename to src/fullcolor/preferences/preferences-system-power.svg diff --git a/src/bitmaps/preferences/preferences-system-privacy.svg b/src/fullcolor/preferences/preferences-system-privacy.svg similarity index 100% rename from src/bitmaps/preferences/preferences-system-privacy.svg rename to src/fullcolor/preferences/preferences-system-privacy.svg diff --git a/src/bitmaps/preferences/preferences-system-sharing.svg b/src/fullcolor/preferences/preferences-system-sharing.svg similarity index 100% rename from src/bitmaps/preferences/preferences-system-sharing.svg rename to src/fullcolor/preferences/preferences-system-sharing.svg diff --git a/src/bitmaps/preferences/preferences-system-time.svg b/src/fullcolor/preferences/preferences-system-time.svg similarity index 100% rename from src/bitmaps/preferences/preferences-system-time.svg rename to src/fullcolor/preferences/preferences-system-time.svg diff --git a/src/bitmaps/preferences/preferences-system-windows.svg b/src/fullcolor/preferences/preferences-system-windows.svg similarity index 100% rename from src/bitmaps/preferences/preferences-system-windows.svg rename to src/fullcolor/preferences/preferences-system-windows.svg diff --git a/src/bitmaps/preferences/preferences-system.svg b/src/fullcolor/preferences/preferences-system.svg similarity index 100% rename from src/bitmaps/preferences/preferences-system.svg rename to src/fullcolor/preferences/preferences-system.svg diff --git a/src/bitmaps/render-bitmaps.py b/src/fullcolor/render-fullcolor.py similarity index 85% rename from src/bitmaps/render-bitmaps.py rename to src/fullcolor/render-fullcolor.py index 719c8ea2c1..8801cff26f 100755 --- a/src/bitmaps/render-bitmaps.py +++ b/src/fullcolor/render-fullcolor.py @@ -30,9 +30,9 @@ INKSCAPE = Path('/usr/bin/inkscape') SCOUR = Path('/usr/bin/scour') -HAS_SCOUR = SCOUR.exists() +HAS_SCOUR = os.path.exists(SCOUR) SVGO = Path('/usr/local/bin/svgo') -HAS_SVGO = SVGO.exists() +HAS_SVGO = os.path.exists(SVGO) MAINDIR = Path('../../Pop') SVGO_CONFIG = MAINDIR / '..' / 'svgo.config.js' CLI_OUTPUT=subprocess.DEVNULL @@ -87,8 +87,8 @@ def inkscape_render_rect(icon_file, rect, dpi, icon_name, size, output_file): '-o', f'{output_file}' # export-filename ] - print(f'Rendering {output_file} from {icon_file}') if CLI_OUTPUT == None: + print(f'Rendering {output_file} from {icon_file}') print(f'Running {cmd1}') print(f'Running {cmd2}') @@ -113,8 +113,8 @@ def scour_clean_svg(icon_file): '--shorten-ids', '--indent=none' ] - print(f'Cleaning up {out_file}') if CLI_OUTPUT == None: + print(f'Cleaning up {out_file}') print(f'Running {cmd}') try: if in_file.exists(): @@ -131,8 +131,9 @@ def svgo_optimize_svgs(icon_file): f'--input={icon_file}', f'--output={icon_file}', ] - print(f'Optimizing {icon_file}') + if CLI_OUTPUT == None: + print(f'Optimizing {icon_file}') print(f'Running {cmd}') try: subprocess.run(cmd, check=True, stderr=CLI_OUTPUT, stdout=CLI_OUTPUT) @@ -213,7 +214,8 @@ def endElement(self, name): if self.filter is not None and not self.icon_name in self.filter: return - print (self.context, self.icon_name) + print(' **',self.context, self.icon_name) + sys.stdout.write(' ') for rect in self.rects: for dpi_factor in DPIS: width = rect['width'] @@ -225,19 +227,36 @@ def endElement(self, name): if dpi_factor != 1: size_str += "@%sx" % dpi_factor - dir = MAINDIR / size_str / self.context - outfile = dir / f'{self.icon_name}.svg' - if not dir.exists(): - dir.mkdir(parents=True) - if not outfile.exists(): + dir = os.path.join(MAINDIR, size_str, self.context) + outfile = os.path.join(dir, self.icon_name+'.svg') + if not os.path.exists(dir): + os.makedirs(dir) + # Do a time based check! + if self.force or not os.path.exists(outfile): inkscape_render_rect(self.path, id, dpi, self.icon_name, width, outfile) + sys.stdout.write('r') if HAS_SCOUR: scour_clean_svg(outfile) + sys.stdout.write('s') if HAS_SVGO: svgo_optimize_svgs(outfile) - sys.stdout.write('*') + sys.stdout.write('o') + sys.stdout.write('.') else: - sys.stdout.write('x') + stat_in = os.stat(self.path) + stat_out = os.stat(outfile) + if stat_in.st_mtime > stat_out.st_mtime: + inkscape_render_rect(self.path, id, dpi, self.icon_name, width, outfile) + sys.stdout.write('r') + if HAS_SCOUR: + scour_clean_svg(outfile) + sys.stdout.write('s') + if HAS_SVGO: + svgo_optimize_svgs(outfile) + sys.stdout.write('o') + sys.stdout.write('.') + else: + sys.stdout.write('-') sys.stdout.flush() sys.stdout.write('\n') sys.stdout.flush() @@ -250,7 +269,7 @@ def characters(self, chars): if not os.path.exists(MAINDIR): os.mkdir(MAINDIR) print ('') - print ('Rendering from SVGs in', SRC) + print (' ** Rendering from SVGs in', SRC) print ('') for file in os.listdir(SRC): if file[-4:] == '.svg': @@ -268,7 +287,7 @@ def characters(self, chars): # icon not in this directory, try the next one pass -parser = argparse.ArgumentParser(description='Render source icons out to final icons') +parser = argparse.ArgumentParser(description='Render icons from SVG to PNG') parser.add_argument('svg', type=str, nargs='?', metavar='SVG', help="Optional SVG names (without extensions) to render. If not given, render all icons") diff --git a/src/bitmaps/status/bluetooth-status.svg b/src/fullcolor/status/bluetooth-status.svg similarity index 100% rename from src/bitmaps/status/bluetooth-status.svg rename to src/fullcolor/status/bluetooth-status.svg diff --git a/src/bitmaps/status/changes.svg b/src/fullcolor/status/changes.svg similarity index 100% rename from src/bitmaps/status/changes.svg rename to src/fullcolor/status/changes.svg diff --git a/src/bitmaps/status/dialog-error.svg b/src/fullcolor/status/dialog-error.svg similarity index 100% rename from src/bitmaps/status/dialog-error.svg rename to src/fullcolor/status/dialog-error.svg diff --git a/src/bitmaps/status/dialog-information.svg b/src/fullcolor/status/dialog-information.svg similarity index 100% rename from src/bitmaps/status/dialog-information.svg rename to src/fullcolor/status/dialog-information.svg diff --git a/src/bitmaps/status/dialog-password.svg b/src/fullcolor/status/dialog-password.svg similarity index 100% rename from src/bitmaps/status/dialog-password.svg rename to src/fullcolor/status/dialog-password.svg diff --git a/src/bitmaps/status/dialog-question.svg b/src/fullcolor/status/dialog-question.svg similarity index 100% rename from src/bitmaps/status/dialog-question.svg rename to src/fullcolor/status/dialog-question.svg diff --git a/src/bitmaps/status/dialog-warning.svg b/src/fullcolor/status/dialog-warning.svg similarity index 100% rename from src/bitmaps/status/dialog-warning.svg rename to src/fullcolor/status/dialog-warning.svg diff --git a/src/bitmaps/status/networks.svg b/src/fullcolor/status/networks.svg similarity index 100% rename from src/bitmaps/status/networks.svg rename to src/fullcolor/status/networks.svg diff --git a/src/panel/README.md b/src/panel/README.md deleted file mode 100644 index 6559a3a1db..0000000000 --- a/src/panel/README.md +++ /dev/null @@ -1,14 +0,0 @@ -## Panel Icons Source - - - To add or modify the panel icons, edit source SVG file found in this directory - - For simplified development, has various scripts to extract or render icons from the larger SVG source files. - - To edit the icons you will need `inkscape` and you'll need `ruby` installed to run the render script. - -**[light](./light) & [dark](./dark) - the folders that contains all of the panel icon sources** - - each layer of the source files corresponds to a icon `context` and the icons are sorted accordingly - - each icon should be drawn within an square corresponding to the panel icon szie and use only 1 colour - - when complete, group all element of an icon within a rectangle of the panel icon size (with no fill or stroke) and label that group with the `icon-name` - -**[extract-panel-icons.rb](./extract-panel-icons.rb) - the render script** - - extract any new panel icons from the source SVG by passing the icon name to this script: `./extract-panel-icons.rb ` - - or, if run generally, this script will look through the entire source file to render any new icons (if a new icon does not have a correct label the script will fail) \ No newline at end of file diff --git a/src/panel/dark/source-panel-16.svg b/src/panel/dark/source-panel-16.svg deleted file mode 100644 index afb9f98c25..0000000000 --- a/src/panel/dark/source-panel-16.svg +++ /dev/null @@ -1,173 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - panel - - diff --git a/src/panel/dark/source-panel-22.svg b/src/panel/dark/source-panel-22.svg deleted file mode 100644 index 8fa1d20d96..0000000000 --- a/src/panel/dark/source-panel-22.svg +++ /dev/null @@ -1,6924 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - panel - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - indicator-keyboard - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - apps - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - animations - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/panel/dark/source-panel-24.svg b/src/panel/dark/source-panel-24.svg deleted file mode 100644 index 7d219d2dda..0000000000 --- a/src/panel/dark/source-panel-24.svg +++ /dev/null @@ -1,6928 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - panel - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - indicator-keyboard - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - apps - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - animations - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/panel/extract-dark-panel-icons.rb b/src/panel/extract-dark-panel-icons.rb deleted file mode 100644 index a2492c8c49..0000000000 --- a/src/panel/extract-dark-panel-icons.rb +++ /dev/null @@ -1,180 +0,0 @@ -#!/usr/bin/env ruby -# -# Legal Stuff: -# -# This file is part of the Pop Icon Theme and is free software; you can redistribute it and/or modify it under -# the terms of the GNU Lesser General Public License as published by the Free Software -# Foundation; version 3. -# -# This file is part of the Pop Icon Theme and is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more -# details. -# -# You should have received a copy of the GNU General Public License along with -# this program; if not, see -# -# -# Thanks to the GNOME icon developers for the original version of this script - -require "rexml/document" -require "fileutils" -include REXML - -INKSCAPE = '/usr/bin/inkscape' -#INKSCAPE = '/usr/bin/inkscape' # like this works for me, while using `which` inkscape hangs - -# Render 24x24 pixel panel icons -SRC24 = "panel-dark/source-panel-24.svg" -PREFIX24 = "../Pop-Mono-Dark/24x24" - - -def chopSVG(icon) - FileUtils.mkdir_p(icon[:dir]) unless File.exists?(icon[:dir]) - unless (File.exists?(icon[:file]) && !icon[:forcerender]) - FileUtils.cp(SRC24,icon[:file]) - puts " >> #{icon[:name]}" - cmd = "#{INKSCAPE} -f #{icon[:file]} --select #{icon[:id]} --verb=FitCanvasToSelection --verb=EditInvertInAllLayers " - cmd += "--verb=EditDelete --verb=EditSelectAll --verb=SelectionUnGroup --verb=SelectionUnGroup --verb=SelectionUnGroup --verb=StrokeToPath --verb=FileVacuum " - cmd += "--verb=FileSave --verb=FileQuit > /dev/null 2>&1" - system(cmd) - #saving as plain SVG gets rid of the classes :/ - #cmd = "#{INKSCAPE} -f #{icon[:file]} -z --vacuum-defs -l #{icon[:file]} > /dev/null 2>&1" - #system(cmd) - svgcrop = Document.new(File.new(icon[:file], 'r')) - svgcrop.root.each_element("//rect") do |rect| - w = ((rect.attributes["width"].to_f * 10).round / 10.0).to_i #get rid of 24 vs 23.99999 - h = ((rect.attributes["width"].to_f * 10).round / 10.0).to_i #Inkscape bugs - if w == 24 && h == 24 - rect.remove - end - end - icon_f = File.new(icon[:file],'w+') - icon_f.puts svgcrop - icon_f.close - else - puts " -- #{icon[:name]} already exists" - end -end #end of function - -def get_output_filename(d,n) - if (/rtl$/.match(n)) - outfile = "#{d}/#{n.chomp('-rtl')}-rtl.svg" - else - outfile = "#{d}/#{n}.svg" - end - return outfile -end - -#main -# Open SVG file. -svg = Document.new(File.new(SRC24, 'r')) - -if (ARGV[0].nil?) #render all SVGs - puts "Rendering from icons in #{SRC24}" - # Go through every layer. - svg.root.each_element("/svg/g[@inkscape:groupmode='layer']") do |context| - context_name = context.attributes.get_attribute("inkscape:label").value - puts "Going through layer '" + context_name + "'" - context.each_element("g") do |icon| - #puts "DEBUG #{icon.attributes.get_attribute('id')}" - dir = "#{PREFIX24}/#{context_name}" - icon_name = icon.attributes.get_attribute("inkscape:label").value - chopSVG({ :name => icon_name, - :id => icon.attributes.get_attribute("id"), - :dir => dir, - :file => get_output_filename(dir, icon_name)}) - end - end - puts "\nrendered all SVGs" -else #only render the icons passed - icons = ARGV - ARGV.each do |icon_name| - icon = svg.root.elements["//g[@inkscape:label='#{icon_name}']"] - dir = "#{PREFIX24}/#{icon.parent.attributes['inkscape:label']}" - chopSVG({ :name => icon_name, - :id => icon.attributes["id"], - :dir => dir, - :file => get_output_filename(dir, icon_name), - :forcerender => true}) - end - puts "\nrendered #{ARGV.length} icons" -end - - -# Render 22x22 pixel panel icons -SRC22 = "panel-dark/source-panel-22.svg" -PREFIX22 = "../Pop-Mono-Dark/22x22" - - -def chopSVG(icon) - FileUtils.mkdir_p(icon[:dir]) unless File.exists?(icon[:dir]) - unless (File.exists?(icon[:file]) && !icon[:forcerender]) - FileUtils.cp(SRC22,icon[:file]) - puts " >> #{icon[:name]}" - cmd = "#{INKSCAPE} -f #{icon[:file]} --select #{icon[:id]} --verb=FitCanvasToSelection --verb=EditInvertInAllLayers " - cmd += "--verb=EditDelete --verb=EditSelectAll --verb=SelectionUnGroup --verb=SelectionUnGroup --verb=SelectionUnGroup --verb=StrokeToPath --verb=FileVacuum " - cmd += "--verb=FileSave --verb=FileQuit > /dev/null 2>&1" - system(cmd) - #saving as plain SVG gets rid of the classes :/ - #cmd = "#{INKSCAPE} -f #{icon[:file]} -z --vacuum-defs -l #{icon[:file]} > /dev/null 2>&1" - #system(cmd) - svgcrop = Document.new(File.new(icon[:file], 'r')) - svgcrop.root.each_element("//rect") do |rect| - w = ((rect.attributes["width"].to_f * 10).round / 10.0).to_i #get rid of 24 vs 23.99999 - h = ((rect.attributes["width"].to_f * 10).round / 10.0).to_i #Inkscape bugs - if w == 24 && h == 24 - rect.remove - end - end - icon_f = File.new(icon[:file],'w+') - icon_f.puts svgcrop - icon_f.close - else - puts " -- #{icon[:name]} already exists" - end -end #end of function - -def get_output_filename(d,n) - if (/rtl$/.match(n)) - outfile = "#{d}/#{n.chomp('-rtl')}-rtl.svg" - else - outfile = "#{d}/#{n}.svg" - end - return outfile -end - -#main -# Open SVG file. -svg = Document.new(File.new(SRC22, 'r')) - -if (ARGV[0].nil?) #render all SVGs - puts "Rendering from icons in #{SRC22}" - # Go through every layer. - svg.root.each_element("/svg/g[@inkscape:groupmode='layer']") do |context| - context_name = context.attributes.get_attribute("inkscape:label").value - puts "Going through layer '" + context_name + "'" - context.each_element("g") do |icon| - #puts "DEBUG #{icon.attributes.get_attribute('id')}" - dir = "#{PREFIX22}/#{context_name}" - icon_name = icon.attributes.get_attribute("inkscape:label").value - chopSVG({ :name => icon_name, - :id => icon.attributes.get_attribute("id"), - :dir => dir, - :file => get_output_filename(dir, icon_name)}) - end - end - puts "\nrendered all SVGs" -else #only render the icons passed - icons = ARGV - ARGV.each do |icon_name| - icon = svg.root.elements["//g[@inkscape:label='#{icon_name}']"] - dir = "#{PREFIX22}/#{icon.parent.attributes['inkscape:label']}" - chopSVG({ :name => icon_name, - :id => icon.attributes["id"], - :dir => dir, - :file => get_output_filename(dir, icon_name), - :forcerender => true}) - end - puts "\nrendered #{ARGV.length} icons" -end \ No newline at end of file diff --git a/src/panel/extract-panel-icons.rb b/src/panel/extract-panel-icons.rb deleted file mode 100644 index 624304a1b6..0000000000 --- a/src/panel/extract-panel-icons.rb +++ /dev/null @@ -1,119 +0,0 @@ -#!/usr/bin/env ruby -# -# Legal Stuff: -# -# This file is free software; you can redistribute it and/or modify it under -# the terms of the GNU Lesser General Public License as published by the Free Software -# Foundation; version 3. -# -# This file is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more -# details. -# -# You should have received a copy of the GNU General Public License along with -# this program; if not, see -# -# -# Thanks to the GNOME icon developers for the original version of this script - - -require "rexml/document" -require "fileutils" -include REXML - -# INKSCAPE = 'flatpak run org.inkscape.Inkscape' -INKSCAPE = '/usr/bin/inkscape' -THEME= "Pop" -SIZES = ["16", "22", "24"] -COLORS = ["light", "dark"] - -# install with `sudo npm install -g svgo` -SVGO = '/usr/local/bin/svgo' - -def chopSVG(icon) - FileUtils.mkdir_p(icon[:dir]) unless File.exists?(icon[:dir]) - unless (File.exists?(icon[:file]) && !icon[:forcerender]) - FileUtils.cp(SRC,icon[:file]) - puts " >> #{icon[:name]}" - cmd = "#{INKSCAPE} -f #{icon[:file]} --select #{icon[:id]} --verb=FitCanvasToSelection --verb=EditInvertInAllLayers " - cmd += "--verb=EditDelete --verb=EditSelectAll --verb=SelectionUnGroup --verb=SelectionUnGroup --verb=SelectionUnGroup --verb=StrokeToPath --verb=FileVacuum " - cmd += "--verb=FileSave --verb=FileQuit > /dev/null 2>&1" - system(cmd) - #saving as plain SVG gets rid of the classes :/ - cmd = "#{INKSCAPE} --vacuum-defs -z #{icon[:file]} --export-plain-svg=#{icon[:file]} > /dev/null 2>&1" - system(cmd) - #completely vaccuum with svgo - cmd = "#{SVGO} --pretty --disable=convertShapeToPath -i #{icon[:file]} -o #{icon[:file]} > /dev/null 2>&1" - system(cmd) - # crop - svgcrop = Document.new(File.new(icon[:file], 'r')) - svgcrop.root.each_element("//rect") do |rect| - w = ((rect.attributes["width"].to_f * 10).round / 10.0).to_i #get rid of 16 vs 15.99999 - h = ((rect.attributes["width"].to_f * 10).round / 10.0).to_i #Inkscape bugs - if w == 16 && h == 16 - rect.remove - end - end - icon_f = File.new(icon[:file],'w+') - icon_f.puts svgcrop - icon_f.close - else - puts " -- #{icon[:name]} already exists" - end -end #end of function - -def get_output_filename(d,n) - if (/rtl$/.match(n)) - outfile = "#{d}/#{n.chomp('-rtl')}-rtl.svg" - else - outfile = "#{d}/#{n}.svg" - end - return outfile -end - -## DO IT -for COLOR in COLORS - for SIZE in SIZES - SRC="./#{COLOR}/source-panel-#{SIZE}.svg" - PREFIX="../../#{THEME}/#{SIZE}x#{SIZE}" - - svg = Document.new(File.new(SRC, 'r')) - - if (ARGV[0].nil?) #render all SVGs - puts "Rendering from icons in #{SRC}" - # Go through every layer. - svg.root.each_element("/svg/g[@inkscape:groupmode='layer']") do |context| - context_name = context.attributes.get_attribute("inkscape:label").value - puts "Going through layer '" + context_name + "'" - context.each_element("g") do |icon| - #puts "DEBUG #{icon.attributes.get_attribute('id')}" - dir = "#{PREFIX}/#{context_name}" - icon_name = icon.attributes.get_attribute("inkscape:label").value - if icon_name.end_with?("-alt") - puts " >> skipping icon '" + icon_name + "'" - else - chopSVG({ :name => icon_name, - :id => icon.attributes.get_attribute("id"), - :dir => dir, - :file => get_output_filename(dir, icon_name)}) - end - end - end - puts "\nrendered all SVGs" - else #only render the icons passed - icons = ARGV - ARGV.each do |icon_name| - icon = svg.root.elements["//g[@inkscape:label='#{icon_name}']"] - dir = "#{PREFIX}/#{icon.parent.attributes['inkscape:label']}" - chopSVG({ :name => icon_name, - :id => icon.attributes["id"], - :dir => dir, - :file => get_output_filename(dir, icon_name), - :forcerender => true}) - end - puts "\nrendered #{ARGV.length} icons" - end - end -end -#EOF \ No newline at end of file diff --git a/src/panel/light/source-panel-16.svg b/src/panel/light/source-panel-16.svg deleted file mode 100644 index 3676c9a28d..0000000000 --- a/src/panel/light/source-panel-16.svg +++ /dev/null @@ -1,3300 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - panel - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/panel/light/source-panel-22.svg b/src/panel/light/source-panel-22.svg deleted file mode 100644 index be9f91aac9..0000000000 --- a/src/panel/light/source-panel-22.svg +++ /dev/null @@ -1,6928 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - panel - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - indicator-keyboard - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - apps - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - animations - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/panel/light/source-panel-24.svg b/src/panel/light/source-panel-24.svg deleted file mode 100644 index 00e2feeb0d..0000000000 --- a/src/panel/light/source-panel-24.svg +++ /dev/null @@ -1,6932 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - panel - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - indicator-keyboard - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - apps - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - animations - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/scalable/README.md b/src/scalable/README.md index ffd7c915a6..38aa95237c 100644 --- a/src/scalable/README.md +++ b/src/scalable/README.md @@ -5,10 +5,11 @@ - To edit the icons you will need `inkscape` and you'll need `ruby` installed to run the render script. **[source-symbolic.svg](./source-symbolic.svg) - the source files that contains all of the symbolic icons** - - each layer in this source file corresponds to a icon `context` and the icons are sorted accordingly - - each icon should be drawn within an 16x16 pixel square and use only 1 colour - - when complete, group all elements within a 16x16 rectangle (with no fill or stroke) and label that group with the `icon-name` + - Each layer in this source file corresponds to a icon `context` and the icons are sorted accordingly + - Each icon should be drawn within an 16x16 pixel square and use only 1 colour + - When complete, group all elements within a 16x16 rectangle (with no stroke and #888888 fill at 1% opacity for later modification) and label that group with the `icon-name` (less the `-symbolic` suffix). **[extract-symbolic-icons.rb](./extract-symbolic-icons.rb) - the render script** - - extract any new symbolic icons from the source SVG by passing the icon name to this script: `./extract-symbolic-icons.rb ` - - or, if run generally, this script will look through the entire source file to render any new icons (if a new icon does not have a correct label the script will fail) \ No newline at end of file + - The recommended way to render modified icons is to delete the output file and re-render using the [`master-render.py`](../../master-render.py) script. Alternatively: + - Extract any new symbolic icons from the source SVG by passing the icon name to this script: `./extract-symbolic-icons.rb ` + - Or, if run generally, this script will look through the entire source file to render any new icons (if a new icon does not have a correct label the script will fail) \ No newline at end of file diff --git a/src/symlinks/README.md b/src/symlinks/README.md index 890f7473a3..bf519fb5a3 100644 --- a/src/symlinks/README.md +++ b/src/symlinks/README.md @@ -2,9 +2,10 @@ To save on space many icons are just symbolic links to generic icons and, to keep track of all links, sets of lists are maintained that corresponds to a icon `context` for both the bitmap, symbolic and panel icons set. +Symbolic link definitions are separated out into `fullcolor` for the full-color icons, and `scalable` for the symbolic icons. Each directory contains a `.list` file for each icon category. Each line in a `.list` file defines exactly one output symlink. The format for each line is `link-target link-name` similar to the `ln` command. + To generate symlinks icons you will only need the provided script, but to clear broken symlinks you'll need `symlinks` installed. - - [bitmaps](./bitmaps) - the list files for bitmap icon links + - [fullcolor](./fullcolor) - the list files for bitmap icon links - [scalable](./scalable) - the list files for scalable icon links - - [panel](./panel) - the list files for panel icon links - [generate-symlinks.sh](./generate-symlinks.sh) - the generation script \ No newline at end of file diff --git a/src/symlinks/bitmaps/actions.list b/src/symlinks/fullcolor/actions.list similarity index 100% rename from src/symlinks/bitmaps/actions.list rename to src/symlinks/fullcolor/actions.list diff --git a/src/symlinks/bitmaps/animations.list b/src/symlinks/fullcolor/animations.list similarity index 100% rename from src/symlinks/bitmaps/animations.list rename to src/symlinks/fullcolor/animations.list diff --git a/src/symlinks/bitmaps/apps.list b/src/symlinks/fullcolor/apps.list similarity index 100% rename from src/symlinks/bitmaps/apps.list rename to src/symlinks/fullcolor/apps.list diff --git a/src/symlinks/bitmaps/categories.list b/src/symlinks/fullcolor/categories.list similarity index 100% rename from src/symlinks/bitmaps/categories.list rename to src/symlinks/fullcolor/categories.list diff --git a/src/symlinks/bitmaps/devices.list b/src/symlinks/fullcolor/devices.list similarity index 100% rename from src/symlinks/bitmaps/devices.list rename to src/symlinks/fullcolor/devices.list diff --git a/src/symlinks/bitmaps/emblems.list b/src/symlinks/fullcolor/emblems.list similarity index 100% rename from src/symlinks/bitmaps/emblems.list rename to src/symlinks/fullcolor/emblems.list diff --git a/src/symlinks/bitmaps/mimetypes.list b/src/symlinks/fullcolor/mimetypes.list similarity index 100% rename from src/symlinks/bitmaps/mimetypes.list rename to src/symlinks/fullcolor/mimetypes.list diff --git a/src/symlinks/bitmaps/notifications.list b/src/symlinks/fullcolor/notifications.list similarity index 100% rename from src/symlinks/bitmaps/notifications.list rename to src/symlinks/fullcolor/notifications.list diff --git a/src/symlinks/bitmaps/places.list b/src/symlinks/fullcolor/places.list similarity index 100% rename from src/symlinks/bitmaps/places.list rename to src/symlinks/fullcolor/places.list diff --git a/src/symlinks/bitmaps/status.list b/src/symlinks/fullcolor/status.list similarity index 100% rename from src/symlinks/bitmaps/status.list rename to src/symlinks/fullcolor/status.list diff --git a/src/symlinks/bitmaps/web.list b/src/symlinks/fullcolor/web.list similarity index 100% rename from src/symlinks/bitmaps/web.list rename to src/symlinks/fullcolor/web.list diff --git a/src/symlinks/generate-symlinks.sh b/src/symlinks/generate-symlinks.sh index 5a588cf486..af47459322 100755 --- a/src/symlinks/generate-symlinks.sh +++ b/src/symlinks/generate-symlinks.sh @@ -29,7 +29,7 @@ SIZES=("8x8" "16x16" "24x24" "32x32" "48x48" "64x64" "128x128" "256x256" "512x51 SCALES=('@2x') # Fullcolor icons -echo "Generating links for bitmap icons..." +echo "Generating links for full-color icons..." # contexts for loop for CONTEXT in "${CONTEXTS[@]}" do @@ -37,7 +37,7 @@ do # Sizes Loop for SIZE in "${SIZES[@]}" do - LIST="$DIR/bitmaps/$CONTEXT.list" + LIST="$DIR/fullcolor/$CONTEXT.list" # Check if directory exists if [ -d "$DIR/../../$THEME/$SIZE/$CONTEXT" ]; then echo " -- linking "$SIZE"/"$CONTEXT @@ -77,39 +77,6 @@ do done echo "Done." -# Symbolic icons -echo "Generating links for panel icons..." -# contexts for loop -PANELDIRS=("animations", "indicator-keyboard") -PANELSIZES=("22x22", "24x24") -PANELTHEMES=("Pop", "Pop-Mono-Dark") -for CONTEXT in "${PANELDIRS[@]}" -do - echo " -- "$CONTEXT - # Sizes Loop - for SIZE in "${PANELSIZES[@]}" - do - # Get list file - LIST="$DIR/panel/$CONTEXT.list" - # for both panel themes - for VAR in "${PANELTHEMES[@]}" - do - # Check if directory exists - if [ -d "$DIR/../../$VAR/$SIZE/$CONTEXT" ]; then - cd $DIR/../../$VAR/$SIZE/$CONTEXT - while read line; - do - ln -sf $line - done < $LIST - cd $DIR/../../$VAR - else - echo " ** skipping panel/"$CONTEXT - fi - done - done -done -echo "Done." - # # HiDPI # for SCALE in "${SCALES[@]}" diff --git a/src/symlinks/panel/indicator-keyboard.list b/src/symlinks/panel/indicator-keyboard.list deleted file mode 100644 index f0fac7f823..0000000000 --- a/src/symlinks/panel/indicator-keyboard.list +++ /dev/null @@ -1,472 +0,0 @@ -indicator-keyboard-Ar.svg indicator-keyboard-Ar-1.svg -indicator-keyboard-Ar.svg indicator-keyboard-Ar-2.svg -indicator-keyboard-Ar.svg indicator-keyboard-Ar-3.svg -indicator-keyboard-Ar.svg indicator-keyboard-Ar-4.svg -indicator-keyboard-Ar.svg indicator-keyboard-Ar-5.svg -indicator-keyboard-Ar.svg indicator-keyboard-Ar-6.svg -indicator-keyboard-Ar.svg indicator-keyboard-Ar-7.svg -indicator-keyboard-Ar.svg indicator-keyboard-Ar-8.svg -indicator-keyboard-Ar.svg indicator-keyboard-Ar-9.svg -indicator-keyboard-Ar.svg indicator-keyboard-Ar-10.svg -indicator-keyboard-Ar.svg indicator-keyboard-Ar-11.svg -indicator-keyboard-Az.svg indicator-keyboard-Az-1.svg -indicator-keyboard-Az.svg indicator-keyboard-Az-2.svg -indicator-keyboard-Be.svg indicator-keyboard-Be-1.svg -indicator-keyboard-Be.svg indicator-keyboard-Be-2.svg -indicator-keyboard-Be.svg indicator-keyboard-Be-3.svg -indicator-keyboard-Be.svg indicator-keyboard-Be-4.svg -indicator-keyboard-Be.svg indicator-keyboard-Be-5.svg -indicator-keyboard-Be.svg indicator-keyboard-Be-6.svg -indicator-keyboard-Be.svg indicator-keyboard-Be-7.svg -indicator-keyboard-Be.svg indicator-keyboard-Be-8.svg -indicator-keyboard-Be.svg indicator-keyboard-Be-9.svg -indicator-keyboard-Be.svg indicator-keyboard-Be-10.svg -indicator-keyboard-Be.svg indicator-keyboard-Be-11.svg -indicator-keyboard-Be.svg indicator-keyboard-Be-12.svg -indicator-keyboard-Be.svg indicator-keyboard-Be-13.svg -indicator-keyboard-Be.svg indicator-keyboard-Be-14.svg -indicator-keyboard-Bg.svg indicator-keyboard-Bg-1.svg -indicator-keyboard-Bg.svg indicator-keyboard-Bg-2.svg -indicator-keyboard-Bg.svg indicator-keyboard-Bg-3.svg -indicator-keyboard-Bn.svg indicator-keyboard-Bn-1.svg -indicator-keyboard-Bn.svg indicator-keyboard-Bn-2.svg -indicator-keyboard-Bn.svg indicator-keyboard-Bn-3.svg -indicator-keyboard-Bn.svg indicator-keyboard-Bn-4.svg -indicator-keyboard-Br.svg indicator-keyboard-Br-1.svg -indicator-keyboard-Br.svg indicator-keyboard-Br-2.svg -indicator-keyboard-Br.svg indicator-keyboard-Br-3.svg -indicator-keyboard-Bs.svg indicator-keyboard-Bs-1.svg -indicator-keyboard-Bs.svg indicator-keyboard-Bs-2.svg -indicator-keyboard-Bs.svg indicator-keyboard-Bs-3.svg -indicator-keyboard-Bs.svg indicator-keyboard-Bs-4.svg -indicator-keyboard-Bs.svg indicator-keyboard-Bs-5.svg -indicator-keyboard-By.svg indicator-keyboard-By-1.svg -indicator-keyboard-By.svg indicator-keyboard-By-2.svg -indicator-keyboard-By.svg indicator-keyboard-By-3.svg -indicator-keyboard-Cm.svg indicator-keyboard-Cm-1.svg -indicator-keyboard-Cm.svg indicator-keyboard-Cm-2.svg -indicator-keyboard-Cm.svg indicator-keyboard-Cm-3.svg -indicator-keyboard-Cm.svg indicator-keyboard-Cm-4.svg -indicator-keyboard-Cm.svg indicator-keyboard-Cm-5.svg -indicator-keyboard-Cr.svg indicator-keyboard-Cr-1.svg -indicator-keyboard-Cr.svg indicator-keyboard-Cr-2.svg -indicator-keyboard-Cr.svg indicator-keyboard-Cr-3.svg -indicator-keyboard-Cs.svg indicator-keyboard-Cs-1.svg -indicator-keyboard-Cs.svg indicator-keyboard-Cs-2.svg -indicator-keyboard-Cs.svg indicator-keyboard-Cs-3.svg -indicator-keyboard-Cs.svg indicator-keyboard-Cs-4.svg -indicator-keyboard-Cs.svg indicator-keyboard-Cs-5.svg -indicator-keyboard-Cs.svg indicator-keyboard-Cs-6.svg -indicator-keyboard-Da.svg indicator-keyboard-Da-1.svg -indicator-keyboard-Da.svg indicator-keyboard-Da-2.svg -indicator-keyboard-Da.svg indicator-keyboard-Da-3.svg -indicator-keyboard-Da.svg indicator-keyboard-Da-4.svg -indicator-keyboard-Da.svg indicator-keyboard-Da-5.svg -indicator-keyboard-De.svg indicator-keyboard-De-1.svg -indicator-keyboard-De.svg indicator-keyboard-De-2.svg -indicator-keyboard-De.svg indicator-keyboard-De-3.svg -indicator-keyboard-De.svg indicator-keyboard-De-4.svg -indicator-keyboard-De.svg indicator-keyboard-De-5.svg -indicator-keyboard-De.svg indicator-keyboard-De-6.svg -indicator-keyboard-De.svg indicator-keyboard-De-7.svg -indicator-keyboard-De.svg indicator-keyboard-De-8.svg -indicator-keyboard-De.svg indicator-keyboard-De-9.svg -indicator-keyboard-De.svg indicator-keyboard-De-10.svg -indicator-keyboard-De.svg indicator-keyboard-De-11.svg -indicator-keyboard-De.svg indicator-keyboard-De-12.svg -indicator-keyboard-De.svg indicator-keyboard-De-13.svg -indicator-keyboard-De.svg indicator-keyboard-De-14.svg -indicator-keyboard-De.svg indicator-keyboard-De-15.svg -indicator-keyboard-De.svg indicator-keyboard-De-16.svg -indicator-keyboard-De.svg indicator-keyboard-De-17.svg -indicator-keyboard-De.svg indicator-keyboard-De-18.svg -indicator-keyboard-De.svg indicator-keyboard-De-19.svg -indicator-keyboard-De.svg indicator-keyboard-De-20.svg -indicator-keyboard-De.svg indicator-keyboard-De-21.svg -indicator-keyboard-De.svg indicator-keyboard-De-22.svg -indicator-keyboard-De.svg indicator-keyboard-De-23.svg -indicator-keyboard-De.svg indicator-keyboard-De-24.svg -indicator-keyboard-De.svg indicator-keyboard-De-25.svg -indicator-keyboard-En.svg indicator-keyboard-En-1.svg -indicator-keyboard-En.svg indicator-keyboard-En-2.svg -indicator-keyboard-En.svg indicator-keyboard-En-3.svg -indicator-keyboard-En.svg indicator-keyboard-En-4.svg -indicator-keyboard-En.svg indicator-keyboard-En-5.svg -indicator-keyboard-En.svg indicator-keyboard-En-6.svg -indicator-keyboard-En.svg indicator-keyboard-En-7.svg -indicator-keyboard-En.svg indicator-keyboard-En-8.svg -indicator-keyboard-En.svg indicator-keyboard-En-9.svg -indicator-keyboard-En.svg indicator-keyboard-En-10.svg -indicator-keyboard-En.svg indicator-keyboard-En-11.svg -indicator-keyboard-En.svg indicator-keyboard-En-12.svg -indicator-keyboard-En.svg indicator-keyboard-En-13.svg -indicator-keyboard-En.svg indicator-keyboard-En-14.svg -indicator-keyboard-En.svg indicator-keyboard-En-15.svg -indicator-keyboard-En.svg indicator-keyboard-En-16.svg -indicator-keyboard-En.svg indicator-keyboard-En-17.svg -indicator-keyboard-En.svg indicator-keyboard-En-18.svg -indicator-keyboard-En.svg indicator-keyboard-En-19.svg -indicator-keyboard-En.svg indicator-keyboard-En-20.svg -indicator-keyboard-En.svg indicator-keyboard-En-21.svg -indicator-keyboard-En.svg indicator-keyboard-En-22.svg -indicator-keyboard-En.svg indicator-keyboard-En-23.svg -indicator-keyboard-En.svg indicator-keyboard-En-24.svg -indicator-keyboard-En.svg indicator-keyboard-En-25.svg -indicator-keyboard-En.svg indicator-keyboard-En-26.svg -indicator-keyboard-En.svg indicator-keyboard-En-27.svg -indicator-keyboard-En.svg indicator-keyboard-En-28.svg -indicator-keyboard-En.svg indicator-keyboard-En-29.svg -indicator-keyboard-En.svg indicator-keyboard-En-30.svg -indicator-keyboard-En.svg indicator-keyboard-En-31.svg -indicator-keyboard-En.svg indicator-keyboard-En-32.svg -indicator-keyboard-En.svg indicator-keyboard-En-33.svg -indicator-keyboard-En.svg indicator-keyboard-En-34.svg -indicator-keyboard-En.svg indicator-keyboard-En-35.svg -indicator-keyboard-Eo.svg indicator-keyboard-Eo-1.svg -indicator-keyboard-Eo.svg indicator-keyboard-Eo-2.svg -indicator-keyboard-Es.svg indicator-keyboard-Es-1.svg -indicator-keyboard-Es.svg indicator-keyboard-Es-2.svg -indicator-keyboard-Es.svg indicator-keyboard-Es-3.svg -indicator-keyboard-Es.svg indicator-keyboard-Es-4.svg -indicator-keyboard-Es.svg indicator-keyboard-Es-5.svg -indicator-keyboard-Es.svg indicator-keyboard-Es-6.svg -indicator-keyboard-Es.svg indicator-keyboard-Es-7.svg -indicator-keyboard-Es.svg indicator-keyboard-Es-8.svg -indicator-keyboard-Es.svg indicator-keyboard-Es-9.svg -indicator-keyboard-Es.svg indicator-keyboard-Es-10.svg -indicator-keyboard-Es.svg indicator-keyboard-Es-11.svg -indicator-keyboard-Es.svg indicator-keyboard-Es-12.svg -indicator-keyboard-Et.svg indicator-keyboard-Et-1.svg -indicator-keyboard-Et.svg indicator-keyboard-Et-2.svg -indicator-keyboard-Et.svg indicator-keyboard-Et-3.svg -indicator-keyboard-Et.svg indicator-keyboard-Et-4.svg -indicator-keyboard-Fa.svg indicator-keyboard-Fa-1.svg -indicator-keyboard-Fa.svg indicator-keyboard-Fa-2.svg -indicator-keyboard-Fa.svg indicator-keyboard-Fa-3.svg -indicator-keyboard-Fa.svg indicator-keyboard-Fa-4.svg -indicator-keyboard-Fi.svg indicator-keyboard-Fi-1.svg -indicator-keyboard-Fi.svg indicator-keyboard-Fi-2.svg -indicator-keyboard-Fi.svg indicator-keyboard-Fi-3.svg -indicator-keyboard-Fi.svg indicator-keyboard-Fi-4.svg -indicator-keyboard-Fi.svg indicator-keyboard-Fi-5.svg -indicator-keyboard-Fo.svg indicator-keyboard-Fo-1.svg -indicator-keyboard-Fo.svg indicator-keyboard-Fo-2.svg -indicator-keyboard-Fr.svg indicator-keyboard-Fr-1.svg -indicator-keyboard-Fr.svg indicator-keyboard-Fr-2.svg -indicator-keyboard-Fr.svg indicator-keyboard-Fr-3.svg -indicator-keyboard-Fr.svg indicator-keyboard-Fr-4.svg -indicator-keyboard-Fr.svg indicator-keyboard-Fr-5.svg -indicator-keyboard-Fr.svg indicator-keyboard-Fr-6.svg -indicator-keyboard-Fr.svg indicator-keyboard-Fr-7.svg -indicator-keyboard-Fr.svg indicator-keyboard-Fr-8.svg -indicator-keyboard-Fr.svg indicator-keyboard-Fr-9.svg -indicator-keyboard-Fr.svg indicator-keyboard-Fr-10.svg -indicator-keyboard-Fr.svg indicator-keyboard-Fr-11.svg -indicator-keyboard-Fr.svg indicator-keyboard-Fr-12.svg -indicator-keyboard-Fr.svg indicator-keyboard-Fr-13.svg -indicator-keyboard-Fr.svg indicator-keyboard-Fr-14.svg -indicator-keyboard-Fr.svg indicator-keyboard-Fr-15.svg -indicator-keyboard-Fr.svg indicator-keyboard-Fr-16.svg -indicator-keyboard-Fr.svg indicator-keyboard-Fr-17.svg -indicator-keyboard-Fr.svg indicator-keyboard-Fr-18.svg -indicator-keyboard-Fr.svg indicator-keyboard-Fr-19.svg -indicator-keyboard-Fr.svg indicator-keyboard-Fr-20.svg -indicator-keyboard-Fr.svg indicator-keyboard-Fr-21.svg -indicator-keyboard-Fr.svg indicator-keyboard-Fr-22.svg -indicator-keyboard-Fr.svg indicator-keyboard-Fr-23.svg -indicator-keyboard-Fr.svg indicator-keyboard-Fr-24.svg -indicator-keyboard-Fr.svg indicator-keyboard-Fr-25.svg -indicator-keyboard-Fr.svg indicator-keyboard-Fr-26.svg -indicator-keyboard-Fr.svg indicator-keyboard-Fr-27.svg -indicator-keyboard-Fr.svg indicator-keyboard-Fr-28.svg -indicator-keyboard-Fr.svg indicator-keyboard-Fr-29.svg -indicator-keyboard-Fr.svg indicator-keyboard-Fr-30.svg -indicator-keyboard-Fr.svg indicator-keyboard-Fr-31.svg -indicator-keyboard-Ga.svg indicator-keyboard-Ga-1.svg -indicator-keyboard-Ga.svg indicator-keyboard-Ga-2.svg -indicator-keyboard-Gr.svg indicator-keyboard-Gr-1.svg -indicator-keyboard-Gr.svg indicator-keyboard-Gr-2.svg -indicator-keyboard-Gr.svg indicator-keyboard-Gr-3.svg -indicator-keyboard-Gr.svg indicator-keyboard-Gr-4.svg -indicator-keyboard-Gr.svg indicator-keyboard-Gr-5.svg -indicator-keyboard-Ha.svg indicator-keyboard-Ha-1.svg -indicator-keyboard-Ha.svg indicator-keyboard-Ha-2.svg -indicator-keyboard-He.svg indicator-keyboard-He-1.svg -indicator-keyboard-He.svg indicator-keyboard-He-2.svg -indicator-keyboard-He.svg indicator-keyboard-He-3.svg -indicator-keyboard-He.svg indicator-keyboard-He-4.svg -indicator-keyboard-Hi.svg indicator-keyboard-Hi-1.svg -indicator-keyboard-Hi.svg indicator-keyboard-Hi-2.svg -indicator-keyboard-Hi.svg indicator-keyboard-Hi-3.svg -indicator-keyboard-Hr.svg indicator-keyboard-Hr-1.svg -indicator-keyboard-Hr.svg indicator-keyboard-Hr-2.svg -indicator-keyboard-Hr.svg indicator-keyboard-Hr-3.svg -indicator-keyboard-Hr.svg indicator-keyboard-Hr-4.svg -indicator-keyboard-Hr.svg indicator-keyboard-Hr-5.svg -indicator-keyboard-Hu.svg indicator-keyboard-Hu-1.svg -indicator-keyboard-Hu.svg indicator-keyboard-Hu-2.svg -indicator-keyboard-Hu.svg indicator-keyboard-Hu-3.svg -indicator-keyboard-Hu.svg indicator-keyboard-Hu-4.svg -indicator-keyboard-Hu.svg indicator-keyboard-Hu-5.svg -indicator-keyboard-Hu.svg indicator-keyboard-Hu-6.svg -indicator-keyboard-Hu.svg indicator-keyboard-Hu-7.svg -indicator-keyboard-Hu.svg indicator-keyboard-Hu-8.svg -indicator-keyboard-Hu.svg indicator-keyboard-Hu-9.svg -indicator-keyboard-Hu.svg indicator-keyboard-Hu-10.svg -indicator-keyboard-Hu.svg indicator-keyboard-Hu-11.svg -indicator-keyboard-Hu.svg indicator-keyboard-Hu-12.svg -indicator-keyboard-Hu.svg indicator-keyboard-Hu-13.svg -indicator-keyboard-Hu.svg indicator-keyboard-Hu-14.svg -indicator-keyboard-Hu.svg indicator-keyboard-Hu-15.svg -indicator-keyboard-Hu.svg indicator-keyboard-Hu-16.svg -indicator-keyboard-Hu.svg indicator-keyboard-Hu-17.svg -indicator-keyboard-Hu.svg indicator-keyboard-Hu-18.svg -indicator-keyboard-Hu.svg indicator-keyboard-Hu-19.svg -indicator-keyboard-Hu.svg indicator-keyboard-Hu-20.svg -indicator-keyboard-Hy.svg indicator-keyboard-Hy-1.svg -indicator-keyboard-Hy.svg indicator-keyboard-Hy-2.svg -indicator-keyboard-Hy.svg indicator-keyboard-Hy-3.svg -indicator-keyboard-Hy.svg indicator-keyboard-Hy-4.svg -indicator-keyboard-Hy.svg indicator-keyboard-Hy-5.svg -indicator-keyboard-Hy.svg indicator-keyboard-Hy-6.svg -indicator-keyboard-Ie.svg indicator-keyboard-Ie-1.svg -indicator-keyboard-Ie.svg indicator-keyboard-Ie-2.svg -indicator-keyboard-Ie.svg indicator-keyboard-Ie-3.svg -indicator-keyboard-Ie.svg indicator-keyboard-Ie-4.svg -indicator-keyboard-Ie.svg indicator-keyboard-Ie-5.svg -indicator-keyboard-In.svg indicator-keyboard-In-1.svg -indicator-keyboard-In.svg indicator-keyboard-In-2.svg -indicator-keyboard-In.svg indicator-keyboard-In-3.svg -indicator-keyboard-In.svg indicator-keyboard-In-4.svg -indicator-keyboard-In.svg indicator-keyboard-In-5.svg -indicator-keyboard-Is.svg indicator-keyboard-Is-1.svg -indicator-keyboard-Is.svg indicator-keyboard-Is-2.svg -indicator-keyboard-Is.svg indicator-keyboard-Is-3.svg -indicator-keyboard-Is.svg indicator-keyboard-Is-4.svg -indicator-keyboard-Is.svg indicator-keyboard-Is-5.svg -indicator-keyboard-It.svg indicator-keyboard-It-1.svg -indicator-keyboard-It.svg indicator-keyboard-It-2.svg -indicator-keyboard-It.svg indicator-keyboard-It-3.svg -indicator-keyboard-It.svg indicator-keyboard-It-4.svg -indicator-keyboard-It.svg indicator-keyboard-It-5.svg -indicator-keyboard-It.svg indicator-keyboard-It-6.svg -indicator-keyboard-Ja.svg indicator-keyboard-Ja-1.svg -indicator-keyboard-Ja.svg indicator-keyboard-Ja-2.svg -indicator-keyboard-Ja.svg indicator-keyboard-Ja-3.svg -indicator-keyboard-Ja.svg indicator-keyboard-Ja-4.svg -indicator-keyboard-Ja.svg indicator-keyboard-Ja-5.svg -indicator-keyboard-Ja.svg indicator-keyboard-Ja-6.svg -indicator-keyboard-Ja.svg indicator-keyboard-Ja-7.svg -indicator-keyboard-Ka.svg indicator-keyboard-Ka-1.svg -indicator-keyboard-Ka.svg indicator-keyboard-Ka-2.svg -indicator-keyboard-Ka.svg indicator-keyboard-Ka-3.svg -indicator-keyboard-Ka.svg indicator-keyboard-Ka-4.svg -indicator-keyboard-Ki.svg indicator-keyboard-Ki-1.svg -indicator-keyboard-Ki.svg indicator-keyboard-Ki-2.svg -indicator-keyboard-Ki.svg indicator-keyboard-Ki-3.svg -indicator-keyboard-Kk.svg indicator-keyboard-Kk-1.svg -indicator-keyboard-Kk.svg indicator-keyboard-Kk-2.svg -indicator-keyboard-Kn.svg indicator-keyboard-Kn-1.svg -indicator-keyboard-Kn.svg indicator-keyboard-Kn-2.svg -indicator-keyboard-Ko.svg indicator-keyboard-Ko-1.svg -indicator-keyboard-Ko.svg indicator-keyboard-Ko-2.svg -indicator-keyboard-Ku.svg indicator-keyboard-Ku-1.svg -indicator-keyboard-Ku.svg indicator-keyboard-Ku-2.svg -indicator-keyboard-Ku.svg indicator-keyboard-Ku-3.svg -indicator-keyboard-Ku.svg indicator-keyboard-Ku-4.svg -indicator-keyboard-Ku.svg indicator-keyboard-Ku-5.svg -indicator-keyboard-Ku.svg indicator-keyboard-Ku-6.svg -indicator-keyboard-Ku.svg indicator-keyboard-Ku-7.svg -indicator-keyboard-Ku.svg indicator-keyboard-Ku-8.svg -indicator-keyboard-Ku.svg indicator-keyboard-Ku-9.svg -indicator-keyboard-Ku.svg indicator-keyboard-Ku-10.svg -indicator-keyboard-Ku.svg indicator-keyboard-Ku-11.svg -indicator-keyboard-Ku.svg indicator-keyboard-Ku-12.svg -indicator-keyboard-Ku.svg indicator-keyboard-Ku-13.svg -indicator-keyboard-Ku.svg indicator-keyboard-Ku-14.svg -indicator-keyboard-Lo.svg indicator-keyboard-Lo-1.svg -indicator-keyboard-Lo.svg indicator-keyboard-Lo-2.svg -indicator-keyboard-Lt.svg indicator-keyboard-Lt-1.svg -indicator-keyboard-Lt.svg indicator-keyboard-Lt-2.svg -indicator-keyboard-Lt.svg indicator-keyboard-Lt-3.svg -indicator-keyboard-Lt.svg indicator-keyboard-Lt-4.svg -indicator-keyboard-Lt.svg indicator-keyboard-Lt-5.svg -indicator-keyboard-Lt.svg indicator-keyboard-Lt-6.svg -indicator-keyboard-Lv.svg indicator-keyboard-Lv-1.svg -indicator-keyboard-Lv.svg indicator-keyboard-Lv-2.svg -indicator-keyboard-Lv.svg indicator-keyboard-Lv-3.svg -indicator-keyboard-Lv.svg indicator-keyboard-Lv-4.svg -indicator-keyboard-Lv.svg indicator-keyboard-Lv-5.svg -indicator-keyboard-Lv.svg indicator-keyboard-Lv-6.svg -indicator-keyboard-Lv.svg indicator-keyboard-Lv-7.svg -indicator-keyboard-Mk.svg indicator-keyboard-Mk-1.svg -indicator-keyboard-Mk.svg indicator-keyboard-Mk-2.svg -indicator-keyboard-Ml.svg indicator-keyboard-Ml-1.svg -indicator-keyboard-Ml.svg indicator-keyboard-Ml-2.svg -indicator-keyboard-Ml.svg indicator-keyboard-Ml-3.svg -indicator-keyboard-Mt.svg indicator-keyboard-Mt-1.svg -indicator-keyboard-Mt.svg indicator-keyboard-Mt-2.svg -indicator-keyboard-Nl.svg indicator-keyboard-Nl-1.svg -indicator-keyboard-Nl.svg indicator-keyboard-Nl-2.svg -indicator-keyboard-Nl.svg indicator-keyboard-Nl-3.svg -indicator-keyboard-Nl.svg indicator-keyboard-Nl-4.svg -indicator-keyboard-No.svg indicator-keyboard-No-1.svg -indicator-keyboard-No.svg indicator-keyboard-No-2.svg -indicator-keyboard-No.svg indicator-keyboard-No-3.svg -indicator-keyboard-No.svg indicator-keyboard-No-4.svg -indicator-keyboard-No.svg indicator-keyboard-No-5.svg -indicator-keyboard-No.svg indicator-keyboard-No-6.svg -indicator-keyboard-No.svg indicator-keyboard-No-7.svg -indicator-keyboard-No.svg indicator-keyboard-No-8.svg -indicator-keyboard-Pa.svg indicator-keyboard-Pa-1.svg -indicator-keyboard-Pa.svg indicator-keyboard-Pa-2.svg -indicator-keyboard-Ph.svg indicator-keyboard-Ph-1.svg -indicator-keyboard-Ph.svg indicator-keyboard-Ph-2.svg -indicator-keyboard-Ph.svg indicator-keyboard-Ph-3.svg -indicator-keyboard-Ph.svg indicator-keyboard-Ph-4.svg -indicator-keyboard-Ph.svg indicator-keyboard-Ph-5.svg -indicator-keyboard-Ph.svg indicator-keyboard-Ph-6.svg -indicator-keyboard-Ph.svg indicator-keyboard-Ph-7.svg -indicator-keyboard-Ph.svg indicator-keyboard-Ph-8.svg -indicator-keyboard-Ph.svg indicator-keyboard-Ph-9.svg -indicator-keyboard-Ph.svg indicator-keyboard-Ph-10.svg -indicator-keyboard-Pl.svg indicator-keyboard-Pl-1.svg -indicator-keyboard-Pl.svg indicator-keyboard-Pl-2.svg -indicator-keyboard-Pl.svg indicator-keyboard-Pl-3.svg -indicator-keyboard-Pl.svg indicator-keyboard-Pl-4.svg -indicator-keyboard-Pl.svg indicator-keyboard-Pl-5.svg -indicator-keyboard-Pl.svg indicator-keyboard-Pl-6.svg -indicator-keyboard-Pl.svg indicator-keyboard-Pl-7.svg -indicator-keyboard-Pl.svg indicator-keyboard-Pl-8.svg -indicator-keyboard-Pl.svg indicator-keyboard-Pl-9.svg -indicator-keyboard-Ps.svg indicator-keyboard-Ps-1.svg -indicator-keyboard-Ps.svg indicator-keyboard-Ps-2.svg -indicator-keyboard-Pt.svg indicator-keyboard-Pt-1.svg -indicator-keyboard-Pt.svg indicator-keyboard-Pt-2.svg -indicator-keyboard-Pt.svg indicator-keyboard-Pt-3.svg -indicator-keyboard-Pt.svg indicator-keyboard-Pt-4.svg -indicator-keyboard-Pt.svg indicator-keyboard-Pt-5.svg -indicator-keyboard-Pt.svg indicator-keyboard-Pt-6.svg -indicator-keyboard-Pt.svg indicator-keyboard-Pt-7.svg -indicator-keyboard-Pt.svg indicator-keyboard-Pt-8.svg -indicator-keyboard-Pt.svg indicator-keyboard-Pt-9.svg -indicator-keyboard-Pt.svg indicator-keyboard-Pt-10.svg -indicator-keyboard-Pt.svg indicator-keyboard-Pt-11.svg -indicator-keyboard-Pt.svg indicator-keyboard-Pt-12.svg -indicator-keyboard-Pt.svg indicator-keyboard-Pt-13.svg -indicator-keyboard-Pt.svg indicator-keyboard-Pt-14.svg -indicator-keyboard-Pt.svg indicator-keyboard-Pt-15.svg -indicator-keyboard-Ro.svg indicator-keyboard-Ro-1.svg -indicator-keyboard-Ro.svg indicator-keyboard-Ro-2.svg -indicator-keyboard-Ro.svg indicator-keyboard-Ro-3.svg -indicator-keyboard-Ro.svg indicator-keyboard-Ro-4.svg -indicator-keyboard-Ro.svg indicator-keyboard-Ro-5.svg -indicator-keyboard-Ru.svg indicator-keyboard-Ru-1.svg -indicator-keyboard-Ru.svg indicator-keyboard-Ru-2.svg -indicator-keyboard-Ru.svg indicator-keyboard-Ru-3.svg -indicator-keyboard-Ru.svg indicator-keyboard-Ru-4.svg -indicator-keyboard-Ru.svg indicator-keyboard-Ru-5.svg -indicator-keyboard-Ru.svg indicator-keyboard-Ru-6.svg -indicator-keyboard-Ru.svg indicator-keyboard-Ru-7.svg -indicator-keyboard-Ru.svg indicator-keyboard-Ru-8.svg -indicator-keyboard-Ru.svg indicator-keyboard-Ru-9.svg -indicator-keyboard-Ru.svg indicator-keyboard-Ru-10.svg -indicator-keyboard-Ru.svg indicator-keyboard-Ru-11.svg -indicator-keyboard-Ru.svg indicator-keyboard-Ru-12.svg -indicator-keyboard-Ru.svg indicator-keyboard-Ru-13.svg -indicator-keyboard-Ru.svg indicator-keyboard-Ru-14.svg -indicator-keyboard-Ru.svg indicator-keyboard-Ru-15.svg -indicator-keyboard-Ru.svg indicator-keyboard-Ru-16.svg -indicator-keyboard-Ru.svg indicator-keyboard-Ru-17.svg -indicator-keyboard-Ru.svg indicator-keyboard-Ru-18.svg -indicator-keyboard-Ru.svg indicator-keyboard-Ru-19.svg -indicator-keyboard-Ru.svg indicator-keyboard-Ru-20.svg -indicator-keyboard-Ru.svg indicator-keyboard-Ru-21.svg -indicator-keyboard-Ru.svg indicator-keyboard-Ru-22.svg -indicator-keyboard-Ru.svg indicator-keyboard-Ru-23.svg -indicator-keyboard-Ru.svg indicator-keyboard-Ru-24.svg -indicator-keyboard-Ru.svg indicator-keyboard-Ru-25.svg -indicator-keyboard-Ru.svg indicator-keyboard-Ru-26.svg -indicator-keyboard-Ru.svg indicator-keyboard-Ru-27.svg -indicator-keyboard-Si.svg indicator-keyboard-Si-1.svg -indicator-keyboard-Si.svg indicator-keyboard-Si-2.svg -indicator-keyboard-Sk.svg indicator-keyboard-Sk-1.svg -indicator-keyboard-Sk.svg indicator-keyboard-Sk-2.svg -indicator-keyboard-Sk.svg indicator-keyboard-Sk-3.svg -indicator-keyboard-Sk.svg indicator-keyboard-Sk-4.svg -indicator-keyboard-Sl.svg indicator-keyboard-Sl-1.svg -indicator-keyboard-Sl.svg indicator-keyboard-Sl-2.svg -indicator-keyboard-Sl.svg indicator-keyboard-Sl-3.svg -indicator-keyboard-Sl.svg indicator-keyboard-Sl-4.svg -indicator-keyboard-Sr.svg indicator-keyboard-Sr-1.svg -indicator-keyboard-Sr.svg indicator-keyboard-Sr-2.svg -indicator-keyboard-Sr.svg indicator-keyboard-Sr-3.svg -indicator-keyboard-Sr.svg indicator-keyboard-Sr-4.svg -indicator-keyboard-Sr.svg indicator-keyboard-Sr-5.svg -indicator-keyboard-Sr.svg indicator-keyboard-Sr-6.svg -indicator-keyboard-Sr.svg indicator-keyboard-Sr-7.svg -indicator-keyboard-Sr.svg indicator-keyboard-Sr-8.svg -indicator-keyboard-Sr.svg indicator-keyboard-Sr-9.svg -indicator-keyboard-Sr.svg indicator-keyboard-Sr-10.svg -indicator-keyboard-Sr.svg indicator-keyboard-Sr-11.svg -indicator-keyboard-Sr.svg indicator-keyboard-Sr-12.svg -indicator-keyboard-Sr.svg indicator-keyboard-Sr-13.svg -indicator-keyboard-Sr.svg indicator-keyboard-Sr-14.svg -indicator-keyboard-Sr.svg indicator-keyboard-Sr-15.svg -indicator-keyboard-Sr.svg indicator-keyboard-Sr-16.svg -indicator-keyboard-Sr.svg indicator-keyboard-Sr-17.svg -indicator-keyboard-Sv.svg indicator-keyboard-Sv-1.svg -indicator-keyboard-Sv.svg indicator-keyboard-Sv-2.svg -indicator-keyboard-Sv.svg indicator-keyboard-Sv-3.svg -indicator-keyboard-Sv.svg indicator-keyboard-Sv-4.svg -indicator-keyboard-Sv.svg indicator-keyboard-Sv-5.svg -indicator-keyboard-Sv.svg indicator-keyboard-Sv-6.svg -indicator-keyboard-Sv.svg indicator-keyboard-Sv-7.svg -indicator-keyboard-Sw.svg indicator-keyboard-Sw-1.svg -indicator-keyboard-Sw.svg indicator-keyboard-Sw-2.svg -indicator-keyboard-Sy.svg indicator-keyboard-Sy-1.svg -indicator-keyboard-Sy.svg indicator-keyboard-Sy-2.svg -indicator-keyboard-Ta.svg indicator-keyboard-Ta-1.svg -indicator-keyboard-Ta.svg indicator-keyboard-Ta-2.svg -indicator-keyboard-Ta.svg indicator-keyboard-Ta-3.svg -indicator-keyboard-Ta.svg indicator-keyboard-Ta-4.svg -indicator-keyboard-Ta.svg indicator-keyboard-Ta-5.svg -indicator-keyboard-Ta.svg indicator-keyboard-Ta-6.svg -indicator-keyboard-Te.svg indicator-keyboard-Te-1.svg -indicator-keyboard-Te.svg indicator-keyboard-Te-2.svg -indicator-keyboard-Tg.svg indicator-keyboard-Tg-1.svg -indicator-keyboard-Tg.svg indicator-keyboard-Tg-2.svg -indicator-keyboard-Th.svg indicator-keyboard-Th-1.svg -indicator-keyboard-Th.svg indicator-keyboard-Th-2.svg -indicator-keyboard-Th.svg indicator-keyboard-Te-3.svg -indicator-keyboard-Tk.svg indicator-keyboard-Tk-1.svg -indicator-keyboard-Tk.svg indicator-keyboard-Tk-2.svg -indicator-keyboard-Tr.svg indicator-keyboard-Tr-1.svg -indicator-keyboard-Tr.svg indicator-keyboard-Tr-2.svg -indicator-keyboard-Tr.svg indicator-keyboard-Tr-3.svg -indicator-keyboard-Tr.svg indicator-keyboard-Tr-4.svg -indicator-keyboard-Tr.svg indicator-keyboard-Tr-5.svg -indicator-keyboard-Uk.svg indicator-keyboard-Uk-1.svg -indicator-keyboard-Uk.svg indicator-keyboard-Uk-2.svg -indicator-keyboard-Uk.svg indicator-keyboard-Uk-3.svg -indicator-keyboard-Uk.svg indicator-keyboard-Uk-4.svg -indicator-keyboard-Uk.svg indicator-keyboard-Uk-5.svg -indicator-keyboard-Uk.svg indicator-keyboard-Uk-6.svg -indicator-keyboard-Uk.svg indicator-keyboard-Uk-7.svg -indicator-keyboard-Uk.svg indicator-keyboard-Uk-8.svg -indicator-keyboard-Ur.svg indicator-keyboard-Ur-1.svg -indicator-keyboard-Ur.svg indicator-keyboard-Ur-2.svg -indicator-keyboard-Ur.svg indicator-keyboard-Ur-3.svg -indicator-keyboard-Ur.svg indicator-keyboard-Ur-4.svg -indicator-keyboard-Ur.svg indicator-keyboard-Ur-5.svg -indicator-keyboard-Ur.svg indicator-keyboard-Ur-6.svg -indicator-keyboard-Uz.svg indicator-keyboard-Uz-1.svg -indicator-keyboard-Uz.svg indicator-keyboard-Uz-2.svg -indicator-keyboard-Uz.svg indicator-keyboard-Uz-3.svg -indicator-keyboard-Uz.svg indicator-keyboard-Uz-4.svg -indicator-keyboard-Zh.svg indicator-keyboard-Zh-1.svg -indicator-keyboard-Zh.svg indicator-keyboard-Zh-2.svg -indicator-keyboard-Zh.svg indicator-keyboard-Zh-3.svg -indicator-keyboard-Zh.svg indicator-keyboard-Zh-4.svg -indicator-keyboard-Zh.svg indicator-keyboard-Zh-5.svg -indicator-keyboard-Zh.svg indicator-keyboard-Zh-6.svg