Skip to content
Merged
Show file tree
Hide file tree
Changes from 6 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions Taskfile.yml
Original file line number Diff line number Diff line change
Expand Up @@ -156,6 +156,7 @@ tasks:
- tsunami/go.mod
- tsunami/go.sum
- tsunami/**/*.go
- package.json

build:schema:
desc: Build the schema for configuration.
Expand Down Expand Up @@ -185,6 +186,7 @@ tasks:
- "pkg/**/*.json"
- "pkg/**/*.sh"
- tsunami/**/*.go
- package.json
generates:
- dist/bin/wavesrv.*

Expand Down Expand Up @@ -289,6 +291,7 @@ tasks:
sources:
- "cmd/wsh/**/*.go"
- "pkg/**/*.go"
- package.json
generates:
- "dist/bin/wsh*"

Expand Down
8 changes: 8 additions & 0 deletions docs/docs/keybindings.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,14 @@ Chords are shown with a + between the keys. You have 2 seconds to hit the 2nd ch
| <Kbd k="Shift:PageUp"/> | Scroll up one page |
| <Kbd k="Shift:PageDown"/>| Scroll down one page |

## Process Viewer Keybindings

| Key | Function |
| ----------------------- | ------------------------------------- |
| <Kbd k="Space"/> | Pause / resume live updates |
| <Kbd k="Cmd:f"/> | Open process filter / search |
| <Kbd k="Escape"/> | Close search bar |

## Customizeable Systemwide Global Hotkey

