An open-source, cross-platform terminal for seamless workflows
Go to file
Mike Sawka 3c3eec73aa
reinit updates (#500)
* working on re-init when you create a tab.  some refactoring of existing reinit to make the messaging clearer.  auto-connect, etc.

* working to remove the 'default' shell states out of MShellProc.  each tab should have its own state that gets set on open.

* refactor newtab settings into individual components (and move to a new file)

* more refactoring of tab settings -- use same control in settings and newtab

* have screensettings use the same newtab settings components

* use same conn dropdown, fix classes, update some of the confirm messages to be less confusing (replace screen with tab)

* force a cr on a new tab to initialize state in a new line.  poc right now, need to add to new workspace workflow as well

* small fixups

* remove nohist from GetRawStr, make const

* update hover behavior for tabs

* fix interaction between change remote dropdown, cmdinput, error handling, and selecting a remote

* only switch screen remote if the activemainview is session (new remote flow).  don't switch it if we're on the connections page which is confusing.  also make it interactive

* fix wording on tos modal

* allow empty workspaces. also allow the last workspace to be deleted.  (prep for new startup sequence where we initialize the first session after tos modal)

* add some dead code that might come in use later (when we change how we show connection in cmdinput)

* working a cople different angles.  new settings tab-pulldown (likely orphaned).  and then allowing null activeScreen and null activeSession in workspaceview (show appropriate messages, and give buttons to create new tabs/workspaces).  prep for new startup flow

* don't call initActiveShells anymore.  also call ensureWorkspace() on TOS close

* trying to use new pulldown screen settings

* experiment with an escape keybinding

* working on tab settings close triggers

* close tab settings on tab switch

* small updates to tos popup, reorder, update button text/size, small wording updates

* when deleting a screen, send SIGHUP to all running commands

* not sure how this happened, lineid should not be passed to setLineFocus

* remove context timeouts for ReInit (it is now interactive, so it gets canceled like a normal command -- via ^C, and should not timeout on its own)

* deal with screen/session tombstones updates (ignore to quite warning)

* remove defaultfestate from remote

* fix issue with removing default ris

* remove dead code

* open the settings pulldown for new screens

* update prompt to show when the shell is still initializing (or if it failed)

* switch buttons to use wave button class, update messages, and add warning for no shell state

* all an override of rptr for dyncmds.  needed for the 'connect' command (we need to set the rptr to the *new* connection rather than the old one)

* remove old commented out code
2024-03-27 00:22:57 -07:00
.github Add scripthaus to path for Build Helper workflow (#458) 2024-03-14 12:23:35 -07:00
.testdriver test pr branch (#376) 2024-03-04 21:06:10 -08:00
.vscode only run prettier on js/ts/css/less files 2024-01-29 13:35:09 -08:00
acknowledgements Fix another acknowledgements readme typo (#431) 2024-03-11 17:46:43 -07:00
assets Keybind UI utils (#487) 2024-03-22 17:58:06 -07:00
buildres output dl links (#414) 2024-03-08 15:16:55 -08:00
housekeeping Create MacOS Universal Build (#62) 2023-11-05 00:00:47 -07:00
public Support os-native theming (#495) 2024-03-26 19:14:03 -07:00
src reinit updates (#500) 2024-03-27 00:22:57 -07:00
waveshell reinit updates (#500) 2024-03-27 00:22:57 -07:00
wavesrv reinit updates (#500) 2024-03-27 00:22:57 -07:00
webpack import aliass and configuration updates (#291) 2024-02-12 22:47:51 -08:00
.gitignore Support Linux packaging via electron-builder (#371) 2024-03-04 22:03:53 -08:00
.prettierignore add prettier to package.json 2023-08-21 21:33:47 -07:00
.prettierrc.json add prettier to package.json 2023-08-21 21:33:47 -07:00
build-linux.md fix directory names in build-linux.md. also fix reload accelerator for Linux (keybindings) 2024-02-15 10:01:18 -08:00
BUILD.md removed unecessary electron-rebuild steps (#439) 2024-03-12 13:12:40 -06:00
CODE_OF_CONDUCT.md PE 178 Add OSS files (#50) 2023-10-28 13:16:50 -07:00
CONTRIBUTING.md Tidy up contribution guide 2023-11-08 14:10:31 -05:00
electron-builder.config.js Add pacman artifact and update product tagline (#412) 2024-03-08 14:05:21 -08:00
go.work Update dependencies (#383) 2024-03-05 16:12:52 -08:00
go.work.sum update go.sum files (#391) 2024-03-06 14:47:41 -08:00
LICENSE Add Apache 2.0 License 2023-10-16 15:22:41 -07:00
NOTICE add notice and license in package.json 2023-10-16 15:21:21 -07:00
package.json bump version to v0.7.1 (#464) 2024-03-14 23:04:19 -07:00
README.md adding new screenshot to readme (#437) 2024-03-12 11:56:47 -06:00
scripthaus.md bump waveshell to v0.5.0 (#403) 2024-03-07 13:06:34 -08:00
SECURITY.md PE 178 Add OSS files (#50) 2023-10-28 13:16:50 -07:00
tsconfig.json global shortcut for wave (#287) 2024-02-13 17:43:02 -08:00
version.js Get version for build-universal from the build-helper output, use package.json for all versioning (#321) 2024-02-23 17:44:00 -08:00
webpack.config.js big update for webpack configs. use --env to select environment. now dev/prod will combine both web and electron webpack environments 2023-10-25 13:32:15 -07:00
yarn.lock Bump webpack-dev-middleware from 5.3.3 to 5.3.4 (#490) 2024-03-25 09:55:15 -07:00

Wave Terminal Logo

Wave Terminal

Wave is an open-source AI-native terminal built for seamless workflows.

Wave isn't just another terminal emulator; it's a rethink on how terminals are built. Wave combines command line with the power of the open web to help veteran CLI users and new developers alike.

  • Inline renderers to cut down on context switching. Render code, images, markdown, and CSV files without ever leaving the terminal.
  • Persistent sessions that can restore state across network disconnections and reboots
  • Searchable contextual command history across all remote sessions (saved locally)
  • Workspaces, tabs, and command blocks to keep you organized
  • CodeEdit, to edit local and remote files with a VSCode-like inline editor
  • AI Integration with ChatGPT (or ChatGPT compatible APIs) to help write commands and get answers inline

WaveTerm Screenshot

Installation

Wave Terminal works with MacOS and Linux.

Install Wave Terminal from: www.waveterm.dev/download

Also available as a homebrew cask for MacOS:

brew install --cask wave

Building from Source

Contributing

Wave uses Github Issues for issue tracking.

Find more information in our Contributions Guide, which includes: