User:Chani/Plans/ConstraintsList

From KDE TechBase
Revision as of 20:07, 15 June 2010 by PhreakOnALeash (talk | contribs) (Adding 4.5 columns)
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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 4.5 4.5
FileDialog LaunchApp FileDialog LaunchApp FileDialog LauchApp
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
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