Broadcast Widget
The Broadcast widget turns a panel into a live-stream wall — curated finance and news feeds, your own custom streams, multi-stream grid view, and picture-in-picture for watching while you trade.
Features
- Curated channel list — built-in finance and news streams, browsable by category
- Custom streams — add any YouTube live, Twitch channel, HLS (.m3u8), or generic iframe URL
- Favorites — star any channel to keep it at the top of the browser
- Multi-stream tabs — run several streams at once and switch between them
- Grid view — watch up to 4 streams simultaneously in a 2×2 layout
- Picture-in-picture — pop the active stream into a floating always-on-top satellite window (desktop app only)
- Presets — save a set of active streams as a named preset and reload it with one click (up to 5 presets)
- Mute control — global mute toggle across all active streams
- Keyboard shortcuts — number keys switch tabs,
[/]cycle through them,Escreturns to the browser
Two Modes
The widget has a Browser mode and a Watch mode.
- Browser — search and category filter for curated channels, plus a "My Channels" tab for your custom streams. Shown automatically when no streams are active, or when you press
Esc. - Watch — once you've picked a stream, tabs appear at the top and the player fills the rest of the widget.
Adding a Custom Stream
Click the Add button in the browser to open the Add Custom Stream modal:
- Enter a Name (how it'll show up in your tabs)
- Paste a URL
- The modal auto-detects the type —
youtube,twitch,hls, oriframe - Click Add Stream
| Detected as | URL pattern |
|---|---|
| youtube | youtube.com or youtu.be |
| twitch | twitch.tv/<channel> |
| hls | Any URL ending in .m3u8 |
| iframe | Anything else (best-effort generic embed) |
Custom streams persist with your widget config. Delete them from the browser's "My Channels" tab.
Tabs
Each active stream gets a tab at the top of the widget:
- Click a tab to switch to it
- Click the
Xon a tab to close that stream - Click the
+to open the browser and add another stream - A small colored dot on each tab shows stream status — grey idle, yellow loading, green live, red error
Keyboard Shortcuts
| Key | Action |
|---|---|
1 – 9 | Jump to stream tab 1–9 |
[ | Previous tab |
] | Next tab |
Esc | Open the channel browser |
Shortcuts are disabled while you're typing in an input.
View Modes
Toggle between Tabs and Grid view from the toolbar.
- Tabs — one stream visible, the rest hidden but still loaded (so audio and playback continue if unmuted)
- Grid — up to 4 streams rendered simultaneously in a 2×2 layout, each labeled with the channel name
Grid only activates when you have 2+ active streams. With 3 streams, the fourth cell shows an + Add stream button.
Picture-in-Picture
The PiP button pops the currently active stream into a floating always-on-top window (400×225 by default). Great for watching a ticker feed while the main terminal stays focused on your trades.
Picture-in-picture requires the CubeTerminal desktop app. In the web build, the PiP button is a no-op.
Presets
Save and load sets of streams:
- Open the preset menu in the toolbar
- With your desired streams active, enter a name and click Save
- Loaded presets replace the current tab set with the preset's channels
- Delete presets from the same menu
- Max 5 presets per widget
Presets store only channel IDs, so loading one re-resolves against your current curated list and custom channels.
Categories
The channel browser filters curated channels by category:
| Category | Label |
|---|---|
| All | Every curated channel |
| Favorites | Only channels you've starred |
| financial | Finance-specific feeds |
| general-news | General news streams |
| my-channels | Your custom streams only |
A search box above the filter matches channel names.
Data Sources
- YouTube — live video embeds via the YouTube IFrame API
- Twitch — channel player via the Twitch embedded player
- HLS — direct
.m3u8playback - Generic iframe — best-effort for other streaming pages
All streams are embedded third-party players — CubeTerminal does not host or proxy stream content.