Initial release

Signed-off-by: Hans Kokx <hans.d.kokx@gmail.com>
This commit is contained in:
2026-01-24 16:35:05 +01:00
commit bb98eea050
4 changed files with 212 additions and 0 deletions

66
README.md Normal file
View File

@@ -0,0 +1,66 @@
# NextDNS Linux Trayicon
This small Python script and .desktop file add a quick toggle to the desktop
environment's system tray.
## Prerequisites
1. **NextDNS CLI**: The script controls the nextdns service. If you haven't installed it yet:
```bash
sh -c 'curl -sL https://nextdns.io/install | sh'
```
2. **Python 3 & PyQt6**: The interface is built using Python 3 and the Qt6
toolkit. (This is installed by default on (K)ubuntu.)
```bash
sudo apt update
sudo apt install python3 python3-pyqt6
```
3. **Polkit Agent**: The script uses pkexec to handle start/stop commands safely. Most desktop environments (KDE, GNOME, XFCE) come with this pre-installed.
## Installation
1. **Copy the files to your home directory:**
```bash
# Create directories if they don't exist
mkdir -p ~/.local/bin ~/.local/share/applications ~/.local/share/icons
# Copy the specific files
cp home/.local/bin/nextdns_tray ~/.local/bin/
cp home/.local/share/applications/nextdns-tray.desktop ~/.local/share/applications/
cp home/.local/share/icons/nextdns.png ~/.local/share/icons/
```
2. **Make the script executable**
```bash
chmod +x ~/.local/bin/nextdns_tray
```
3. **(Optional) Add to Autostart**: If you want the tray to start automatically when you log in:
```bash
mkdir -p ~/.config/autostart
cp ~/.local/share/applications/nextdns-tray.desktop ~/.config/autostart/
```
### Installation (one-liner)
```bash
sh -c 'curl -sL https://nextdns.io/install | sh'
sudo apt update
sudo apt install python3 python3-pyqt6
```
```bash
mkdir -p ~/.local/bin ~/.local/share/applications ~/.local/share/icons
cp home/.local/bin/nextdns_tray ~/.local/bin/
cp home/.local/share/applications/nextdns-tray.desktop ~/.local/share/applications/
cp home/.local/share/icons/nextdns.png ~/.local/share/icons/
chmod +x ~/.local/bin/nextdns_tray
mkdir -p ~/.config/autostart
cp ~/.local/share/applications/nextdns-tray.desktop ~/.config/autostart/
```

133
home/bin/nextdns_tray.py Normal file

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,13 @@
[Desktop Entry]
Type=Application
Name=NextDNS Tray
Comment=Manage NextDNS Service
# Ensure this path points to your actual script
Exec=python3 /home/hans/bin/nextdns_tray.py
# This is the icon that shows up in the menu/launcher
Icon=nextdns
Terminal=false
Categories=Network;System;
StartupNotify=false
# This prevents it from appearing as a blank window in the taskbar
X-KDE-StartupNotify=false

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB