| Crates.io | focuscast |
| lib.rs | focuscast |
| version | 0.0.4 |
| created_at | 2026-01-24 16:18:54.91193+00 |
| updated_at | 2026-01-25 18:23:23.950662+00 |
| description | a tui to automatically switch obs inputs based on the focused window |
| homepage | https://focuscast.matteogassend.com |
| repository | https://github.com/matfire/focuscast |
| max_upload_size | |
| id | 2066945 |
| size | 153,952 |
A terminal UI application that automatically shows/hides OBS scene items based on which window is currently focused.
cargo install --path .
Or build manually:
cargo build --release
The binary will be at target/release/focuscast.
Configuration is stored at:
~/Library/Application Support/focuscast/config.json~/.config/focuscast/config.json%APPDATA%\focuscast\config.json{
"obs": {
"host": "127.0.0.1",
"port": 4455,
"password": "your-obs-websocket-password"
},
"mappings": {
"Scene Name": [
{
"app_name": "Firefox",
"source_name": "Browser Capture"
},
{
"app_name": "Terminal",
"source_name": "Terminal Capture"
}
]
}
}
| Field | Default | Description |
|---|---|---|
host |
127.0.0.1 |
OBS WebSocket server host |
port |
4455 |
OBS WebSocket server port |
password |
null |
WebSocket password (if authentication is enabled) |
The obs section is optional. If omitted, defaults to 127.0.0.1:4455 with no password.
config.json if neededobs-focus-win
| Key | Action |
|---|---|
Tab |
Switch between Main and Config screens |
q |
Quit |
| Key | Action |
|---|---|
1 / 2 / 3 |
Select Windows / Scene Items / Mappings pane |
j / Down |
Move selection down |
k / Up |
Move selection up |
Enter / m |
Create mapping from selected window and scene item |
d / Delete |
Delete selected mapping |
r |
Refresh windows and scene items |
MIT