User:Chani/Plans/ConstraintsList
< 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: a few of the 'required' entries for 4.4 could be made optional with a little work (weather, for example). we just don't really have the time.
Plasmoid | 4.3 | 4.3 | 4.4 | 4.4 |
---|---|---|---|---|
FileDialog | LaunchApp | FileDialog | LaunchApp | |
workspace/plasma | ||||
activitybar | U | U | U | U |
analog-clock | U | U | U | U |
battery | U | O | U | O |
calendar | U | U | U | U |
currentappcontrol | 4 | |||
devicenotifier | U | R | U | R (could be made O?) |
digital-clock | U | U | U | U |
icon | U | R | U | R |
kickoff | U | R | U | R |
lock_logout | U | U | U | U |
pager | U | U | 4 (Can do _nasty_ things; should check hasAuth in Pager::createMenu()) | |
panelspacer | 4 | |||
quicklaunch | R | R | R | R |
searchbox | 4 | |||
system-monitor | U | U | U | U |
systemtray | 4 | 4 | ||
tasks | U | U | U | U |
trash | U | R | U | R |
webbrowser | 3 | 3 | ||
windowlist | 4 | |||
apps/plasma | ||||
folderview | 4 | 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 | |||
opendesktop-activities | 4? U | U | ||
paste | 4 | 4 | ||
pastebin | U | U | U | R |
plasmaboard | 4 | |||
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 |