Skip to content

Linux-first Plex client that provides media key shortcuts.

License

Notifications You must be signed in to change notification settings

aknobloch/QtPlex

Repository files navigation

QtPlex

QtPlex provides a Linux-first solution for streaming Plex media. The application is a shallow wrapper into the standard web interface, with the added benefits of native features such as media keyboard shortcuts.

QtPlex GUI Example

Installation and Setup

Prerequisites

  • Accessible server running Plex.

Installation

  1. Install QtCreator. If you are an individual developer, you can use the free, open source installation.
  2. Install the libraries needed for QtPlex:
$ sudo apt-get install qtwebengine5-dev qtdeclarative5-dev libqt5x11extras5-dev libfontconfig1-dev libfreetype6-dev libx11-dev libxext-dev libxfixes-dev libxi-dev libxrender-dev libxcb1-dev libx11-xcb-dev libxcb-glx0-dev libxkbcommon-x11-dev
  1. Open the QtPlex.pro file in QtCreator, then build/run.
  2. [Optional] Add a desktop file for launching:
[Desktop Entry]
Type=Application
Name=QtPlex
Keywords=audio;plex;qt
Icon=/path/to/build-QtPlex-Desktop-Release/res/icon256.png
Exec=/path/to/build-QtPlex-Desktop-Release/QtPlex
Terminal=false
StartupWMClass=QtPlex

Known Issues

GNOME Intercepts (Issue #14)

If you notice the application no longer responding to media keys, and instead a pop-up shown indicating there are no media applications present, you can disable GNOME from intercepting X keys. You can read more here.

Workaround:

  1. Install dconf-editor
  2. Open dconf-editor and navigate to org.gnome.settings-daemon.plugins.media-keys.
  3. Remove the previous-static binding by changing the value to nothing (['']).
  4. Repeat the above for pause-static, play-static, stop-static and next-static.
  5. If problems persist, look through the settings in step two and validate nothing is bound to suspicious XF86Audio*keys.

Proprietary Codecs

In order to enable full functionality of the Plex web app (video and particular audio), some proprietary codecs need to be available to the QtWebEngine. Unfortunately, due to licensing, these cannot be packaged with the Qt libraries, or through this application. As such, you'll need to build the QtWebEngine from source. You can find more information on building QtWebEngine from source here. Before running the qmake command in that guide, you'll need to enable the proprietary codecs using the --webengine-proprietary-codecs flag. For example, qmake -r -- --webengine-proprietary-codecs. More information on that can be found here.


Acknowledgments

This project is dependent on Plex and Qt, and the hard-working developers there who build and maintain the core features that QtPlex relies on. Additionally, QHotKey enabled the base framework for cross-platform keyboard hooks.

About

Linux-first Plex client that provides media key shortcuts.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published