mirror of
https://github.com/libratbag/libratbag.git
synced 2026-11-07 23:23:52 +01:00
The SVGs must not be part of any stable API, there is too much behavior implied that we cannot/do not specify. So it's perfectly likely that a future change in the SVGs or rendering libraries breaks things in some detail. But then we cannot update the SVGs without risking breaking other clients that rely on the current behavior. Besides: we only have one theme, called "gnome" because a push towards having SVGs for other themes never happened. And that theme isn't gnome-specific, it merely looks GNOMEy. The theme is very much piper-specific in that it requires certain elements that piper cares about. Currently anyway, if we make this part of our API, piper cannot change that behavior ever without breaking others. So let's drop SVG handling completely and rely on the clients to sort it out for themselves. For now the SVGs are left in the tree to make it easier to copy to Piper. Once that's done, we will remove those too. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
libratbag data files
This directory contains the SVG files for each theme. In general, device SVGs should approximate the device to make it immediately recognizable. Detail work not required, the graphic is an illustration only.
For theme-specific requirements, consult the README in the subdirectories.
Technique
The simplest approach is to find a photo of the device and import it into inkscape. Put it on the lowest layer, create a new layer "Device" above it and start tracing the outlines and edges of the device. Fill in the shapes and your device should resemble the underlying photo. Delete the photo layer, add leaders and button labels and you're done.