fix directory names in build-linux.md. also fix reload accelerator for Linux (keybindings)

This commit is contained in:
sawka 2024-02-15 10:01:04 -08:00
parent b3ada77c39
commit 766b7b90ce
3 changed files with 32 additions and 27 deletions

View File

@ -5,24 +5,27 @@ If you're developing on Linux please use the [Linux Build Instructions](./build-
## Running the Development Version of Wave ## Running the Development Version of Wave
If you install the production version of Wave, you'll see a semi-transparent sidebar, and the data for Wave is stored in the directory ~/.waveterm. The development version has a blue sidebar and stores its data in ~/.waveterm-dev. This allows the production and development versions to be run simultaneously with no conflicts. If the dev database is corrupted by development bugs, or the schema changes in development it will not affect the production copy. If you install the production version of Wave, you'll see a semi-transparent gray sidebar, and the data for Wave is stored in the directory ~/.waveterm. The development version has a blue sidebar and stores its data in ~/.waveterm-dev. This allows the production and development versions to be run simultaneously with no conflicts. If the dev database is corrupted by development bugs, or the schema changes in development it will not affect the production copy.
## Prereqs and Tools ## Prereqs and Tools
Download and install Go (must be at least go 1.18): Download and install Go (must be at least go 1.18):
``` ```
brew install go brew install go
``` ```
Download and install ScriptHaus (to run the build commands): Download and install ScriptHaus (to run the build commands):
``` ```
brew tap scripthaus-dev/scripthaus brew tap scripthaus-dev/scripthaus
brew install scripthaus brew install scripthaus
``` ```
You also need a relatively modern nodejs with npm and yarn installed. You also need a relatively modern nodejs with npm and yarn installed.
* Node can be installed from [https://nodejs.org](https://nodejs.org).
* npm can install yarn using: - Node can be installed from [https://nodejs.org](https://nodejs.org).
- npm can install yarn using:
``` ```
npm install -g yarn npm install -g yarn
@ -45,6 +48,7 @@ This builds the Golang backends for Wave. The binaries will put in waveshell/bi
## One-Time Setup ## One-Time Setup
Install modules (we use yarn): Install modules (we use yarn):
``` ```
yarn yarn
``` ```
@ -66,13 +70,14 @@ scripthaus run webpack-watch
## Running the WaveTerm Dev Client ## Running the WaveTerm Dev Client
Now that webpack is running (and watching for file changes) we can finally run the WaveTerm Dev Client! To start the client run: Now that webpack is running (and watching for file changes) we can finally run the WaveTerm Dev Client! To start the client run:
``` ```
scripthaus run electron scripthaus run electron
``` ```
To kill the client, either exit the Electron App normally or just Ctrl-C the ```scripthaus run electron``` command. To kill the client, either exit the Electron App normally or just Ctrl-C the `scripthaus run electron` command.
Because we're running webpack in watch mode, any changes you make to the typescript will be automatically picked up by the client after a refresh. Note that I've disabled hot-reloading in the webpack config, so to pick up new changes you'll have to manually refresh the WaveTerm Client window. To do that use "Command-Shift-R" (Command-R is used internally by WaveTerm and will not force a refresh). Because we're running webpack in watch mode, any changes you make to the typescript will be automatically picked up by the client after a refresh. Note that I've disabled hot-reloading in the webpack config, so to pick up new changes you'll have to manually refresh the WaveTerm Client window. To do that use "Option-R" (Command-R is used internally by WaveTerm and will not force a refresh).
## Debugging the Dev Client ## Debugging the Dev Client

View File

@ -6,7 +6,7 @@ If you are working on a different Linux distribution, you may need to adapt some
## Running the Development Version of Wave ## Running the Development Version of Wave
If you install the production version of Wave, you'll see a semi-transparent sidebar, and the data for Wave is stored in the directory ~/prompt. The development version has a red/brown sidebar and stores its data in ~/prompt-dev. This allows the production and development versions to be run simultaneously with no conflicts. If the dev database is corrupted by development bugs, or the schema changes in development it will not affect the production copy. If you install the production version of Wave, you'll see a semi-transparent gray sidebar, and the data for Wave is stored in the directory ~/.waveterm. The development version has a blue sidebar and stores its data in ~/.waveterm-dev. This allows the production and development versions to be run simultaneously with no conflicts. If the dev database is corrupted by development bugs, or the schema changes in development it will not affect the production copy.
## Prereqs and Tools ## Prereqs and Tools
@ -50,7 +50,6 @@ Now we can install yarn:
npm install -g yarn npm install -g yarn
``` ```
## Clone the Wave Repo ## Clone the Wave Repo
Move out of the `scripthaus` directory if you're still in it. Clone the wave repository into the directory that you'd like to use for development. Move out of the `scripthaus` directory if you're still in it. Clone the wave repository into the directory that you'd like to use for development.
@ -62,6 +61,7 @@ git clone git@github.com:wavetermdev/waveterm.git
## One-Time Setup ## One-Time Setup
Install Wave modules (we use yarn): Install Wave modules (we use yarn):
``` ```
yarn yarn
``` ```
@ -83,7 +83,6 @@ scripthaus run build-backend
This builds the Golang backends for Wave. The binaries will put in waveshell/bin and wavesrv/bin respectively. If you're working on a new plugin or other pure frontend changes to Wave, you won't need to rebuild these unless you pull new code from the Wave Repository. This builds the Golang backends for Wave. The binaries will put in waveshell/bin and wavesrv/bin respectively. If you're working on a new plugin or other pure frontend changes to Wave, you won't need to rebuild these unless you pull new code from the Wave Repository.
## Running WebPack ## Running WebPack
We use webpack to build both the React and Electron App Wrapper code. They are both run together using: We use webpack to build both the React and Electron App Wrapper code. They are both run together using:
@ -95,11 +94,12 @@ scripthaus run webpack-watch
## Running the WaveTerm Dev Client ## Running the WaveTerm Dev Client
Now that webpack is running (and watching for file changes) we can finally run the WaveTerm Dev Client! To start the client run: Now that webpack is running (and watching for file changes) we can finally run the WaveTerm Dev Client! To start the client run:
``` ```
scripthaus run electron scripthaus run electron
``` ```
To kill the client, either exit the Electron App normally or just Ctrl-C the ```scripthaus run electron``` command. To kill the client, either exit the Electron App normally or just Ctrl-C the `scripthaus run electron` command.
Because we're running webpack in watch mode, any changes you make to the typescript will be automatically picked up by the client after a refresh. Note that I've disabled hot-reloading in the webpack config, so to pick up new changes you'll have to manually refresh the WaveTerm Client window. To do that use "Command-Shift-R" (Command-R is used internally by Wave and will not force a refresh). Because we're running webpack in watch mode, any changes you make to the typescript will be automatically picked up by the client after a refresh. Note that I've disabled hot-reloading in the webpack config, so to pick up new changes you'll have to manually refresh the WaveTerm Client window. To do that use "Command-Shift-R" (Command-R is used internally by Wave and will not force a refresh).

View File

@ -176,7 +176,7 @@ function readAuthKey() {
} }
return authKeyStr.trim(); return authKeyStr.trim();
} }
const reloadAcceleratorKey = unamePlatform == "darwin" ? "Option+R" : "Super+R";
let menuTemplate: Electron.MenuItemConstructorOptions[] = [ let menuTemplate: Electron.MenuItemConstructorOptions[] = [
{ {
role: "appMenu", role: "appMenu",
@ -202,7 +202,7 @@ let menuTemplate: Electron.MenuItemConstructorOptions[] = [
{ {
role: "viewMenu", role: "viewMenu",
submenu: [ submenu: [
{ role: "reload", accelerator: "Option+R" }, { role: "reload", accelerator: reloadAcceleratorKey },
{ role: "toggleDevTools" }, { role: "toggleDevTools" },
{ type: "separator" }, { type: "separator" },
{ role: "resetZoom" }, { role: "resetZoom" },