termio.py:  A (very minor) bugfix for Python 3 to prevent a transient error from showing up in the logs.
terminal.py:  Added a couple notes and cleaned up the code a bit.  Also performed some (minor) optimizations to the _spanify_screen() method.  Thanks to the guys in #python on Freenode for their assistance in this (kevlarman especially).
gateone.js:  Changed the capabilities checks behavior when the client browser is missing window.URL (or window.webkitURL)...  Instead of throwing an alert() and preventing Gate One from loading it will merely display a warning dialog where the user can choose to opt out of the warning in the future.  This is to allow browsers that support everything *but* window.URL (Safari 5.1 and maybe 6.0) to work with Gate One.  The only thing they won't be able to do is load the Web Worker via the WebSocket (the fallback to using a URL should still work) and use GateOne.Utils.saveAs().  This means they will be unable to save session logs/recordings or download SSH identities.
gateone.js:  Made the same change as above related to Blob() and BlobBuilder():  They're now only warnings.
gateone.js:  GateOne.Visual.alert() can now be given a pre-constructed DOM node as opposed to just a text string (as the message argument).
gateone.js:  Fixed Chrome/Chromium 18 support by adding a sophisticated check for a *working* Blob interface.  Older versions of Chrome had Blob() but it didn't work...  Fortunately they also have BlobBuilder() so the compatibility checks will now gracefully handle this (weird) situation.
Playback Plugin:  Updated to fix the sidetitle position to match that of the Logging Plugin.
Playback Plugin:  The recording is now explicitly passed through json_encode() before being sent to the client (like the Logging Plugin).  This should fix issues related to older versions of Tornado and Python.
Logging Plugin:  Renamed "View Log (Flat)" and "View Log (Playback)" to "Printable Log" and "View Playback" respectively.
Logging Plugin:  Modified the output format of the "Printable" log format so that it can be copied and pasted properly.  Prior to this change the newlines would get lost when copying and pasting (really annoying).
terminal.py:  Updated _spanify_scrollback() to use the new optimizations that were added to _spanify_screen().
termio.py:  Added a bit of extra exception handling to work around corrupt logs.
index.html:  Fixed the favicon so it should show up properly again.
gateone.js:  Tweaked how the toolbar has translateY() applied so it should stay close to the top of the window no matter what the fontSize setting is set to.
Reverted the recent change to playback.py since it broke the 'Export Current Session' function (which I can't imagine is used much by most people).
gateone.py:  If 'dtach' support is disabled, clean up the session_dir and everything in it on exit.  It is supposed to be made up of nothing but temporary files so this makes sense.
gateone.js:  Fixed the "Disable Terminal Slide Effect" option.  I had no idea it wasn't working...  Someone needs to tell me these things!
gateone.js:  Fixed the issue where 'Disable Terminal Slide Effect' wasn't showing as checked when it really was set properly.  Would only show up after a page reload.
Playback Plugin:  Fixed an issue with playback.js where it was overwriting the CSS transform that scales UP terminals that have had an explicit number of rows/columns set.  So now when you set a terminal to, say, 24x80 it will be scaled up to fit within the window (BIG text).  This should look MUCH nicer and appear more natural than having a tiny terminal in the upper-left corner of the view.
gateone.js:  Fixed a bug where if you disabled terminal slide effects you couldn't turn them back on.  Also removed a couple extraneous console.log() lines.
gateone.js:  Modified GateOne.Utils.loadStyle() slightly...  It will now set the "media" attribute to "screen" on loaded stylesheets.  This is to differentiate them from media="print".
gateone.js:  Got rid of a trailing comma near the end of the script (where it sets the defaults for GateOne.Net.actions) that was causing IE 8 (and below) to barf and not display the error message that tells the user why Gate One won't work in their terrible browser :).  For reference, trailing commas at the end of objects inside of curley braces is perfectly valid JavaScript.  IE just sucks.
gateone.py:  Added support for print style sheets to TerminalWebSocket.get_style() and GateOne.Utils.loadStyle() (in gateone.js).  Turns out this was much easier than I thought.
Templates:  Added a stylesheet for printing (gateone/templates/printing/default.css).  It's trivial, really:  It just makes sure that when you print out your terminal it will be black-on-white text.  Works great from the "Printable" log view (aka "flat" format).
Logging Plugin:  A few tweaks to the "Printable" view to make it look better when, er, printed.
NOTE:  The reason I added the new media="print" stylesheet feature is because printing from the "Printable" (flat) log view wasn't working properly when a dark theme was set.  So it's really a kind of bug fix :)
Update gateone/plugins/example/example.py

