Skip to content
This repository
Browse code

Fixed a bug (that I created earlier today when I was cleaning up the …

…code, sigh) where terminals weren't auto-closing themselves when the underlying process ended.
  • Loading branch information...
commit 45e9c878eda9c48dd36134f519b0b8e28fcd8aa8 1 parent 04f2eab
Dan McDougall authored
47 LICENSE.txt
@@ -15,4 +15,49 @@ obtained by visiting:
15 15 http://www.gnu.org/licenses/agpl.html
16 16
17 17 If the terms of the AGPLv3 license do not suit your needs, a proprietary
18   -license may be purchased from Liftoff Software: http://liftoffsoftware.com/
  18 +license may be purchased from Liftoff Software: http://liftoffsoftware.com/
  19 +
  20 +Included 3rd party items and their licenses
  21 +-------------------------------------------
  22 +
  23 +Specific files
  24 +^^^^^^^^^^^^^^
  25 +static/bell.ogg - Taken from KDE's default sound theme (KDE-Sys-App-Message.ogg)
  26 + which is licensed under the GPLv2:
  27 +
  28 + http://www.gnu.org/licenses/gpl-2.0.html
  29 +
  30 +static/favicon.ico - A miniaturized version of KDE's Oxygen icon for the Konsole
  31 + program. The Oxygen icon library is released under the
  32 + Creative Commons ShareAlike 3.0 license:
  33 +
  34 + http://creativecommons.org/licenses/by-sa/3.0/
  35 +
  36 + (Therefore favicon.ico is also licensed as such)
  37 +
  38 +SVG Icons (inline in gateone.js) were taken from GoSquared which released them
  39 +under the, "free for you to use as you wish" license =). See:
  40 +
  41 + http://www.gosquared.com/liquidicity/archives/122
  42 +
  43 +Portional items
  44 +^^^^^^^^^^^^^^^
  45 +Portions of Gate One's JavaScript contain code taken from the excellent MochiKit
  46 +library which is licensed under the MIT license:
  47 +
  48 + http://www.opensource.org/licenses/mit-license.php
  49 +
  50 +The portions of code taken from MochiKit are explicitly indicated in gateone.js.
  51 +
  52 +
  53 +NOTICE OF GOOD FAITH ATTRIBUTION
  54 +--------------------------------
  55 +If we failed to attribute or state the license of something included with Gate
  56 +One please let us know so it can be corrected.
  57 +
  58 +
  59 +It takes a village
  60 +------------------
  61 +Seriously, thanks to everyone who's ever contributed code, tutorials, or just
  62 +straight-up knowledge and wisdom to the Internet. Gate One wouldn't have
  63 +happend if it weren't for the contributions of the many that came before.
4 gateone/gateone.py
@@ -578,6 +578,10 @@ def new_terminal(self, settings):
578 578 mode_handler = partial(self.mode_handler, term)
579 579 SESSIONS[self.session][term][ # 9 is CALLBACK_MODE
580 580 'multiplex'].term.callbacks[9] = mode_handler
  581 + else:
  582 + # Tell the client this terminal is no more
  583 + message = {'term_ended': term}
  584 + self.write_message(json_encode(message))
581 585 self.refresh_screen(term) # Send a fresh screen to the client
582 586 # NOTE: refresh_screen will also take care of cleaning things up if
583 587 # SESSIONS[self.session][term]['multiplex'].alive is False
1  gateone/static/gateone.js
@@ -2266,6 +2266,7 @@ GateOne.Base.update(GateOne.Terminal, {
2266 2266 // Register our actions
2267 2267 go.Net.addAction('terminals', go.Terminal.reattachTerminalsAction);
2268 2268 go.Net.addAction('termupdate', go.Terminal.updateTerminalAction);
  2269 + go.Net.addAction('term_ended', go.Terminal.closeTerminal);
2269 2270 go.Net.addAction('term_exists', go.Terminal.reconnectTerminalAction);
2270 2271 go.Net.addAction('set_mode', go.Terminal.setModeAction); // For things like application cursor keys
2271 2272 go.Net.addAction('metadata', go.Terminal.storeMetadata);

0 comments on commit 45e9c87

Please sign in to comment.
Something went wrong with that request. Please try again.