Designing icons for Papirus is easy :)
You only need to draw icons for Papirus and then convert colors for ePapirus, Papirus Dark and Papirus-Light using our scripts.
See the separate Design Notes document, and the Papirus wiki.
The scripts in this folder require the following programs:
- Inkscape
- scour
For Debian/Ubuntu/Linux Mint users:
sudo apt update
sudo apt install inkscape python3-scour
If you need a more recent version of scour, please install it with pipx.
Open the tools/work
folder in a file manager and open a terminal in that location. You can do that from the context menu entry Open in Terminal
or Action → Open Terminal Here
.
You can create a new icon from the provided template using the new-icon.sh
script in tools/work
. For example,
$ cd tools/work
$ ./new-icon.sh apps abricotine
'./Papirus/apps/[email protected]' -> './Papirus/apps/[email protected]'
'./Papirus/apps/[email protected]' -> './Papirus/apps/[email protected]'
'./Papirus/apps/[email protected]' -> './Papirus/apps/[email protected]'
'./Papirus/apps/[email protected]' -> './Papirus/apps/[email protected]'
'./Papirus/apps/[email protected]' -> './Papirus/apps/[email protected]'
'./Papirus/apps/[email protected]' -> './Papirus/apps/[email protected]'
This command has created six new working files inside the work directory from the template files. For all new icons, please stick to using the template. It is necessary because the template already has some needed objects, like a CSS stylesheet.
If you want to modify an existing icon, you can do that using the get-from-theme.sh
script. For example,
$ cd tools/work
$ ./get-from-theme.sh panel transmission-panel.svg
'./../../Papirus/24x24/panel/transmission-panel.svg' -> './Papirus/panel/[email protected]'
'./../../Papirus/16x16/panel/transmission-panel.svg' -> './Papirus/panel/[email protected]'
'./../../Papirus/22x22/panel/transmission-panel.svg' -> './Papirus/panel/[email protected]'
.svg
This is an example of how you might fix issue #354. First, make sure there's an existing icon you can link to:
$ cd tools/work
$ find ../../Papirus -type f -iname '*ardour*' -print
./Papirus/16x16/apps/ardour.svg
./Papirus/22x22/apps/ardour.svg
./Papirus/24x24/apps/ardour.svg
./Papirus/32x32/apps/ardour.svg
./Papirus/48x48/apps/ardour.svg
./Papirus/64x64/apps/ardour.svg
Now you have the filename of an existing icon, ardour.svg
, and the name of the new symlink from #354, ardour5
. Create the symlinks with the command:
$ cd tools/work
$ ./new-symlink.sh --help # this shows usage
$ ./new-symlink.sh apps ardour.svg ardour5
'./Papirus/apps/[email protected]' -> 'ardour.svg'
'./Papirus/apps/[email protected]' -> 'ardour.svg'
'./Papirus/apps/[email protected]' -> 'ardour.svg'
'./Papirus/apps/[email protected]' -> 'ardour.svg'
'./Papirus/apps/[email protected]' -> 'ardour.svg'
'./Papirus/apps/[email protected]' -> 'ardour.svg'
NOTE: Symlinks will look like they're broken, but that's OK.
If your symlinks are in apps
, emblems
or mimetypes
you can continue from step 4.3, else continue from step 3.
IMPORTANT: Please don't remove suffixes from the filename, as it's needed for other scripts. Filename extension must be in lowercase.
IMPORTANT: You should draw icons for the core Papirus theme first.
- Open the created/copied file in Inkscape.
- Delete any objects you do not need.
- Draw new objects.
- Save the file with the same filename.
- Repeat it for other sizes.
-
Run
convert.sh
. It copies needed icons fromwork/Papirus
towork/Papirus-Dark
,work/Papirus-Light
, andwork/ePapirus
. It then updates the copies' color schemes.$ cd tools/work
-
Check the result, and edit manually if needed.
-
Run script
tools/work/prepare.sh
to clean the created icons:$ ./prepare.sh
-
Please check your icons again.
-
If everything is fine then put the icons into main icon theme folders:
$ ./put-into-theme.sh
-
Clean the
work
directory:$ ./clean.sh
-
Run tests:
$ make test
-
Everything is ready now! You can commit the changes to GitHub.