I&#39;ll just have to try and see how far I get with a single state machine. I think that Shan&#39;s idea could work but also think that extending things would mean writing new states for all applets. For me it seems easier to write a top level state which can direct infromation to all applets. The applets wouldn&#39;t need to know any states, they would just do what they are told. <br>
<br>Could any new future states simply be added to the State enum in the library? Would extending it be some form of binary incompatibilty or something?<br><br>Chris<br><br><div class="gmail_quote">On Fri, Apr 2, 2010 at 10:34 AM, Alessandro Diaferia <span dir="ltr">&lt;<a href="mailto:alediaferia@gmail.com">alediaferia@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br><br><div class="gmail_quote">2010/4/2 Marco Martin <span dir="ltr">&lt;<a href="mailto:notmart@gmail.com" target="_blank">notmart@gmail.com</a>&gt;</span><div>
<div></div><div class="h5"><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div>On Friday 02 April 2010, Shantanu Tushar Jha wrote:<br>
&gt; (My ideas, be free to kick ;)<br>
&gt;<br>
&gt; Hi Christophe, now I&#39;m able to understand most of what you&#39;ve<br>
&gt; proposed. Somehow, I don&#39;t like having just one state machine for the<br>
&gt; whole MC, the main reason being that we&#39;re going to support<br>
&gt; extensibility through custom plugins, so the MC can no longer assume<br>
&gt; that it knows exactly how many states are present.<br>
&gt; What I propose is not altering the libraries, but to have a state<br>
&gt; machine for each component (component as in the containment,<br>
&gt; controller applet etc). Though I don&#39;t have code to show that right<br>
&gt; now (i&#39;m writing a small Qt app to demo it), I&#39;ll try to explain a<br>
&gt; sample working-<br>
<br>
</div>While i share the concern over extesibility (and wouldn&#39;t know how to do it<br>
with a single global state machine) how a state machine for each component<br>
would fix that?<br>
a part every plugin being a omplete set of new applets...<br>
<br>
Cheers,<br>
<font color="#888888">Marco Martin<br>
</font><div><div></div><div>_______________________________________________<br>
Plasma-devel mailing list<br>
<a href="mailto:Plasma-devel@kde.org" target="_blank">Plasma-devel@kde.org</a><br>
<a href="https://mail.kde.org/mailman/listinfo/plasma-devel" target="_blank">https://mail.kde.org/mailman/listinfo/plasma-devel</a><br>
</div></div></blockquote></div></div></div><br>I like the extensibility idea too but i think that we are bound to the definition of a set of possible states. We can try to look forward as much as we can and define such states. Plugins will just specify which of those states they&#39;ll refer to. In the future, probably, we&#39;ll update our libraries with the states that we could have never imagined in the past :-).<br>

<br>So we can now have:<br>Pictures,<br>Videos,<br>Audio tracks,<br>Games,<br>Olographic films :-)<br>...<br><br>That&#39;s probably enough for now :-P<br><br>Cheers<br clear="all"><font color="#888888"><br>-- <br>Alessandro Diaferia<br>
KDE Developer<br>
KDE e.V. member<br><br>
</font><br>_______________________________________________<br>
Plasma-devel mailing list<br>
<a href="mailto:Plasma-devel@kde.org">Plasma-devel@kde.org</a><br>
<a href="https://mail.kde.org/mailman/listinfo/plasma-devel" target="_blank">https://mail.kde.org/mailman/listinfo/plasma-devel</a><br>
<br></blockquote></div><br>