just a quick update, no screenshots or shiny things right now…
on hte way to madrid I had lots of time to hack, so I started on a contextmenu plugin. this is the one that’ll actually draw the right-click menu we have right now (except in svn it’s reimplemented in *every* containment).
to do this, I first had to deal with the old contextmenu code: it gets called before my plugin code and gets in the way. I stripped out a bunch, threw out some old cruft, and made it work with my plugin system. it went surprisingly smoothly. when you right-click the containment, it calls whichever plugin is bound to rightclick. when you rightclick an applet, it calls a different function in that plugin to get the containment actions, so that you still have that “foo Activity Options” submenu. :) yay, zero regressions!
so then I needed a plugin that provided the data. first I made a plugin that just blindly forwarded the containment’s contextActions. then I moved the simple actions, the ones that the containment was actually pulling from libplasma, into the plugin. now I’m moving *all* the actions from DefaultDesktop into the plugin. :) I haven’t got that part to compile yet, but I’m sure I’ll get some more hacking time before akademy is over. :)
once that code compiles, though, there’ll be a lot less code in containments. :) then I’ll need to either make a similar plugin for the panel, or just make that same plugin use panel actions when appropriate. in a few weeks I’ll also make it configurable, so that I can have zoom actions in *my* contextmenu. :)
for now, though, there are presentations going on, and people all around, so I’m going to go enjoy akademy. :)