User:Chani/Plans/ConstraintsList: Difference between revisions

From KDE TechBase
(columns for 4.4, plus more description)
No edit summary
Line 40: Line 40:
! LaunchApp
! LaunchApp
|-
|-
! colspan=3 | workspace/plasma
! colspan=5 | workspace/plasma
|-
|-
| activitybar
| activitybar
| U
| U
| U
| U
|
|
|-
|-
| analog-clock
| analog-clock
| U
| U
| U
| U
|
|
|-
|-
| battery
| battery
| U
| U
| O
| O
|
|
|-
|-
| calendar
| calendar
| U
| U
| U
| U
|
|
|-
|-
| devicenotifier
| devicenotifier
| U
| U
| R
| R
|
|
|-
|-
| digital-clock
| digital-clock
| U
| U
| U
| U
|
|
|-
|-
| icon
| icon
| U
| U
| R
| R
|
|
|-
|-
| kickoff
| kickoff
| U
| U
| R
| R
|
|
|-
|-
| lock_logout
| lock_logout
| U
| U
| U
| U
|
|
|-
|-
| pager
| pager
| U
| U
| U
| U
|
|
|-
|-
| panelspacer
| panelspacer
| 4
| 4
|  
|  
|
|
|-
|-
| quicklaunch
| quicklaunch
| R
| R
| R
| R
|
|
|-
|-
| system-monitor
| system-monitor
| U
| U
| U
| U
|
|
|-
|-
| systemtray
| systemtray
| 4
| 4
|  
|  
|
|
|-
|-
| tasks
| tasks
| U
| U
| U
| U
|
|
|-
|-
| trash
| trash
| U
| U
| R
| R
|
|
|-
|-
| webbrowser
| webbrowser
| 3
| 3
|  
|  
|
|
|-
|-
! colspan=3 | apps/plasma
! colspan=5 | apps/plasma
|-
|-
| folderview
| folderview
| 4
| 4
|  
|  
|
|
|-
|-
! colspan=3 | kdeplasma-addons
! colspan=5 | kdeplasma-addons
|-
|-
| bball
| bball
| U
| U
| U
| U
| U
| U
|-
|-
| binary-clock
| binary-clock
| U
| U
| U
| U
|-
| blackboard
|
|
| U
| U
| U
| U
|-
|-
| bubblemon
| bubblemon
| U
| U
| U
| U
| U
| U
|-
|-
| calculator
| calculator
| U
| U
| U
| U
| U
| U
Line 137: Line 187:
| U
| U
| U
| U
|
|
|-
|-
| comic
| comic
| O
| O
| O
| O
| O
| O
Line 145: Line 199:
| U
| U
| U
| U
|
|
|-
|-
| eyes
| eyes
| U
| U
| U
| U
|
|
|-
|-
| fifteenPuzzle
| fifteenPuzzle
| U
| U
| U
| U
|
|
|-
|-
| fileWatcher
| fileWatcher
| U
| U
| U
| U
|
|
|-
|-
| frame
| frame
| U
| U
| O
| O
|
|
|-
|-
| fuzzy-clock
| fuzzy-clock
| U
| U
| U
| U
|
|
|-
|-
| incomingmsg
| incomingmsg
| U
| U
| U
| U
|
|
|-
|-
| kolourpicker
| kolourpicker
| U
| U
| U
| U
|
|
|-
|-
| konqprofiles
| konqprofiles
| U
| U
| R
| R
|
|
|-
|-
| konsoleprofiles
| konsoleprofiles
| U
| U
| R
| R
|
|
|-
|-
| lancelot
| lancelot
| U
| U
| R
| R
|
|
|-
|-
| leavenote
| leavenote
| 3
| 3
|  
|  
|
|
|-
|-
| life
| life
| U
| U
| U
| U
|
|
|-
|-
| luna
| luna
| U
| U
| U
| U
|
|
|-
|-
| magnifique
| magnifique
| 3
| 3
|  
|  
|
|
|-
|-
| mediaplayer
| mediaplayer
| R
| R
| U
| U
|
|
|-
|-
| microblog
| microblog
| 3
| 3
|  
|  
|
|
|-
|-
| news
| news
|
| 3
| 3
|  
|  
|
|
|-
|-
| notes
| notes
| U
| U
| U
| U
|
|
|-
|-
| nowplaying
| nowplaying
| U
| U
| U
| U
|
|
|-
|-
| opendesktop
| opendesktop
| 2
| 2
|  
|  
|
|
|-
|-
| paste
| paste
| 4
| 4
|  
|  
|
|
|-
|-
| pastebin
| pastebin
| U
| U
| U
| U
|
|
|-
|-
| previewer
| previewer
| R
| R
| R
| R
|
|
|-
|-
| rememberthemilk
| rememberthemilk
| U
| U
| U
| U
|
|
|-
|-
| rssnow
| rssnow
| 2
| 2
|  
|  
|
|
|-
|-
| showdashboard
| showdashboard
| 4
| 4
|  
|  
|
|
|-
|-
| showdesktop
| showdesktop
| 4
| 4
|  
|  
|
|
|-
|-
| systemloadviewer
| systemloadviewer
| U
| U
| U
| U
|
|
|-
|-
| timer
| timer
| U
| U
| U
| U
|
|
|-
|-
| unitconverter
| unitconverter
| U
| U
| U
| U
|
|
|-
|-
| weather
| weather
| 1
| 1
|  
|  
|
|
|-
|-
| weatherstation
| weatherstation
| 1
| 1
|  
|  
|
|
|-
|-
! colspan=3 | playground/base/plasma
! colspan=5 | playground/base/plasma
|}
|}

Revision as of 04:24, 28 January 2010

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
comic O O O O
dict U U
eyes U U
fifteenPuzzle U U
fileWatcher U U
frame U O
fuzzy-clock U U
incomingmsg U U
kolourpicker U U
konqprofiles U R
konsoleprofiles U R
lancelot U R
leavenote 3
life U U
luna U U
magnifique 3
mediaplayer R U
microblog 3
news 3
notes U U
nowplaying U U
opendesktop 2
paste 4
pastebin U U
previewer R R
rememberthemilk U U
rssnow 2
showdashboard 4
showdesktop 4
systemloadviewer U U
timer U U
unitconverter U U
weather 1
weatherstation 1
playground/base/plasma