This feature was discussed in #6123, but it doesn't look like anything was ever incorporated into the IPython Notebook.

Here's a brief overview of the changes:

- Display of messages from other clients can be toggled on and off from within a notebook, either using the ``<M-m>e`` keyboard shortcut in the web UI, or through the option in the "Kernel" menu.
- notebook.js controls whether messages are displayed through a callback that is invoked from kernel.js when no callbacks are available for a message.
- The UI displays ``execute_input`` messages originating from an other clients in new cells at the end of the notebook. Output messages (``execute_result`` et al.) will only be displayed if a cell exists with a matching message ID.

Pending design questions:

- Should each ``execute_input`` message cause a new cell to be created?
- Should new cells be placed at the end of the notebook, or elsewhere? If the latter, what criteria should be followed?
Merge remote-tracking branch 'upstream/master'
Merge remote-tracking branch 'upstream/master'
Updated terminology to match the console/qtconsole
config settings and documentation more closely.

Unsolicited messages => output from other clients.
Increased notification message display time.
Merge remote-tracking branch 'upstream/master'
Removed keyboard shortcut.
Fixed inverted logic caused by renaming variables.
Backing out all changes to the UI and notebook.js.

Updated kernel.js to trigger the ``received_unsolicited_message.Kernel`` event instead. Notebook extensions can handle the event in whatever way they deem appropriate.

A notebook extension that takes advantage of this is available at https://github.com/nheijermans/nbexts.git.
Fix javascript iteration through array

for(var k in config) was assigning k to the properties of Array, not just the numeric indices

the second argument of add_buttons_group, k[1], should be config[k][1]
Make sure comm-dead is applied to the top widget view class
in all cases where the kernel disconnects.
Bubble event and implement logic in CodeCell
invoke css
s/Notebooks/Files
Merge pull request #7224 from jasongrout/fix-toolbarjs

Fix javascript iteration through array
fix restore checkpoint add an empty cell
pass config to contentsManager
fix logo on base_url prefix
Merge pull request #7229 from jdfreder/tab-rename

Tab rename - s/Notebooks/Files
Merge pull request #7250 from Carreau/kspecbase

fix logo on base_url prefix