Fix a little mistake, hiding the first three chars instead of just display them only.
termio.py:  Changed the rate limiter to only engage after a timeout of 5 seconds.  The previous two-second timeout was too short for embedded/slower systems.  This will eventually be a tunable parameter.
termio.py:  Changed the logic inside of term_write() to ensure that all characters are stored as bytes instead of a mix/match of Unicode/bytes.  This was to work around some issues with Python 3 support.
termio.py:  Inline images are working again as a result of the aforementioned change.  Apparently that feature broke when I made a change to termio ~1.5 weeks ago to get Python 3 working again.
terminal.py:  handle_special has been modified to be more friendly with Python 3.  As a bonus this change seems to have sped it up a tiny bit.
terminal.py:  Terminal.write() was checking for a UnicodeEncodeError when it should've been checking for a UnicodeDecodeError.
terminal.py:  Fixed an issue with Unicode diacritics...  Sometimes combining characters like  ̴ (special form of tilda) would still result in two characters after being run through unicodedata.normalize().  This would result in a TypeError when trying to add the characters to the screen array since it was trying to add two characters to a position that can only accept one.  The diacritic logic now gracefully handles this situation by writing each character to the screen array individually.
logviewer.py:  After running through some test scenarios I noticed that Unicode characters weren't showing up properly when playing back logs in real-time.  I fixed this (missing a .decode() in two spots).
test_term_renditions.py:  Added a short delay between line outputs in order to reduce the CPU consumption and prevent the rate limiter from truncating the output.
Merge pull request #140 from Boboss74/patch-1

Update gateone/plugins/example/example.py
Solarized Theme and Term Colors
Merge pull request #141 from vintitres/master

Adding Solarized theme/text colors.
gateone.py:  Changed the __version__ and __version_info__ values to have three positions (1.1.0) instead of just two (1.1).  This will allow for minor, in-between updates without (much) version bloat.  For reference, I will still be referring to it as "1.1" :)
termio.py:  While testing I discovered a race condition inside Multiplex() that could occur when an atexit function encounters an exception.  To fix it I just had to reorder some things inside ot Multiplex.terminate().
Example Plugin:  Changed the 'topTop' widget to have a border.  This makes it visible immediately after bringing it up so you don't have to wait until the first update to see where it appeared.  Also tweaked the buttons so that they return focus to the terminal when clicked (so users can start dragging the widgets around right away).
utils.py:  Updated killall() to be a bit less likely to result in transient errors showing up in the logs (double-checks paths and whatnot).
Themes:  Changed the line-height in the themes to 1.2 from 1 to avoid background-color overlap.  You end up with maybe one less row in a terminal but it is necessary since certain languages would end up with the bottoms (or tops) of characters cut off making them difficult to read.
Themes: Turns out that using 'line-height: 1.2' puts gaps between background colors so I've changed it to 1.1.  The │ character still has gaps between lines but I'll probably fix that by editing the font since no other fonts I've tested with seem to have that problem.  It appears to be a bug in Ubuntu Mono (a font bug, who knew?).
terminal.py:  Added a new function: unicode_counter().  It is just like pua_counter() except it generates incrementing unicode characters starting at unichr(1000) in order to provide a larger namespace.  It turns out that on narrow builds of Python the 156-character namespace of pua_counter() isn't enough to make it through the full spectrum of text renditions in test_term_renditions.py without going all wonky.  Terminal.renditions_counter is now using unicode_counter() instead of pua_counter().  NOTE:  pua_counter() only has the aforementioned problem on narrow builds of Python where the total number of possible Unicode characters is limited.  Also note that on narrow builds of Python there will still be a limit of 156 images on the screen at the same time since pua_counter() still makes sense for that purpose.
terminal.py:  Related to the above, the default value for renditions has been changed from unichr(SPECIAL) to unichr(1000) everywhere.
terminal.py:  Fixed a bug in Terminal.insert_characters() where what it does wasn't anything remotely close to what it is supposed to do.  Apparently so few programs utilize this obscure vt100 function that no one has noticed until now.
terminal.py:  Fixed a bug in Terminal.clear_line_from_cursor_left() where it wasn't setting renditions properly; often resulting in an IndexError inside of Terminal.write() with certain programs (e.g. midnight commander).
terminal.py:  Fixed a bug in spanify_screen() and spanify_scrollback() where it was losing the current character rendition when continuing to the next line.
Themes:  Lots of text rendition cleanup.  Things that didn't look quite right before (like 'reversed' text with varying colors) should now look perfect.
Merge branch 'master' of github.com:liftoff/GateOne