<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <p>That's a <a moz-do-not-send="true"
href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Using_promises">Promise</a>,
      Graeme. Almost all browser.something.… methods return them.</p>
    <p>GL<br>
    </p>
    <div class="moz-cite-prefix">On 8/12/18 00:49, Graeme wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:ae732bce-873a-826c-43b6-bf69c9426e33@gmail.com">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <p>I've looked at the docs.</p>
      <p>I actually found a lot of help in Owl... I have a "working"
        extension and options that work. <br>
      </p>
      <p>Now I'm trying to get a listener working that will tell me when
        a window opens, specifically a compose window... but hey, any
        window would be a good start. <br>
      </p>
      <p>I found in docs, reference to the browser.windows API and a
        function getCurrent(). I thought that would be a good test.
        There's an event onCreated as well but when I tried <br>
      </p>
      <p>var MyWindow = browser.windows.getCurrent();</p>
      <p>according to docs, MyWindow should be an array with a whole lot
        of info. But when I put <br>
      </p>
      <p>console.dir(MyWindow);</p>
      <p>I got <br>
      </p>
      <p><span class="message-body-wrapper"><span
            class="message-flex-body"><span class="message-body&#xA;
              devtools-monospace"> </span></span></span></p>
      <div class="tree object-inspector" role="tree" tabindex="0"
        style="padding: 0px; margin: 0px;">
        <div id="Symbol(server1.conn1.obj244)" class="tree-node"
          role="treeitem" aria-level="1" aria-expanded="true"
          data-expandable="true">
          <div class="node object-node"><img class="arrow&#xA; expanded"
              moz-do-not-send="true"><span
              data-link-actor-id="server1.conn1.obj244" class="objectBox
              objectBox-object"><span class="objectTitle">Promise</span><span
                class="objectLeftBrace"> { </span><span
                class="objectBox objectBox-string">"pending"</span><span
                class="objectRightBrace"> }</span></span></div>
        </div>
        <div id="Symbol(server1.conn1.obj244/<state>)"
          class="tree-node" role="treeitem" aria-level="2"
          data-expandable="false"><span class="tree-indent"></span>
          <div class="node object-node"><span class="object-label">   
              <state></span><span class="object-delimiter">: </span><span
              class="objectBox objectBox-string">"pending"</span></div>
        </div>
        <div id="Symbol(server1.conn1.obj244/<prototype>)"
          class="tree-node" role="treeitem" aria-level="2"
          aria-expanded="true" data-expandable="true"><span
            class="tree-indent"></span>
          <div id="Symbol(server1.conn1.obj244/<prototype>/catch)"
            class="tree-node" role="treeitem" aria-level="3"
            aria-expanded="false" data-expandable="true">    <img
              class="arrow expanded" moz-do-not-send="true"><span
              class="object-label"><prototype></span><span
              class="object-delimiter">: </span><span
              data-link-actor-id="server1.conn1.obj247" class="objectBox
              objectBox-object"><span class="objectTitle">PromiseProto</span></span><span
              class="tree-indent"></span><span class="tree-indent">​</span>
            <div
              id="Symbol(server1.conn1.obj244/<prototype>/constructor)"
              class="tree-node" role="treeitem" aria-level="3"
              aria-expanded="false" data-expandable="true"><img
                class="arrow" moz-do-not-send="true"><span
                class="object-label">        catch</span><span
                class="object-delimiter">: </span><span
                data-link-actor-id="server1.conn1.obj253"
                class="objectBox objectBox-function" dir="ltr"><span
                  class="objectTitle">function </span>catch()</span><span
                class="tree-indent"></span><span class="tree-indent">​</span>
              <div
                id="Symbol(server1.conn1.obj244/<prototype>/finally)"
                class="tree-node" role="treeitem" aria-level="3"
                aria-expanded="false" data-expandable="true"><img
                  class="arrow" moz-do-not-send="true"><span
                  class="object-label">        constructor</span><span
                  class="object-delimiter">: </span><span
                  data-link-actor-id="server1.conn1.obj255"
                  class="objectBox objectBox-function" dir="ltr"><span
                    class="objectTitle">function </span>Promise()</span><span
                  class="tree-indent"></span><span class="tree-indent">​</span>
                <div
                  id="Symbol(server1.conn1.obj244/<prototype>/then)"
                  class="tree-node" role="treeitem" aria-level="3"
                  aria-expanded="false" data-expandable="true"><img
                    class="arrow" moz-do-not-send="true"><span
                    class="object-label">        finally</span><span
                    class="object-delimiter">: </span><span
                    data-link-actor-id="server1.conn1.obj254"
                    class="objectBox objectBox-function" dir="ltr"><span
                      class="objectTitle">function </span>finally()</span><span
                    class="tree-indent"></span><span class="tree-indent">​</span>
                  <div
                    id="Symbol(server1.conn1.obj244/<prototype>/symbol-0)"
                    class="tree-node" role="treeitem" aria-level="3"
                    data-expandable="false">        <img class="arrow"
                      moz-do-not-send="true"><span class="object-label">then</span><span
                      class="object-delimiter">: </span><span
                      data-link-actor-id="server1.conn1.obj252"
                      class="objectBox objectBox-function" dir="ltr"><span
                        class="objectTitle">function </span>then()</span><span
                      class="tree-indent"></span><span
                      class="tree-indent">​</span>
                    <div
                      id="Symbol(server1.conn1.obj244/<prototype>/<prototype>)"
                      class="tree-node" role="treeitem" aria-level="3"
                      aria-expanded="false" data-expandable="true"><span
                        class="object-label">       
                        Symbol(Symbol.toStringTag)</span><span
                        class="object-delimiter">: </span><span
                        class="objectBox objectBox-string">"Promise"</span><span
                        class="tree-indent"></span><span
                        class="tree-indent">​</span>
                      <div class="node object-node lessen"><img
                          class="arrow" moz-do-not-send="true"><span
                          class="object-label">        <prototype></span><span
                          class="object-delimiter">: </span><span
                          data-link-actor-id="server1.conn1.obj251"
                          class="objectBox&#xA; objectBox-object"><span
                            class="objectTitle">Object</span><span
                            class="objectLeftBrace"> { </span><span
                            class="more-ellipsis" title="more…">…</span><span
                            class="objectRightBrace"> }</span></span></div>
                      <div class="node object-node lessen"><span
                          data-link-actor-id="server1.conn1.obj251"
                          class="objectBox objectBox-object"><span
                            class="objectRightBrace">What did I do
                            wrong? Is there a place to ask more about
                            how these API work? <br>
                          </span></span></div>
                      <br>
                      <div class="node object-node lessen"><span
                          data-link-actor-id="server1.conn1.obj251"
                          class="objectBox objectBox-object"><span
                            class="objectRightBrace">Blessings<br>
                            Graeme<br>
                          </span></span></div>
                    </div>
                  </div>
                </div>
              </div>
            </div>
          </div>
        </div>
      </div>
      <div class="moz-cite-prefix">On 03/12/2018 06:00, Ben Bucksch
        wrote:<br>
      </div>
      <blockquote type="cite"
        cite="mid:20f5c695-a720-3a75-55eb-e46c0f529df6@beonex.com">Graeme
        wrote on 03.12.18 15:50: <br>
        <blockquote type="cite"> <br>
          I would really like to shift to [WebExtension for Thunderbird]
          which seems the addon of the future but where is there any
          help for this? <br>
          <br>
          Could someone do a summary of the conversion effort for this
          one please? <br>
        </blockquote>
        <br>
        <br>
        First off, it's a completely different type of addon, so be
        prepared to have to change a lot. <br>
        <br>
        For a general intro to WebExtensions, see the Firefox pages: <br>
        <br>
        <a class="moz-txt-link-freetext"
          href="https://developer.mozilla.org/docs/Mozilla/Add-ons/WebExtensions"
          moz-do-not-send="true">https://developer.mozilla.org/docs/Mozilla/Add-ons/WebExtensions</a>
        <br>
        <br>
        <a class="moz-txt-link-freetext"
href="https://developer.mozilla.org/docs/Mozilla/Add-ons/WebExtensions/What_are_WebExtensions"
          moz-do-not-send="true">https://developer.mozilla.org/docs/Mozilla/Add-ons/WebExtensions/What_are_WebExtensions</a>
        <br>
        <br>
        However, the APIs are different between Thunderbird and Firefox.
        Some Firefox APIs work in Thunderbird (just try it), other
        Firefox APIs do not work, and Thunderbird has a few specific
        APIs added. Here are some docs about the latter ones: <br>
        <br>
        <a class="moz-txt-link-freetext"
          href="https://thunderbird-webextensions.readthedocs.io/en/latest/"
          moz-do-not-send="true">https://thunderbird-webextensions.readthedocs.io/en/latest/</a>
        <br>
        <br>
        There are not many WebExtensions for Thunderbird yet, our own
        Owl is one of the first that I know of, so you're in new
        territory. Don't expect a smooth ride. But to be one the
        pioneers can be exciting, too. <br>
        <br>
        HTH, <br>
        <br>
        Ben <br>
        <br>
        _______________________________________________ <br>
        tb-planning mailing list <br>
        <a class="moz-txt-link-abbreviated"
          href="mailto:tb-planning@mozilla.org" moz-do-not-send="true">tb-planning@mozilla.org</a>
        <br>
        <a class="moz-txt-link-freetext"
          href="https://mail.mozilla.org/listinfo/tb-planning"
          moz-do-not-send="true">https://mail.mozilla.org/listinfo/tb-planning</a>
        <br>
        <br>
      </blockquote>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <pre class="moz-quote-pre" wrap="">_______________________________________________
tb-planning mailing list
<a class="moz-txt-link-abbreviated" href="mailto:tb-planning@mozilla.org">tb-planning@mozilla.org</a>
<a class="moz-txt-link-freetext" href="https://mail.mozilla.org/listinfo/tb-planning">https://mail.mozilla.org/listinfo/tb-planning</a>
</pre>
    </blockquote>
  </body>
</html>