From e062548c81f2ca53aedac677abeacc4dd39116f4 Mon Sep 17 00:00:00 2001 From: Felix Rieseberg Date: Mon, 27 Aug 2018 08:20:51 -0700 Subject: [PATCH] :wrench: Add menu, credits --- CREDITS.md | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++ HELP.md | 18 ++++++++++++++++ src/menu.js | 39 +++++++++++++++++++++++++++++++++++ 3 files changed, 116 insertions(+) create mode 100644 CREDITS.md create mode 100644 HELP.md diff --git a/CREDITS.md b/CREDITS.md new file mode 100644 index 0000000..5fb99d5 --- /dev/null +++ b/CREDITS.md @@ -0,0 +1,59 @@ +# windows95 Credits + +This app was made possible by three major engineering efforts: + + * [v86 by Fabian Hemmer](https://github.com/copy/v86) + * [Electron by the Electron Maintainers](https://electronjs.org) + * Windows 95 by Microsoft + +# v86 License and Copyright Notice + +Copyright (c) 2012-2018, Fabian Hemmer +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +The views and conclusions contained in the software and documentation are those +of the authors and should not be interpreted as representing official policies, +either expressed or implied, of the FreeBSD Project. + +# Electron License and Copyright Notice + +Copyright (c) 2013-2018 GitHub Inc. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/HELP.md b/HELP.md new file mode 100644 index 0000000..af975ae --- /dev/null +++ b/HELP.md @@ -0,0 +1,18 @@ +# Help & Commonly Asked Questions + +## Windows 95 is stuck in a bad state + +Restart the application and click on the "Reset machine & delete state" button. +You can find it in the lower left of the screen. Then, hit the "Start Windows 95" +button to start your virtual machine again. + +## I want to install additional apps or games + +If you are running Windows 10, macOS, or Linux, you can probably "mount" the +virtual hard drive used by `windows95` to add files. Hit the "Show Disk Image" +button in the lower right of the app, which will take you to the disk image. +On both Windows 10 and macOS, double-click the disk image to open it. + +On Linux, search the Internet for instructions on how to mount an `img` disk +image on your distribution. + diff --git a/src/menu.js b/src/menu.js index 49efeab..6fe2a05 100644 --- a/src/menu.js +++ b/src/menu.js @@ -1,6 +1,13 @@ const { app, shell, Menu, BrowserWindow } = require('electron') const defaultMenu = require('electron-default-menu') +const LINKS = { + homepage: 'https://www.felixrieseberg.com', + repo: 'https://github.com/felixrieseberg/windows95', + credits: 'https://github.com/felixrieseberg/windows95/blob/master/CREDITS.md', + help: 'https://github.com/felixrieseberg/windows95/blob/master/HELP.md' +} + function send (cmd) { const windows = BrowserWindow.getAllWindows() @@ -18,6 +25,38 @@ async function createMenu () { }) } + if (item.label === 'Help') { + item.submenu = [ + { + label: 'Author', + click() { + shell.openExternal(LINKS.homepage) + }, + }, + { + label: 'Learn More', + click() { + shell.openExternal(LINKS.repo) + }, + }, + { + type: 'separator' + }, + { + label: 'Help', + click() { + shell.openExternal(LINKS.help) + } + }, + { + label: 'Credits', + click() { + shell.openExternal(LINKS.credits) + } + } + ] + } + return item }) .filter((item) => {