Illume does a good job, in that it also is able to suspend after blanking in a way that a tap with the stylus will wake up the Moko but not be registered as a click. On the downside, it doesn't know about specific situations, such as when in a phone call (at least that is what I think).
frameworkd knows about that and prevents dimming e.g. while in a call, the only issue with it is that is blanks the screen (it actually only turns the backlight off) but does nothing else. So when you tap on the screen to make it bright again, and you have managed to tap the "Delete" button (or any other widget that does something), then it will execute that action.
Currently both are turned on, which makes for a very confusing situation. Sometimes a tap will hit a button, sometimes not. If you disable screen blanking in SHR-settings, illume will stilll blank the screen, etc. How should this be resolved?
There are 3 issues to be resolved:
- Currently frameworkd blanking in SHR is broken because of an obsolete rules.yaml files. This needs to be fixed first.
- frameworkd blanking needs to prevent the first stylus tap to click anything on the screen. This also needs fixing independent of how the rest is handled.
- illume power settings and frameworkd need to be made compatible. Generally, I like that there are power settings in the illume preferences, but ideally those settings would do the same thing as when setting timeouts in framworkd via shr-settings (or the config file), and ideally they would honor each other (ie modifying frameworkd.conf should show up in the illume power config). Alternatively one could do away with either illume power settings completely or disable the frameworkd timeouts
UPDATE: After talking to raster on IRC I have been convinced that frameworkd works in a hacky manner. Screen blanking needs to go through proper X rather than just turning of the backlight behind X's back. Still, what frameworkd knows is when not to go blank. So the correct solution is to issue xommands (like "xset s activate") to make the screensaver do the right thing (or prevent it from doing so).