diff --git a/README.md b/README.md index 81d3fc5..a766038 100644 --- a/README.md +++ b/README.md @@ -36,20 +36,20 @@ A cross-platform desktop application that automatically creates Plex playlists f ### Linux -1. **Install Dependencies** +1. **Run the Installer** ```bash - pip install -r requirements.txt + ./install.sh ``` + This will: + - Install Python dependencies + - Set up virtual environment + - Install Chromium browser + - Create desktop icon + - Add to applications menu -2. **Make Scripts Executable** - ```bash - chmod +x journey_fm_app.sh - ``` - -3. **Run the Application** - ```bash - ./journey_fm_app.sh - ``` +2. **Launch from Menu** + - Search for "Journey FM Playlist" in your applications menu + - Or run: `./journey_fm_app.sh` ## ⚙️ Configuration @@ -57,11 +57,20 @@ A cross-platform desktop application that automatically creates Plex playlists f When you first run the application, a setup wizard will guide you through: -1. **Plex Token**: Get this from https://plex.tv/claim -2. **Server IP**: Your Plex server's local IP address -3. **Playlist Name**: Name for your Journey FM playlist +1. **Plex Token**: See below for how to get your Plex token +2. **Server IP**: Your Plex server's local IP address (e.g., 192.168.1.100) +3. **Playlist Name**: Name for your Journey FM playlist (default: "Journey FM Recently Played") 4. **Auto-Update Settings**: Enable automatic updates and set intervals +#### How to Get Your Plex Token + +1. Go to [https://plex.tv/claim](https://plex.tv/claim) in your web browser +2. Sign in with your Plex account +3. Copy the claim token from the page (it looks like: `pU-mHWYUZU6iXJFhJyA`) +4. Paste it into the application setup + +**Note**: This token is used to authenticate with your Plex server. Keep it secure and don't share it. + ### Manual Configuration You can also edit settings anytime through the Settings menu in the application. diff --git a/journey_fm_app.py b/journey_fm_app.py index 8e6ec8d..da51108 100644 --- a/journey_fm_app.py +++ b/journey_fm_app.py @@ -26,7 +26,7 @@ from PySide6.QtCore import ( Qt, QTimer, QThread, Signal, QSettings, QSize ) from PySide6.QtGui import ( - QIcon, QAction, QFont, QPixmap, QPainter, QColor + QIcon, QAction, QFont, QPixmap, QPainter, QColor, QDesktopServices ) # Import our existing functionality @@ -92,7 +92,17 @@ class SetupWizard(QDialog): self.token_input = QLineEdit() self.token_input.setPlaceholderText("Get this from https://plex.tv/claim") - form_layout.addRow("Plex Token:", self.token_input) + + # Token input with help button + token_layout = QHBoxLayout() + token_layout.addWidget(self.token_input) + help_button = QPushButton("?") + help_button.setMaximumWidth(30) + help_button.setToolTip("Click to open Plex token page") + help_button.clicked.connect(lambda: QDesktopServices.openUrl("https://plex.tv/claim")) + token_layout.addWidget(help_button) + + form_layout.addRow("Plex Token:", token_layout) self.server_input = QLineEdit() self.server_input.setPlaceholderText("e.g., 192.168.1.100")