mirror of
https://github.com/wavetermdev/waveterm.git
synced 2025-03-09 13:00:53 +01:00
An open-source, cross-platform terminal for seamless workflows
* add filter button to the command input box This will become a button that temporarily filters out the non-running commands from your screen. At the moment it is only a placeholder design that will likely change with more feedback. It does not have any functionality at the moment. * add view indication of active filter This will become a clickable notification to let users know that a filter is being applied. It displays the number of lines that are being filtered. The plan is for it to be clickable to remove the filter. The current version is a placeholder that is likely to change. It has no functionality at the moment. * add basic state to the filtering buttons The filtering buttons up until this point haven't done anything. Now they can be clicked and unclick causing them to render differently depending on if they're selected. They still have no functionality outside of their own appearance. * add filtering functionality to filter button The filter button now hides all non-running commands. And pressing it again or pressing the other filter button will bring back the hidden commands. There are currently some formatting issues with the second button as it jumps to the top of the screen if the filter is on and no running commands are present. An additional change was made to remove a variable accidentally introduced in the last commit. * add count for number of lines filtered out The secondary filter button now lists the number of non-running commands that have been filtered out. This count is added to the screen model in case it is needed elsewhere. * fix the style on the secondary buttons This fixes the margin an the button to bring it in line with the line items. It also fixes empty window screen to use a different css class. Previously, the window-view class being used would cover the button. It is now using the window-empty class instead. * change formatting for secondary filter button The button is now yellow with a border style instead of red with a solid style. The border-radius has been changed to give the button a pill shape. Additionally, a style tab has been added to the button component to provide it with custom styling. It should be changed to a custom class design in the future. * update style on primary filter button This is being changed to simpler hover text in line with other text in the cmd box. * add number display as text for first filter button The main filter button originally displayed a somewhat vague message. Now it displays the number of running tasks with the rotating arrow symbol. * remove numLinesHidden count from model This numLineHidden count is no longer needed with the new button design. Furthermore, it created several warnings in react due to its implementation. For both of these reasons, it has been removed. * update filter functionality to better utilize mobx This consisted of a few changes. The first was to move the filter state from the GlobalModel to ScreenLines in order to track state separately for each screen. Then several of the functions had to be rewritten to wrap setting variables in the mobx.action wrapper. As is, there are still a few issues with this design: - the filter is not remembered when switching tabs - if all running tasks expire, the second filter button is still present * move filtering observable to Screen model The previous observable did not persist when changing tabs because ScreenLines did not persist. By moving it to Screen, the ovservable now persists after changing tabs. |
||
---|---|---|
.github/ISSUE_TEMPLATE | ||
buildres | ||
housekeeping | ||
public | ||
src | ||
waveshell | ||
wavesrv | ||
webpack | ||
.gitignore | ||
.prettierignore | ||
.prettierrc.json | ||
build-linux.md | ||
BUILD.md | ||
CODE_OF_CONDUCT.md | ||
CONTRIBUTING.md | ||
forge.config.js | ||
go.work | ||
go.work.sum | ||
LICENSE | ||
NOTICE | ||
package-lock.json | ||
package.json | ||
README.md | ||
scripthaus.md | ||
SECURITY.md | ||
tsconfig.json | ||
version.js | ||
versionmeta.json | ||
webpack.config.js | ||
yarn.lock |
Wave Terminal
A open-source, cross-platform, modern terminal 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
Installation
Wave Terminal works with MacOS and Linux (preliminary).
Install Wave Terminal from: www.waveterm.dev/download
Links
- Homepage — https://www.waveterm.dev
- Download Page — https://www.waveterm.dev/download
- Documentation — https://docs.waveterm.dev/
- Quick Start Guide — https://docs.waveterm.dev/quickstart/
- Discord Community — https://discord.gg/XfvZ334gwU
Building from Source
Contributing
Wave uses Github Project for tracking issues.
Find more information in our Contributions Guide, which includes: