From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from resqmta-ch2-05v.sys.comcast.net (resqmta-ch2-05v.sys.comcast.net [IPv6:2001:558:fe21:29:69:252:207:37]) by hurricane.the-brannons.com (Postfix) with ESMTPS id ACEDE78932 for ; Mon, 14 Sep 2015 14:14:46 -0700 (PDT) Received: from resomta-ch2-07v.sys.comcast.net ([69.252.207.103]) by resqmta-ch2-05v.sys.comcast.net with comcast id H9Fq1r0052EPM31019HZyn; Mon, 14 Sep 2015 21:17:33 +0000 Received: from eklhad ([IPv6:2601:405:4002:b0a:21e:4fff:fec2:a0f1]) by resomta-ch2-07v.sys.comcast.net with comcast id H9HY1r00J0GArqr019HZfu; Mon, 14 Sep 2015 21:17:33 +0000 To: Edbrowse-dev@lists.the-brannons.com From: Karl Dahlke Reply-to: Karl Dahlke User-Agent: edbrowse/3.5.4.2+ Date: Mon, 14 Sep 2015 17:17:32 -0400 Message-ID: <20150814171732.eklhad@comcast.net> Mime-Version: 1.0 Content-Type: text/plain Content-Transfer-Encoding: 7bit DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=comcast.net; s=q20140121; t=1442265453; bh=Y4BC8Muvi9++1h0ItvNTUj1w2lFF9sDtKag2xYW4Cho=; h=Received:Received:To:From:Reply-to:Subject:Date:Message-ID: Mime-Version:Content-Type; b=s9lNuBoJ34Bn8XCDIM0HTGWAq9jWfaBDI2mjxrSRhnLCYtYrcTl8UXtEcZhJxgWw9 D6urOm7FDfyWB2aJU2WL83K5RXm7ILGdthoHxKroo+rIftaqoWnwL/UtzO+9P7YvJm L9etQ8zuetfwHhk2fK9Jw7pdHKWfS2hJtBtH/pp4uT3/XpOZRcQbUuZzqS27CMocwY R+o+g5V3j4NyxQ1Gvr4JGhKw9Gz1bHWWFbQ32A+HGdA3f8eq7t31XHbLi4sNPFHsre Z7Srk6+FDThcxyF3WZSRE1NKfzmYNXM/oQV4CNaXbPT3fFFV2kU7dvs7cjpSQDh2YR 3BDTiCMT35K8Q== Subject: [Edbrowse-dev] rerender X-BeenThere: edbrowse-dev@lists.the-brannons.com X-Mailman-Version: 2.1.20 Precedence: list List-Id: Edbrowse Development List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 14 Sep 2015 21:14:46 -0000 So many things are changing, I mean it's a complete redesign, and I'm trying to keep the ship sailing in the meantime. If I step back and think about it globally my head spins, so I keep head down, stay focused, and make one incremental change at a time. As we move forward, more things don't work in the old system, and I can't maintain it forever. With the latest push, edbrowse runs on the new system by default. If you really need javascript, and I have badly broken it, export oldsystem=1 to bring back the old system; but I can't guarantee how long it will keep working. The new system has a new 2 letter command, rr, for rerender. It's a little bit meaningless now, but will make sense when (someday) we have asynchronous javascript running. Perhaps stock prices on the page have changed, which a sighted person would just look at the screen and see the change; we would type rr for rerender. When you do this now it just says "no change". This has no meaning in the old system, or when not in browse mode, or when js is inactive. The point here is that rerender is called internally after each javascript action. Perhaps you clicked on a button, or changed a field that has onchange code associated with it, or whatever. The objects change, the screen is rerendered, and compared against the old. Like if you change the state in jsrt to Utah, which changes the color menu. This is really really preliminary. The comparison is done by strcmp. If the screen is unchanged, and it almost always is, that's the high runner case, I don't do anything and don't print anything. Just move on. If a single byte of the screen changes, I delete the old contents, put in the new, and tell you that something has changed. That's it, for now. You get to figure out what has changed. Of course I'll put in some more smarts over the next few days, some kind of diff algorithm to tell you "line 12 has been updated", and perhaps just changing that line so I can retain your dot location and any labels you might have set. That's coming but for now it's clunky, just to prove the concept. Yes, we can rerender the tree of nodes again and again, and reflect any changes that have been made through javascript. Karl Dahlke