You are not logged in.

#1 2015-02-17 04:25:12

divansantana
Member
Registered: 2011-01-21
Posts: 117

KDE theming inconsistent since qt5 apps

I have really strange KDE theming going on and have tried several things without any of them working.

Firstly I'm using i3, with some KDE apps.

I think the issue is kde5 apps in i3 refuse to get any widget/theming applied. I've tried breezy, oxygen etc.

Basically apps like:
- clipper
- konsole
- kate
- systemsettings5

http://ibin.co/1rvQsUchNttb
http://ibin.co/1rvRBXQpoyfD

Are missing their KDE themes/widget/fonts/colors etc. Specifically:
- Missing icons next to the button
- Font settings are ignored
- Color settings
- Save as dialog, looks just horrible and wrong

Apps that are working:
- kontact
- krusader

I'm pretty sure I tried installing the whole of plasma-meta and applying the theme.
But I'm willing to try whatever again to fix this.

Any ideas?

Offline

#2 2015-02-17 10:47:12

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 21,888

Re: KDE theming inconsistent since qt5 apps

https://wiki.archlinux.org/index.php/Un … Qt5_styles Is probably what you want to look at

Offline

#3 2015-02-17 12:55:04

divansantana
Member
Registered: 2011-01-21
Posts: 117

Re: KDE theming inconsistent since qt5 apps

Thanks, I had a look at that page a while back.

The qt5 link does help a little by setting
QT_STYLE_OVERRIDE=breeze/oxygen

However the icons and file dialogs are still broken
http://ibin.co/1rxvLgunnkiV
http://ibin.co/1rxufr0XIviw

Offline

#4 2015-02-18 06:12:10

divansantana
Member
Registered: 2011-01-21
Posts: 117

Re: KDE theming inconsistent since qt5 apps

Anyone?

Offline

#5 2015-02-18 06:13:13

jasonwryan
Anarchist
From: .nz
Registered: 2009-05-09
Posts: 30,424
Website

Re: KDE theming inconsistent since qt5 apps


Arch + dwm   •   Mercurial repos  •   Surfraw

Registered Linux User #482438

Offline

#6 2015-02-19 05:40:14

Goresome
Member
From: Russia
Registered: 2011-12-06
Posts: 67

Re: KDE theming inconsistent since qt5 apps

It fails to read settings because it doesn't believe you are in kde. Try setting DESKTOP_SESSION=kde (or plasma)

Last edited by Goresome (2015-02-19 05:41:07)

Offline

#7 2015-02-19 09:37:00

divansantana
Member
Registered: 2011-01-21
Posts: 117

Re: KDE theming inconsistent since qt5 apps

Goresome wrote:

It fails to read settings because it doesn't believe you are in kde. Try setting DESKTOP_SESSION=kde (or plasma)

Excellent thanks, one step in the right direction.

Never had to do this in kde4..., must be a qt5 thing...
I don't necessarily want to set this globally.
It's currently set to i3-with-shmlog

Hmm, I'll try think of a nice way to set it for certain qt5 apps.

Is there a qt5 config file where I can set this env variable?

Offline

#8 2015-02-19 09:45:38

Goresome
Member
From: Russia
Registered: 2011-12-06
Posts: 67

Re: KDE theming inconsistent since qt5 apps

divansantana wrote:
Goresome wrote:

It fails to read settings because it doesn't believe you are in kde. Try setting DESKTOP_SESSION=kde (or plasma)

Excellent thanks, one step in the right direction.

Never had to do this in kde4..., must be a qt5 thing...
I don't necessarily want to set this globally.
It's currently set to i3-with-shmlog

Hmm, I'll try think of a nice way to set it for certain qt5 apps.

Is there a qt5 config file where I can set this env variable?

I'm not aware if qt5 even has config file, however here is the root of evil:

static inline QByteArray detectDesktopEnvironment()
{
    const QByteArray xdgCurrentDesktop = qgetenv("XDG_CURRENT_DESKTOP");
    if (!xdgCurrentDesktop.isEmpty())
        return xdgCurrentDesktop.toUpper(); // KDE, GNOME, UNITY, LXDE, MATE, XFCE...
 
    // Classic fallbacks
    if (!qEnvironmentVariableIsEmpty("KDE_FULL_SESSION"))
        return QByteArrayLiteral("KDE");
    if (!qEnvironmentVariableIsEmpty("GNOME_DESKTOP_SESSION_ID"))
        return QByteArrayLiteral("GNOME");
 
    // Fallback to checking $DESKTOP_SESSION (unreliable)
    const QByteArray desktopSession = qgetenv("DESKTOP_SESSION");
    if (desktopSession == "gnome")
        return QByteArrayLiteral("GNOME");
    if (desktopSession == "xfce")
        return QByteArrayLiteral("XFCE");
 
    return QByteArrayLiteral("UNKNOWN");
}

qtbase src/platformsupport/services/genericunix/qgenericunixservices.cpp
When its UNKNOWN it simply fallbacks to Fusion.

Last edited by Goresome (2015-02-19 09:46:41)

Offline

Board footer

Powered by FluxBB