diff --git a/core/modules/startup/rootwidget.js b/core/modules/startup/rootwidget.js index f0c3bd450..0fdcfd9a2 100644 --- a/core/modules/startup/rootwidget.js +++ b/core/modules/startup/rootwidget.js @@ -42,10 +42,16 @@ exports.startup = function() { var fullscreen = $tw.utils.getFullScreenApis(); if(fullscreen) { $tw.rootWidget.addEventListener("tm-full-screen",function(event) { - if(event.event.target.ownerDocument[fullscreen._fullscreenElement]) { + if(event.param === "enter") { + event.event.target.ownerDocument.documentElement[fullscreen._requestFullscreen](Element.ALLOW_KEYBOARD_INPUT); + } else if(event.param === "exit") { event.event.target.ownerDocument[fullscreen._exitFullscreen](); } else { - event.event.target.ownerDocument.documentElement[fullscreen._requestFullscreen](Element.ALLOW_KEYBOARD_INPUT); + if(event.event.target.ownerDocument[fullscreen._fullscreenElement]) { + event.event.target.ownerDocument[fullscreen._exitFullscreen](); + } else { + event.event.target.ownerDocument.documentElement[fullscreen._requestFullscreen](Element.ALLOW_KEYBOARD_INPUT); + } } }); } diff --git a/editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-full-screen.tid b/editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-full-screen.tid index 7445c04ab..417dd6ed7 100644 --- a/editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-full-screen.tid +++ b/editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-full-screen.tid @@ -1,10 +1,28 @@ +caption: tm-full-screen created: 20140811112400855 -modified: 20140811113627373 +modified: 20180814215126941 tags: Messages title: WidgetMessage: tm-full-screen type: text/vnd.tiddlywiki -caption: tm-full-screen -The fullscreen message toggles the "fullscreen" mode of the browser, if it supports it. +The fullscreen message is used to enter, exit or toggle the "fullscreen" mode of the browser, if it supports it. It uses the following properties on the `event` object: + +|!Name |!Description | +|param |`enter` to enter full screen mode, `exit` to exit it, otherwise toggle the full screen status | + +The fullscreen message is handled by the TiddlyWiki core. + + +<$macrocall $name='wikitext-example-without-html' +src='<$button message="tm-full-screen"> +Full screen toggle + + +<$button message="tm-full-screen" param="enter"> +Full screen enter + + +<$button message="tm-full-screen" param="exit"> +Full screen exit +'/> -The fullscreen message is handled by the TiddlyWiki core. \ No newline at end of file