Frequently Asked Questions

1. Does the name mean anything?
The name was derived from the combination of two latin words that describe relevant concepts: semian, and curos. The former refers to something that is aged, or whithered in appearance, while the latter means to care for, to trouble over, or to pay attention to.

2. Why do some bristles have numbers on them?
The numbers represent the order they appear in the Bristles list and these numbers, when typed on the keyboard, can be used to enable/disable their corresponding bristles in real-time, while you're painting. Only the bristles occupying the first ten slots in the list can be controlled in this manner.

3. Is there a way I an enable/disable more than one bristle simultaneously?
Yes. You can currently assign bristles to any of the five available groups. Once you assign a set of bristles to a group, its group number will appear in the brackets next to the bristle's name in the Bristles list. To activate/deactive a group of bristles, hold the shift key down while typing the corresponding number on the keyboard.

4. I set the Alpha Min and Alpha Max values in the Transparency tab down more than halfway. Even though the transparency function is enabled, it doesn't seem like there's any transparency. What's causing this to happen?
There is another setting that is very important when working with transparency: the Threshold value. This value determines the minimum alpha value that any pixel will be allowed to have. If it's set higher than the Alpha values, the alpha values will have no effect.

5. What is the correct way to use the filter in the canvas toolbar?
As you might expect, the eyedropper tool is used to pick the color you want to target. The downward arrow button is used to define how much leeway will be exercised when deciding whether or not the color of any given pixel should be modified by the filter. The key is in how the filter actually works. Instead of just performing a 1:1 substitution, each time the bristle is painted, its coverage is re-calculated based on the percentage of pixels already on the canvas, within the bristle's bounding rectangle, that fall within the filter range. The results are less predictable, but more subtle, and often more interesting.

6. How do I change the location of a bristle's anchor point?
First, select the bristles that will have their anchor points modified. Next, place the cursor over the Brush Designer (this gives it the focus). Finally, pressing the CTRL and ALT keys will display the anchor points of the selected bristles. Simply click the mouse at the new location, and you're done.

7. I've enabled the gradient for a bristle, but it doesn't show up in the Brush Designer. Is this a bug?
No. The reason that certain attributes do not show up in the Brush Designer is that actions like drawing new bristles would slow to a crawl. Additionally, there are certain attributes that would make for some confusing results - a low alpha setting for example. The Brush Designer was mainly intended for shape, size, color, and position, while the canvas was intended to assess the ultimate behavior of the bristles when painting.

8. Is there a way I can change the default look and feel?
Yes. There is a file in the semicuro configuration directory (.semicuro) called (interestingly enough) semicuro-config. In this file should be an entry, 'lookandfeel' which should have the value 'default'. To change the look and feel used by Semicuro, you need to replace 'default' with the fully-qualified class name of the look and feel you would like to use. If you wanted to use a look and feel called LipStikLF, you'd use the value 'com.lipstikLF.LipstikLookAndFeel'. The jar file that contains the look and feel will need to be installed in the lib/lookandfeel directory in order for it to be recognized. Be aware that not all look and feel alternatives have everything implemented, so it's possible that you might see some interface components that don't look quite right.

9. I get the following error when I attempt to run Semicuro on my Linux system:

Exception during event dispatch:
java.lang.NoClassDefFoundError: org.semicuro.core.Utils
at java.lang.Class.initializeClass(
at org.semicuro.ui.SCDialog.setupPrimaryLayout(
at org.semicuro.ui.SCDialog.(

Several distributions come with gcj (The GNU java implementation) intalled. For whatever reason, there is an incompatibility between gcj and java binaries that were compiled with Sun's java compiler. The easiest way to fix this is to download and install Sun's JRE (Java Runtime Environment), and then run Semicuro with that. If, for example, Sun's JRE was installed in /usr/local/java, you'd run Semicuro by typing /usr/local/java/jre/bin/java -jar semicuro.jar .