<br><br><div class="gmail_quote">2008/7/3 Aaron J. Seigo &lt;<a href="mailto:aseigo@kde.org">aseigo@kde.org</a>&gt;:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
hi Dong...<br>
<br>
good to see you on the lists. btw, <a href="mailto:panel-devel@kde.org">panel-devel@kde.org</a> is the more useful list<br>
for plasma related issues. i&#39;m cc&#39;ing the list on this reply and maybe we can<br>
take the discussion over there?<br>
<div class="Ih2E3d"></div></blockquote><div>Nice to see you too:)<br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div class="Ih2E3d">
<br>
On Wednesday 02 July 2008, Dong Tiger wrote:<br>
&gt; 1. GGL(Google Gadgets for Linux) has its own GadgetBrowser. I want to use<br>
&gt; it to install gadgets and add gadgets to desktop as an plasma applet. Does<br>
&gt; plasma support this?<br>
<br>
</div>no.<br>
<br>
while i understand the apparent benefit from the gadget creator&#39;s POV (hey<br>
look, we can make it exactly how *we* want it!) it really doesn&#39;t do much at<br>
all for the user experience. in fact, it rather destroys the user experience<br>
because now they have to deal with N different control and listing UIs for<br>
their widgets. that&#39;s obviously not great.<br>
<br>
what we don&#39;t have yet in plasma is a way for gadget systems to provide links<br>
to their own listing systems. right now we provide support for DXS (the fd.o<br>
spec for listing app add-ons over the network). while i&#39;d love to see everyone<br>
adopt DXS, i doubt that&#39;s realistic. the easiest thing to do would probably be<br>
to extend the capabilities of the &quot;Install New Widgets&quot; button to allow<br>
additional mechanisms to get widgets.</blockquote><div>&nbsp;</div><div>Agree that &quot;Install New Widgets&quot; should be able to handle this. But I still feel it will be convenient to be able to ask plasma to load a gadget. It can be used in the following cases:<br>
1. User clicks a dowloaded widget to run it.<br>2. Some programs can be turned into a widget on the fly. For example, Amarok can minimize itself to a widget on panel.<br>3. Before &quot;Install New Widgets&quot; is powerful enough, I still need this to let user browse google gadgets in GoogleGadgetsBrowser and install them into plasma.<br>
</div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div class="Ih2E3d"><br>
&gt; 2. We have a QWidget subclass, QtViewWidget, that can draw a view of a<br>
&gt; Google gadget and accept input from mouse and keyboard. To reuse the code,<br>
&gt; I tried to use WoC approach. But the result is not so good. Check out the<br>
&gt; screen shot attached. The black part is supposed to be transparent. What I<br>
&gt; can do with it?<br>
<br>
</div>you may need to call setAttribute(Qt::WA_NoSystemBackground) on your QWidget.<br>
<br>
it would also probably be even better if it was at some point ported to a<br>
QGraphicsWidget, and maybe even use Plasma::WebContent directly? i mean, the<br>
Google widgets are just html/css at the base of it all, right? that might be a<br>
lot of work, though, depending on how the gadgets library is implemented.<br>
</blockquote><div><br>There are two kinds of Google gadgets. One is the iGoogle Gadgts which just use html/javascript. The other is Desktop Gadgets which uses self-brewed xml and javascript. Plasma::WebContent will only works with the iGoogle gadgets.<br>
</div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br>
i also see the sizing is wrong: it&#39;s not sized to the contentsRect() but to<br>
the boundingRect(). use contentsRect() always.<br>
<div class="Ih2E3d"><br>
&gt; 3. Currently, GGL has one stable javascript runtime which is implemented<br>
&gt; with spidermonkey. I don&#39;t feel comfortable that GGL on plasma has to link<br>
&gt; to spidermonkey. So I wrote a runtime with QtScript. But it turned out a<br>
&gt; lot of Google gadgets use syntax from M$ jscript that QtScript doesn&#39;t<br>
&gt; support.<br>
<br>
</div>well, QtScript isn&#39;t really javascript, of course. it&#39;s ECMAScript, so you&#39;d<br>
have to do a lot of work on top of it to turn it into JavaScript (ECMAScript +<br>
the web dom API)</blockquote><div>&nbsp;</div><div>The javacript runtime in GGL is used to support Desktop Gadgets. So web dom api is not needed. The problem is that many gadgets use non-ECMAScript syntax like &quot;someobj(&#39;APropertyNmae&#39;) = something;&quot;. It&#39;s truely not the fault of QtScript. We are working on eliminating the usage of such syntax. But it takes time.<br>
<br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div class="Ih2E3d"><br>
&gt; &nbsp;And I don&#39;t have much confidence on the quality of QtScript.<br>
<br>
</div>anything in particular? (it&#39;s easier to fix non-vague problems ;)</blockquote><div>&nbsp;I don&#39;t mean QtScript is not good. I just mean it&#39;s not widely used as spidermoney and webkit, especially in the way I use. As of bugs, I just filed one that QtScript crashed on this:<br>
</div><div>&nbsp; var a = new Array(); a.splice(0, 0, &#39;a&#39;);<br><br>
</div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div class="Ih2E3d"><br>
&gt; &nbsp; &nbsp; Thus, I need to choose between kjs and webkit. But QtWebKit doesn&#39;t<br>
&gt; support standalone usage of its javascript engine. It looks only kjs is a<br>
&gt; valid choice. What do you think?<br>
<br>
</div>this would be a simple if you were using Plasma::WebContent as it already has<br>
the webkit js runtime there. if you&#39;re going to do your own runtime from<br>
scratch, though, kjs is probably the easier starting point, yes.<br>
<font color="#888888"><br>
--<br>
Aaron J. Seigo<br>
humru othro a kohnu se<br>
GPG Fingerprint: 8B8B 2209 0C6F 7C47 B1EA &nbsp;EE75 D6B7 2EB1 A7F1 DB43<br>
<br>
KDE core developer sponsored by Trolltech<br>
<br>
</font></blockquote></div><br>