|
| 1 | +# LG TV Remote for KDE Plasma 6 |
| 2 | + |
| 3 | +A KDE Plasma 6 widget to control your LG webOS TV directly from your desktop. |
| 4 | + |
| 5 | + |
| 6 | + |
| 7 | + |
| 8 | +## Features |
| 9 | + |
| 10 | +- **Power Control**: Turn your TV on (Wake-on-LAN) and off |
| 11 | +- **Navigation**: D-pad controls for menu navigation |
| 12 | +- **Volume**: Volume up/down and mute/unmute |
| 13 | +- **Keyboard Shortcuts**: Control your TV with keyboard |
| 14 | +- **Persistent Daemon**: Fast response with background connection |
| 15 | +- **SSL Support**: Works with newer TV firmware |
| 16 | + |
| 17 | +## Installation |
| 18 | + |
| 19 | +### Step 1: Install Python websockets |
| 20 | + |
| 21 | +**NixOS** - Add to your `configuration.nix`: |
| 22 | +```nix |
| 23 | +environment.systemPackages = with pkgs; [ |
| 24 | + (python3.withPackages (ps: [ ps.websockets ])) |
| 25 | +]; |
| 26 | +``` |
| 27 | + |
| 28 | +**Other distros**: |
| 29 | +```bash |
| 30 | +pip install --user websockets |
| 31 | +``` |
| 32 | + |
| 33 | +### Step 2: Install the Widget |
| 34 | + |
| 35 | +**Option A: From .plasmoid file** (easiest) |
| 36 | +1. Download `lgtv-remote.plasmoid` from [Releases](https://github.com/jaredcat/plasmoid-lgtv-remote/releases) |
| 37 | +2. Open System Settings → Appearance → Plasma Style |
| 38 | +3. Click "Get New..." → "Install from File..." |
| 39 | +4. Select the downloaded `.plasmoid` file |
| 40 | + |
| 41 | +**Option B: From source** |
| 42 | +```bash |
| 43 | +git clone https://github.com/jaredcat/plasmoid-lgtv-remote.git |
| 44 | +cd plasmoid-lgtv-remote/plasmoid |
| 45 | +./install.sh |
| 46 | +``` |
| 47 | + |
| 48 | +### Step 3: Add to Panel |
| 49 | + |
| 50 | +1. Right-click your panel → "Add Widgets" |
| 51 | +2. Search for "LG TV Remote" |
| 52 | +3. Drag to your panel |
| 53 | + |
| 54 | +### Step 4: Setup |
| 55 | + |
| 56 | +1. Click the widget to open it |
| 57 | +2. Enter your TV's IP address (find in TV Settings → Network) |
| 58 | +3. Enter a name for your TV (e.g., "LivingRoomTV") |
| 59 | +4. Click "Auth" and accept the pairing on your TV screen |
| 60 | + |
| 61 | +## Keyboard Shortcuts |
| 62 | + |
| 63 | +| Key | Action | |
| 64 | +|-----|--------| |
| 65 | +| Arrow Keys | Navigate | |
| 66 | +| Enter | OK/Select | |
| 67 | +| Backspace/Esc | Back | |
| 68 | +| + / = | Volume Up | |
| 69 | +| - | Volume Down | |
| 70 | +| Shift + = | Unmute | |
| 71 | +| Shift + - | Mute | |
| 72 | + |
| 73 | +## Power On (Wake-on-LAN) |
| 74 | + |
| 75 | +For Power On to work, enable "Wake on LAN" on your TV: |
| 76 | +- Settings → Network → "Mobile TV On" or "Wake on LAN" |
| 77 | + |
| 78 | +## Updating the Widget |
| 79 | + |
| 80 | +After reinstalling, refresh Plasma: |
| 81 | +```bash |
| 82 | +plasmashell --replace & |
| 83 | +``` |
| 84 | + |
| 85 | +## Building from Source |
| 86 | + |
| 87 | +```bash |
| 88 | +# Clone |
| 89 | +git clone https://github.com/jaredcat/plasmoid-lgtv-remote.git |
| 90 | +cd plasmoid-lgtv-remote |
| 91 | + |
| 92 | +# NixOS: Enter dev shell |
| 93 | +nix develop |
| 94 | + |
| 95 | +# Install |
| 96 | +cd plasmoid && ./install.sh |
| 97 | + |
| 98 | +# Package for distribution |
| 99 | +./package.sh |
| 100 | +``` |
| 101 | + |
| 102 | +## Creating a Release |
| 103 | + |
| 104 | +Push a version tag to trigger automatic packaging: |
| 105 | +```bash |
| 106 | +git tag v1.0.0 |
| 107 | +git push origin v1.0.0 |
| 108 | +``` |
| 109 | + |
| 110 | +The GitHub Action will create a release with the `.plasmoid` file attached. |
| 111 | + |
| 112 | +## Troubleshooting |
| 113 | + |
| 114 | +### Widget not appearing after install |
| 115 | +```bash |
| 116 | +plasmashell --replace & |
| 117 | +``` |
| 118 | + |
| 119 | +### "websockets module not found" |
| 120 | +Install the Python websockets module (see Step 1 above). |
| 121 | + |
| 122 | +### Authentication fails |
| 123 | +- Make sure TV is on and connected to network |
| 124 | +- Check the IP address is correct |
| 125 | +- Accept the pairing prompt on TV screen |
| 126 | + |
| 127 | +### Power On doesn't work |
| 128 | +- Enable "Wake on LAN" in TV network settings |
| 129 | +- Wait a few seconds after Power Off before trying Power On |
| 130 | + |
| 131 | +## License |
| 132 | + |
| 133 | +MIT License |
| 134 | + |
| 135 | +## Credits |
| 136 | + |
| 137 | +- Protocol based on [LGWebOSRemote](https://github.com/klattimer/LGWebOSRemote) |
| 138 | +- Built for KDE Plasma 6 |
0 commit comments