Ripcord Dev Logo Ripcord Development — View Ticket Login or Create Account
Ticket UUID: f2a0cce6509b8f6fcba2a243a9fd9d1e93bdc08d
Title: Utilize the agnostic QPA Platform Theme of QT 5 to implement System Theme
Status: Closed Type: Feature_Request
Severity: Minor Priority: Low
Subsystem: General Resolution: Fixed
Last Modified: 2019-04-01 15:32:36
Version Found In: 0.3.5
rouing2018-10-17 00:27:54
Currently Speaking, the Ripcord Theme Engine is set using its own system.

Implemented into QT5 was an Environment Variable called QT_QPA_PLATFORMTHEME

Example:

I use LXQT as a DE on top of Openbox. Right now, the ENV is set to "lxqt"

LXQT Now controls the global default theme of QT5, here is a SS:

https://i.imgur.com/lAv91uH.png

This sets the QT5 Theme.

This function is provided by qt5-styleplugins package.

Right now, I have it set to the GTK2 theme which is controlled by  "lxappearance" (besides the point)

Example 2:

This is specific to LXQT which integrates the official tool called "Qt5 Configuration Tool" also known as qt5ct.

If that env variable is set to "qt5ct", then the theme is controlled by the qt5-ct tool:

https://cn.pling.com/img//hive/content-pre1/168066-1.png


As you can see here: https://i.imgur.com/995oruf.png

I have created a random dialog inside of Qt Designer. It has automagically assumed the theme of the entire system with no edits.


I would recommend that the Theme Platform of the application use the QT Theme Language and allow for selection of either local themes (defined in QT Theme Langauge but specific to Ripcord, held in Ripcord's config/cache/data directory)  or the system themes in combination. 

It would look something like this:

Use the Default System Theme
Fusion
Windows
BBWin10
BBWin10Dark
Stealth (Light) - Ripcord Theme (Written in QT Language for Compat)
Stealth (Dark)
etc etc etc
cancel2018-10-17 01:03:07
This is not possible in general, because Qt styles are C++ code, and most of the Qt styles that come with Linux distros are GPL code and aren't binary compatible across distros (like QGtkStyle.) But it might be possible for me to add an option under Linux to not explicitly load Fusion as the style, and then if you were to swap out the bundled Qt binaries in the Ripcord AppImage with the distro Qt binaries, you might be able to get another style to work. I'll have to add options for that.
cancel2019-04-01 15:32:36
This is now possible if you run Ripcord using your distro's Qt and other libraries. Use RIPCORD_STYLE_ENGINE=foo to have Ripcord use another QStyle engine instead of Phantom. The QPA should also be loaded and run correctly.