Wave allows setting a custom global hotkey to focus your most recent window from anywhere in your computer. For more information on this, see [the config docs](./config#customizable-systemwide-global-hotkey).
Expand Down
2 changes: 1 addition & 1 deletion docs/docs/releasenotes.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ sidebar_position: 200
Wave v0.14.5 introduces a new Process Viewer widget, Quake Mode for global hotkey, and several quality-of-life improvements.

- **Process Viewer** - New widget that displays running processes on local and remote machines, with CPU and memory usage, sortable columns, and the ability to send signals to processes
- **Quake Mode** - The global hotkey (`app:globalhotkey`) now triggers a dedicated quake mode that drops a Wave window down from the top of the screen, similar to classic quake-style terminals
- **Quake Mode** - The global hotkey (`app:globalhotkey`) now toggles a Wave window visible and invisible
- **[bugfix] Settings Widget** - Fixed a bug where config files that didn't exist yet couldn't be created or edited from the Settings widget UI
- **Drag & Drop Files into Terminal** - Drag files from Finder (macOS) or your file manager into a terminal block to paste their quoted path ([#746](https://github.com/wavetermdev/waveterm/issues/746))
- New opt-in `app:showsplitbuttons` setting adds horizontal/vertical split buttons to block headers
Expand Down
7 changes: 7 additions & 0 deletions docs/docs/widgets.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ title: "Widgets"

import { Kbd } from "@site/src/components/kbd";
import { PlatformProvider, PlatformSelectorButton } from "@site/src/components/platformcontext";
import { VersionBadge } from "@site/src/components/versionbadge";

<PlatformProvider>

Expand Down Expand Up @@ -133,6 +134,12 @@ You can also switch to edit mode by pressing <Kbd k="Cmd:e" />.
Once an edit has been made in **edit mode**, click the save button to the right of the header to save the contents.
You can also save by pressing <Kbd k="Cmd:s" />.

### Process Viewer <VersionBadge version="v0.14.5" />

The Process Viewer shows a live list of running processes on any connected host. It is similar to `top` or `htop`, displaying PID, command, CPU%, and memory usage. On Linux it also shows process status and thread count.

Columns are sortable by clicking their headers. Right-clicking a row lets you send Unix signals (SIGTERM, SIGKILL, etc.) or copy the PID. You can filter the list by pressing <Kbd k="Cmd:f"/> and typing a search term. Press <Kbd k="Space"/> to pause live updates (useful when inspecting a specific process); press it again to resume.
Comment on lines +142 to +146
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

This heading breaks the Codeedit section hierarchy.

Adding ### Process Viewer here makes the following #### Exit Edit Mode Without Saving subsection a child of Process Viewer instead of Codeedit. Move this new section below the remaining Codeedit subsection, or move that #### block above it.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/docs/widgets.mdx` around lines 137 - 141, The new "### Process Viewer"
heading breaks the Codeedit section hierarchy by becoming a parent of the
subsequent "#### Exit Edit Mode Without Saving" subsection; to fix, relocate the
"### Process Viewer" block so it appears after all Codeedit-related subsections,
or alternatively move the "#### Exit Edit Mode Without Saving" block so it comes
before "### Process Viewer", ensuring the "Codeedit" section and its "####"
subsections remain siblings (search for the literal heading text "### Process
Viewer" and "#### Exit Edit Mode Without Saving" to make the change).


#### Exit Edit Mode Without Saving

To exit **edit mode** without saving, click the cancel button to the right of the header.
Expand Down
32 changes: 11 additions & 21 deletions frontend/app/onboarding/onboarding-upgrade-v0145.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ const UpgradeOnboardingModal_v0_14_5_Content = () => {
<div className="flex flex-col items-start gap-6 w-full mb-4 unselectable">
<div className="text-secondary leading-relaxed">
<p className="mb-0">
Wave v0.14.5 introduces a new Process Viewer widget, Quake Mode for the global hotkey, and several
quality-of-life improvements.
Wave v0.14.5 introduces a new Process Viewer widget, several quality-of-life improvements, and a
fix for creating new config files from the Settings widget.
</p>
</div>

Expand All @@ -24,19 +24,6 @@ const UpgradeOnboardingModal_v0_14_5_Content = () => {
</div>
</div>

<div className="flex w-full items-start gap-4">
<div className="flex-shrink-0">
<i className="text-[24px] text-accent fa-solid fa-terminal"></i>
</div>
<div className="flex flex-col items-start gap-2 flex-1">
<div className="text-foreground text-base font-semibold leading-[18px]">Quake Mode</div>
<div className="text-secondary leading-5">
The global hotkey (<code>app:globalhotkey</code>) now triggers a dedicated quake mode that
drops a Wave window down from the top of the screen, similar to classic quake-style terminals.
</div>
</div>
</div>

<div className="flex w-full items-start gap-4">
<div className="flex-shrink-0">
<i className="text-[24px] text-accent fa-solid fa-wrench"></i>
Expand All @@ -46,18 +33,21 @@ const UpgradeOnboardingModal_v0_14_5_Content = () => {
<div className="text-secondary leading-5">
<ul className="list-disc list-outside space-y-1 pl-5">
<li>
<strong>Drag &amp; Drop Files into Terminal</strong> - Drag files from Finder or your
file manager into a terminal to paste their quoted path
<strong>Quake Mode</strong> &mdash; global hotkey (
<code>app:globalhotkey</code>) now toggles a Wave window visible and invisible
</li>
<li>
<strong>Drag &amp; Drop Files into Terminal</strong>
to paste their quoted path
</li>
<li>
New opt-in <code>app:showsplitbuttons</code> setting adds split buttons to block
headers
New <code>app:showsplitbuttons</code> setting adds split buttons to block headers
</li>
<li>Toggle the widgets sidebar from the View menu</li>
<li>Toggle the widgets sidebar on and off from the View menu</li>
<li>F2 to rename the active tab</li>
<li>Mouse back/forward buttons now navigate in web widgets</li>
<li>
<strong>[bugfix]</strong>{" "}Config files that didn&apos;t exist yet couldn&apos;t be
<strong>[bugfix]</strong> Config files that didn&apos;t exist yet couldn&apos;t be
created or edited from the Settings widget
</li>
</ul>
Expand Down
6 changes: 5 additions & 1 deletion frontend/app/view/processviewer/processviewer.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -311,6 +311,10 @@ export class ProcessViewerViewModel implements ViewModel {
this.cancelPoll = null;
this.startKeepAlive();
} else {
if (this.cancelPoll) {
this.cancelPoll();
}
this.cancelPoll = null;
this.startPolling();
}
}
Expand Down Expand Up @@ -470,7 +474,7 @@ const Columns: ColDef[] = [
{ key: "pid", label: "PID", width: "70px", align: "right" },
{ key: "command", label: "Command", width: "minmax(120px, 4fr)" },
{ key: "status", label: "Status", width: "75px", hideOnPlatform: ["windows", "darwin"] },
{ key: "user", label: "User", width: "80px" },
{ key: "user", label: "User", width: "80px", hideOnPlatform: ["windows"] },
Comment thread
coderabbitai[bot] marked this conversation as resolved.
{ key: "threads", label: "NT", tooltip: "Num Threads", width: "40px", align: "right", hideOnPlatform: ["windows"] },
{ key: "cpu", label: "CPU%", width: "70px", align: "right" },
{ key: "mem", label: "Memory", width: "90px", align: "right" },
Expand Down
4 changes: 2 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 10 additions & 0 deletions pkg/wconfig/defaultconfig/widgets.json
Original file line number Diff line number Diff line change
Expand Up @@ -40,5 +40,15 @@
"view": "sysinfo"
}
}
},
"defwidget@processviewer": {
"display:order": -1,
"icon": "list-tree",
"label": "processes",
"blockdef": {
"meta": {
"view": "processviewer"
}
}
}
}
Loading
Loading