User:Chani/Plans/ConstraintsList
Appearance
< User:Chani | Plans
This is a table of plasmoids vs. security constraints. they need to be checked before release, because we can't actually force c++ code to follow them.
the table's a bit ugly, but functional; if you're good with wiki syntax feel free to make it prettier. :)
the meaning of cells in this table:
- R: Required
- O: Optional
- U: Unused
- 1: couldn't check (crash or similar)
- 2: too much effort (like, non-applet class needs to access Applet::hasAuthorization)
- 3: way too much effort (webkit, urgh)
- 4: low priority (doesn't belong on screensaver)
after checking a plasmoid+feature, X-Plasma-Requires-<feature> in the plasmoid's .desktop should be set to one of Required, Optional or Unused.
- Required: the plasmoid cannot do without this feature
- Unused: the plasmoid doesn't use this feature at all
- Optional: it has made optional in the code using hasAuthorization() (see the comic or picture-frame for examples)
tips on checking for features:
- anything in the config dialog doesn't count
- FileDialog can just be grepped for - I'm not aware of anything that a plasmoid is likely to use that could expose it indirectly.
- LaunchApp can usually be checked by grepping for KRun. there are exceptions, though - battery uses KToolInvocation::kdeinitExec.
- it's always good to play with the actual plasmoid a bit if you can't remember every single feature it has.
TODO: plasmoids that are new in 4.4 need adding to this list!
| Plasmoid | 4.3 | 4.3 | 4.4 | 4.4 |
|---|---|---|---|---|
| FileDialog | LaunchApp | FileDialog | LaunchApp | |
| workspace/plasma | ||||
| activitybar | U | U | ||
| analog-clock | U | U | ||
| battery | U | O | ||
| calendar | U | U | ||
| devicenotifier | U | R | ||
| digital-clock | U | U | ||
| icon | U | R | ||
| kickoff | U | R | ||
| lock_logout | U | U | ||
| pager | U | U | ||
| panelspacer | 4 | |||
| quicklaunch | R | R | ||
| system-monitor | U | U | ||
| systemtray | 4 | |||
| tasks | U | U | ||
| trash | U | R | ||
| webbrowser | 3 | |||
| apps/plasma | ||||
| folderview | 4 | |||
| kdeplasma-addons | ||||
| bball | U | U | U | U |
| binary-clock | U | U | U | U |
| blackboard | U | U | ||
| bubblemon | U | U | U | U |
| calculator | U | U | U | U |
| charselect | U | U | U | U |
| comic | O | O | O | O |
| dict | U | U | U | U |
| eyes | U | U | U | U |
| fifteenPuzzle | U | U | U | U |
| fileWatcher | U | U | U | U |
| frame | U | O | U | O |
| fuzzy-clock | U | U | U | U |
| incomingmsg | U | U | U | U |
| kdeobservatory | ||||
| kimpanel | ||||
| knowledgebase | U | R | ||
| kolourpicker | U | U | U | U |
| konqprofiles | U | R | U | R |
| konsoleprofiles | U | R | U | R |
| lancelot | U | R | U | R |
| leavenote | 3 | 3 | ||
| life | U | U | U | U |
| luna | U | U | U | U |
| magnifique | 3 | U | U | |
| mediaplayer | R | U | R | U |
| microblog | 3 | 3 | ||
| news | 3 | 3 | ||
| notes | U | U | ||
| nowplaying | U | U | U | U |
| opendesktop | 2 | |||
| paste | 4 | 4 | ||
| pastebin | U | U | U | R |
| previewer | R | R | R | R |
| rememberthemilk | U | U | U | U |
| rssnow | 2 | |||
| showdashboard | 4 | 4 | ||
| showdesktop | 4 | 4 | ||
| systemloadviewer | U | U | U | U |
| timer | U | U | U | U |
| unitconverter | U | U | U | U |
| weather | 1 | U | R | |
| weatherstation | 1 | U | R | |
| playground/base/plasma | ||||