<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=utf-8">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <p><font size="+1">Hello everybody,</font></p>
    <p><font size="+1">I am implementing an alternative task manager for
        plasma (in mac way of animating) and I am using the new libtaskmanager.
        I have reached in a situation which I need to discuss with you
        what I have understood and why I probably hit a wall in my use
        case.</font></p>
    <p><font size="+1">The use case is that the alternative task manager
        let's call it (Now Dock), is only a list of icons (like icon
        tasks) grouped based on the application name with no different
        instances per window, everything is grouped in the same icon
        either a launcher or a window.</font></p>
    <p><font size="+1">I use the TaskModel provided from libtaskmanager
        and a situation appears when a new application window is added
        which troubles me a lot.</font></p>
    <p><font size="+1">The tasks follow an appearance path which is the
        following:</font></p>
    <p><font size="+1">Launcher(if exists) -> StartUp -> Window</font></p>
    <p><font size="+1">------<br>
      </font></p>
    <p><font size="+1">Discussion: 1<br>
      </font></p>
    <p><font size="+1">there are removals and adds in the TaskModel for
        each step of the previous task and trying to create logical
        animations for the previous path is a mess.</font></p>
    <p><font size="+1">e.g. There is a Firefox launcher with no windows
        appearing at all, when the first Firefox is appearing then the
        launcher item in the model is removed and a startup item in the
        model is added, after a while the startup item in the model is
        removed and the window item is added (all of them in them
        position), this is (2 removals and 2 adds). <br>
      </font></p>
    <p><font size="+1">Is this the intended behavior?</font></p>
    <p><font size="+1"><br>
      </font></p>
    <p><font size="+1">I believe that a more friendly approach is needed
        in my use case for example instead of 2 removals and 2 adds just
        an update in the values. The launcher is already there, so updating
        its state to startup and then to a window would be enough.</font></p>
    <p><font size="+1">The same adds and removals are also appearing
        even when there is no launcher for an application. A startup
        item is added in the model then after a while is removed and
        then in the same position a window appears. This creates a very
        messy effect to the eye. Adding item(Firefox-startup), after a
        while a second item(Firefox - window), and then removing the
        first item(startup) and the second item(window) taking its
        position.</font></p>
    <p><font size="+1"><br>
      </font></p>
    <p><font size="+1">---<br>
      </font></p>
    <p><font size="+1">Discussion: 2</font></p>
    <p><font size="+1">Another important aspect in the TasksModel which
        bothers me is that each item in the model does not have the same
        pair values. for example a startup item does not have an
        "IsWindow" value, qml triggers "undefined" for property
        "IsWindow" in its case and this is a way to ckeck its existence,
        not by true or false but from the property's existence.</font></p>
    <p><font size="+1">Is this also the intended behavior?</font></p>
    <p><font size="+1"><br>
      </font></p>
    <p><font size="+1">I usually when I create ListModels I try the
        items to have the same pair of values like a database, in order
        to be more developer friendly when they are used in the
        delegates.</font></p>
    <p><font size="+1"><br>
      </font></p>
    <p><font size="+1">---</font></p>
    <p><font size="+1">Discussion: 3</font></p>
    <p><font size="+1">What I am proposing is that there shouldnt be
        adds and removals from startup to window, only updates. The same
        is when there is a launcher, only updates. I believe adds and
        removals should be only for new items, for example when windows
        are not grouped together or are not grouped with their launcher.
        I dont consider a startup different in the model from the window
        or at least there should be a choice for the developer if he
        wants to have two different items in the model for startup and
        window.</font></p>
    <p><font size="+1"><br>
      </font></p>
    <p><font size="+1">thank you a lot in advance,</font></p>
    <p><font size="+1">michail<br>
      </font></p>
    <p><font size="+1"><br>
      </font></p>
    <p><font size="+1"><br>
      </font></p>
    <p><font size="+1"><br>
      </font></p>
    <p><font size="+1"><br>
      </font></p>
  </body>
</html>