@@ -35,6 +35,7 @@ define(function (require, exports, module) {
3535 // Constants
3636 var PREFS_PURE_CODE = "noDistractions" ,
3737 CMD_TOGGLE_PURE_CODE = "view.togglePureCode" ,
38+ CMD_TOGGLE_FULLSCREEN = "view.toggleFullscreen" ,
3839 CMD_TOGGLE_PANELS = "view.togglePanels" ;
3940
4041 //key binding keys
@@ -50,12 +51,17 @@ define(function (require, exports, module) {
5051 panelsToggled = false ,
5152 layoutUpdated = false ;
5253
54+ function isInFullScreen ( ) {
55+ return ! ! document . fullscreenElement ;
56+ }
57+
5358 /**
5459 * @private
5560 * Updates the command checked status based on the preference for noDestraction mode
5661 */
5762 function _updateCheckedState ( ) {
5863 CommandManager . get ( CMD_TOGGLE_PURE_CODE ) . setChecked ( PreferencesManager . get ( PREFS_PURE_CODE ) ) ;
64+ CommandManager . get ( CMD_TOGGLE_FULLSCREEN ) . setChecked ( isInFullScreen ( ) ) ;
5965 }
6066
6167 /**
@@ -67,6 +73,16 @@ define(function (require, exports, module) {
6773 Metrics . countEvent ( Metrics . EVENT_TYPE . UI , 'noDistractions' , 'toggle' ) ;
6874 }
6975
76+ async function _toggleFullScreen ( ) {
77+ Metrics . countEvent ( Metrics . EVENT_TYPE . UI , 'fullscreen' , 'toggle' ) ;
78+ if ( ! isInFullScreen ( ) ) {
79+ await document . documentElement . requestFullscreen ( ) ;
80+ } else if ( document . exitFullscreen ) {
81+ await document . exitFullscreen ( ) ;
82+ }
83+ _updateCheckedState ( ) ;
84+ }
85+
7086 /**
7187 * hide all open panels
7288 */
@@ -145,10 +161,12 @@ define(function (require, exports, module) {
145161 */
146162 function initializeCommands ( ) {
147163 CommandManager . register ( Strings . CMD_TOGGLE_PURE_CODE , CMD_TOGGLE_PURE_CODE , _togglePureCode ) ;
164+ CommandManager . register ( Strings . CMD_TOGGLE_FULLSCREEN , CMD_TOGGLE_FULLSCREEN , _toggleFullScreen ) ;
148165 CommandManager . register ( Strings . CMD_TOGGLE_PANELS , CMD_TOGGLE_PANELS , _togglePanels ) ;
149166
150167 Menus . getMenu ( Menus . AppMenuBar . VIEW_MENU ) . addMenuItem ( CMD_TOGGLE_PANELS , "" , Menus . AFTER , Commands . VIEW_HIDE_SIDEBAR ) ;
151168 Menus . getMenu ( Menus . AppMenuBar . VIEW_MENU ) . addMenuItem ( CMD_TOGGLE_PURE_CODE , "" , Menus . AFTER , CMD_TOGGLE_PANELS ) ;
169+ Menus . getMenu ( Menus . AppMenuBar . VIEW_MENU ) . addMenuItem ( CMD_TOGGLE_FULLSCREEN , "F11" , Menus . AFTER , CMD_TOGGLE_PURE_CODE ) ;
152170
153171 KeyBindingManager . addBinding ( CMD_TOGGLE_PURE_CODE , [ { key : togglePureCodeKey } , { key : togglePureCodeKeyMac , platform : "mac" } ] ) ;
154172
0 commit comments