{"action":"created","issue":{"url":"https://api.github.com/repos/electron/electron/issues/10254","repository_url":"https://api.github.com/repos/electron/electron","labels_url":"https://api.github.com/repos/electron/electron/issues/10254/labels{/name}","comments_url":"https://api.github.com/repos/electron/electron/issues/10254/comments","events_url":"https://api.github.com/repos/electron/electron/issues/10254/events","html_url":"https://github.com/electron/electron/pull/10254","id":249857903,"number":10254,"title":"Feature/simple fullscreen mode","user":{"login":"zachflower","id":920019,"avatar_url":"https://avatars3.githubusercontent.com/u/920019?v=4","gravatar_id":"","url":"https://api.github.com/users/zachflower","html_url":"https://github.com/zachflower","followers_url":"https://api.github.com/users/zachflower/followers","following_url":"https://api.github.com/users/zachflower/following{/other_user}","gists_url":"https://api.github.com/users/zachflower/gists{/gist_id}","starred_url":"https://api.github.com/users/zachflower/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/zachflower/subscriptions","organizations_url":"https://api.github.com/users/zachflower/orgs","repos_url":"https://api.github.com/users/zachflower/repos","events_url":"https://api.github.com/users/zachflower/events{/privacy}","received_events_url":"https://api.github.com/users/zachflower/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":3,"created_at":"2017-08-13T07:28:58Z","updated_at":"2017-08-16T18:11:53Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/electron/electron/pulls/10254","html_url":"https://github.com/electron/electron/pull/10254","diff_url":"https://github.com/electron/electron/pull/10254.diff","patch_url":"https://github.com/electron/electron/pull/10254.patch"},"body":"Modern implementations of macOS utilize desktop spaces to implement fullscreen functionality, which presents a less-than-ideal interaction for users who use multiple monitors (and prefer to keep those monitors within the same space), or prefer to have more control over their ability to multitask while using a fullscreen application.\r\n\r\nPrior to the release of Lion, fullscreen functionality on Mac OS X acted similarly to the current fullscreen functionality on Windows and Linux. This PR provides functionality to simulate that same style of pre-Lion fullscreen on macOS for Electron applications.\r\n\r\n**Full Disclosure: This is my first attempt at writing Objective-C... ever... so _any_ feedback would be greatly appreciated!** 😄\r\n\r\n### Usage\r\n\r\nSimple fullscreen support can be enabled by passing `simpleFullscreen: true` to the `BrowserWindow` constructor which, when enabled, will override the default macOS fullscreen functionality with the new simple fullscreen functionality.\r\n\r\nAdditionally, two new methods (`setSimpleFullScreen()` and `isFullScreen()`) have been added for more granular usability.\r\n\r\n### Demonstration\r\n\r\nHere is a short animation that demonstrates what simple fullscreen support looks like (pay attention to the window, as it stays on the current space rather than moving to a new one, which is the default functionality).\r\n\r\n![](https://user-images.githubusercontent.com/920019/29246939-75df5668-7fc4-11e7-9d7e-63e8dd923c73.gif)\r\n\r\n### Background\r\n\r\nBecause popular desktop applications like Sublime Text 3, MacVim, and iTerm2 provide support for pre-Lion fullscreen, this particular feature has been requested many times over in several popular open source Electron projects (including the Electron core itself):\r\n\r\n- Electron Core Feature Request - https://github.com/electron/electron/issues/8218\r\n- Visual Studio Code Feature Request - https://github.com/Microsoft/vscode/issues/5344\r\n- Hyper Feature Request - https://github.com/zeit/hyper/issues/526\r\n- Atom Feature Request - https://github.com/atom/atom/issues/967 "},"comment":{"url":"https://api.github.com/repos/electron/electron/issues/comments/322854486","html_url":"https://github.com/electron/electron/pull/10254#issuecomment-322854486","issue_url":"https://api.github.com/repos/electron/electron/issues/10254","id":322854486,"user":{"login":"mattrc","id":381989,"avatar_url":"https://avatars1.githubusercontent.com/u/381989?v=4","gravatar_id":"","url":"https://api.github.com/users/mattrc","html_url":"https://github.com/mattrc","followers_url":"https://api.github.com/users/mattrc/followers","following_url":"https://api.github.com/users/mattrc/following{/other_user}","gists_url":"https://api.github.com/users/mattrc/gists{/gist_id}","starred_url":"https://api.github.com/users/mattrc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mattrc/subscriptions","organizations_url":"https://api.github.com/users/mattrc/orgs","repos_url":"https://api.github.com/users/mattrc/repos","events_url":"https://api.github.com/users/mattrc/events{/privacy}","received_events_url":"https://api.github.com/users/mattrc/received_events","type":"User","site_admin":false},"created_at":"2017-08-16T18:11:53Z","updated_at":"2017-08-16T18:11:53Z","body":"+1"}}
{"actor":{"display_login":"mattrc"}}