aboutsummaryrefslogtreecommitdiffstats
path: root/README.md
blob: c84bbb23020be4ca4a8bd4bc7a28f5aec39b5bf7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
# deck-it

Turns an Android tablet into a second monitor, a stream-deck and an always-on
control surface for a Slackware Hyprland desktop.

A web page on the tablet has tabs for system stats, music, windows, OBS and
LLM/build status. A second headless output is streamed to AVNC as an extra
monitor. Everything runs on the PC and reaches the tablet through `adb reverse`;
there is no cloud, account or app-store install.

## Requirements

**PC**
- Slackware-current with Hyprland (Lua or classic config)
- Python 3.11+ (`python3`)
- `websocket-client` (obs-websocket)
- `adb`, `wayvnc`, `openssl`
- `playerctl`, `wpctl` (PipeWire), `wtype`
- optional: `qrencode` for Wi-Fi pairing

**Tablet**
- Android with USB debugging or Wireless debugging
- [AVNC](https://github.com/gujjwal00/avnc) for the extended display
- a Chromium-based browser for the web app (install it from the menu)

## Install

```sh
git clone https://git.danix.xyz/deck-it ~/Programming/GIT/deck-it
cp ~/Programming/GIT/deck-it/config.toml ~/.config/deck-it/config.toml   # optional
~/Programming/GIT/deck-it/deck-it
```

The launcher creates the headless output, starts wayvnc and the server, tunnels
them to the tablet, and opens the dashboard and AVNC. `deck-it stop` tears it
down.

Over Wi-Fi, pair once and pass the tablet's Wireless debugging address:

```sh
deck-it pair
deck-it wifi 192.168.1.50:41234
```

## Usage

- Tabs: **Dashboard** (draggable/resizable cards), **Windows**, **OBS**. Swipe
  the content sideways to change tab.
- `deck-it install` prints the `exec-once` line for hypr-theme's autostart.
- Configuration lives in `config.toml`: workspaces, launcher icons, OBS
  websocket, llm-cost-dashboard URL, build VM host, hardware overrides.
- The OBS tab is a stream-deck: scenes, sources, audio sliders, transitions.
  Long-press a source to open its properties dialog in OBS.
- The Windows tab has workspaces, icon launchers, and a per-window `⋮` menu to
  close it or move it to another desktop.

## License

Copyright (C) 2026 Danilo M. <danix@danix.xyz>

GPLv2 only. See [LICENSE](LICENSE) for the full text. Portions derived from
tabdeck (MIT) are noted in [LICENSE.tabdeck](LICENSE.tabdeck) and
[NOTICE](NOTICE).

## Development Approach

This project is developed using AI-assisted tools. Code is generated with the help of AI based on human-provided specifications, design decisions, and iterative feedback.

All contributions are reviewed, tested, and curated by the maintainer before being included in the codebase. AI is used as a productivity and exploration tool, while human oversight remains central to all decisions.

The goal is to combine the flexibility of AI-assisted development with standard open-source practices such as transparency, review, and accountability.