This forum has been archived. All content is frozen. Please use KDE Discuss instead.

oxygen widget style

Tags: None
(comma "," separated)
RJVB
Registered Member
Posts
79
Karma
0
OS

oxygen widget style

Sat Jun 21, 2014 11:45 am
I really like the Oxygen style so I went through a little effort to see if I could get the kde-workspace package to build under MacPorts. I had to turn off lots of things (
Code: Select all
-DBUILD_appmenu:BOOL=OFF -DBUILD_cursors:BOOL=OFF -DBUILD_freespacenotifier:BOOL=OFF -DBUILD_kcminit:BOOL=OFF -DBUILD_kcontrol:BOOL=OFF -DBUILD_khotkeys:BOOL=OFF -DBUILD_kinfocenter:BOOL=OFF -DBUILD_klipper:BOOL=OFF -DBUILD_kmenuedit:BOOL=OFF -DBUILD_krunner:BOOL=OFF -DBUILD_kscreensaver:BOOL=OFF -DBUILD_ksmserver:BOOL=OFF -DBUILD_ksplash:BOOL=OFF -DBUILD_kstartupconfig:BOOL=OFF -DBUILD_ksystraycmd:BOOL=OFF -DBUILD_kwin:BOOL=OFF -DBUILD_plasma:BOOL=OFF -DBUILD_powerdevil:BOOL=OFF -DBUILD_solid-actions-kcm:BOOL=OFF -DBUILD_webkit:BOOL=ON
, as well as the task manager in libs/CMakeFile.txt) but it builds and works, including the systemsettings application.

The oxygen style also works ... almost: side-by-side comparison with the native macintosh style

It's clearly evident that for some reason the native Mac style wastes a lot more vertical space. It also uses a design that feels outdated even on OS X 10.6, but that may just be me.

Oxygen however seems to be drawing certain (?) outlines twice, or with too heavy borders. That's a pity, because it'd be perfectly usable otherwise, and looking good too.
I realise the whole workspace package may not be supported outside of Unix/X11 environments, but I'd appreciate some pointers on where to look in the Oxygen source code to tackle the border width issue.
Should I report this as an "enhancement request" in the bug tracker?

PS: indeed, those are not the standard OS X fonts; I used TinkerTool (and KDE's systemsettings) to configure Zapf Elliptical for the fonts you're seeing).
User avatar
bcooksley
Administrator
Posts
19765
Karma
87
OS

Re: oxygen widget style

Sun Jun 22, 2014 2:29 am
How did you set Qt to use the Oxygen theme? It definitely looks like something is going wrong there.
You could try launching an application using the -style oxygen option for instance.


KDE Sysadmin
[img]content/bcooksley_sig.png[/img]
RJVB
Registered Member
Posts
79
Karma
0
OS

Re: oxygen widget style

Sun Jun 22, 2014 4:15 pm
bcooksley wrote:How did you set Qt to use the Oxygen theme? It definitely looks like something is going wrong there.


I don't think so. For some reason the GUI to select a theme for the application appearance isn't there, so I just edited kglobalrc, replacing "macintosh" with "oxygen".

You could try launching an application using the -style oxygen option for instance.


Tried that, doesn't make a difference whatsoever.
User avatar
bcooksley
Administrator
Posts
19765
Karma
87
OS

Re: oxygen widget style

Wed Jun 25, 2014 9:31 am
Unfortunate. If you open Qt Configuration (qtconfig) does that offer any options to change the style?


KDE Sysadmin
[img]content/bcooksley_sig.png[/img]
RJVB
Registered Member
Posts
79
Karma
0
OS

Re: oxygen widget style

Wed Jun 25, 2014 10:00 am
Well, it doesn't even propose the style. Where/how is Qt supposed to find additional styles?

I did have a hunch what goes wrong, but that appears to be false alarm. When using GTk+ apps that display through the XQuartz X.org server, fonts render too large on my system unless I set display density to 75dpi (through the Xft.dpi X11 resource). I thought maybe the oxygen style based some of its settings on X11 resources, but apparently it doesn't.
Also, as far as it's relevant: oxygen-gtk2 and oxygen-gtk3 both work fine (except for the font size thing).
User avatar
bcooksley
Administrator
Posts
19765
Karma
87
OS

Re: oxygen widget style

Wed Jun 25, 2014 10:28 am
Ah, my guess is that Qt on Mac expects to just use the native Mac style it ships with. I'd say the weird appearance is likely some sort of conflict between Oxygen and the Mac style, which would explain the double bordering, etc. You may want to try asking on #kde-mac on Freenode if anybody else has tried to use Oxygen on OS X.


KDE Sysadmin
[img]content/bcooksley_sig.png[/img]
RJVB
Registered Member
Posts
79
Karma
0
OS

Re: oxygen widget style

Wed Jun 25, 2014 11:03 am
Not exactly, it does have the CDE, Cleanlooks, Windows etc. styles. And those work just fine.
But I'll try IRC, maybe indeed someone has an idea. Personally I think it's just a case of different interpretation of certain line drawing commands. In a different context I've seen something similar with certain line widths in postscript files produced by OS X's Quartz engine, when imported into Adobe Illustrator
User avatar
bcooksley
Administrator
Posts
19765
Karma
87
OS

Re: oxygen widget style

Wed Jun 25, 2014 11:14 am
Hmm. One possibility then is that Qt is not finding the Oxygen style. Where did you install the Oxygen style to?
Also, does running a Qt application with a -style parameter which refers to a style that doesn't exist give a similar appearance?


KDE Sysadmin
[img]content/bcooksley_sig.png[/img]
RJVB
Registered Member
Posts
79
Karma
0
OS

Re: oxygen widget style

Wed Jun 25, 2014 1:41 pm
It's clear that it doesn't find the style. As in qt-x11, qtconfig says you can install styles via plugins, and that the "Library Path tab" will tell more ... and as under X11 that tab doesn't exist. On OS X, qtconfig doesn't even honour the -style argument, so in the end I changed the configuration file (com.trolltech.plist) directly. That just gave me the default style, and "unknown" in the style selector.

Yet I can find no trace on google of lack of support for style plugins on OS X (rather the contrary, since a not-so-old 4.x version).

Any idea where Qt usually looks for style plugins? Or of a nice contrib Qt style that doesn't require Linux (like QtCurve) I could try installing?
User avatar
bcooksley
Administrator
Posts
19765
Karma
87
OS

Re: oxygen widget style

Fri Jun 27, 2014 4:50 am
Is the Oxygen style installed to the same prefix Qt itself is?


KDE Sysadmin
[img]content/bcooksley_sig.png[/img]
RJVB
Registered Member
Posts
79
Karma
0
OS

Re: oxygen widget style

Fri Jun 27, 2014 8:05 am
Yes, of course. I built and installed it using MacPorts's cmake . In fact, I created a local port file that installs the kde-workspace package (the compatible parts, at least) through the port command, which means it gets built in a sort of sandboxed environment. And against MacPorts's Qt4-mac port, evidently.
User avatar
bcooksley
Administrator
Posts
19765
Karma
87
OS

Re: oxygen widget style

Fri Jun 27, 2014 8:40 am
Hmm. What is the output of "qmake -query"?


KDE Sysadmin
[img]content/bcooksley_sig.png[/img]
RJVB
Registered Member
Posts
79
Karma
0
OS

Re: oxygen widget style

Fri Jun 27, 2014 12:01 pm
Code: Select all
QT_INSTALL_PREFIX:/opt/local
QT_INSTALL_DATA:/opt/local/share/qt4
QT_INSTALL_DOCS:/opt/local/share/doc/qt4
QT_INSTALL_HEADERS:/opt/local/include
QT_INSTALL_LIBS:/opt/local/lib
QT_INSTALL_FRAMEWORKS:/opt/local/Library/Frameworks
QT_INSTALL_BINS:/opt/local/bin
QT_INSTALL_PLUGINS:/opt/local/share/qt4/plugins
QT_INSTALL_IMPORTS:/opt/local/share/qt4/imports
QT_INSTALL_TRANSLATIONS:/opt/local/share/qt4/translations
QT_INSTALL_CONFIGURATION:/opt/local/etc/qt4
QT_INSTALL_EXAMPLES:/opt/local/share/qt4/examples
QT_INSTALL_DEMOS:/opt/local/share/qt4/demos
QMAKE_MKSPECS:/opt/local/share/qt4/mkspecs
QMAKE_VERSION:2.01a
QT_VERSION:4.8.6
User avatar
bcooksley
Administrator
Posts
19765
Karma
87
OS

Re: oxygen widget style

Tue Jul 01, 2014 5:36 am
What files exist underneath /opt/local/share/qt4/plugins/styles/?
I suspect you'll find "oxygen.dylib" underneath /opt/local/share/kde4/plugins/styles/ if it isn't underneath qt4/plugins/styles/.


KDE Sysadmin
[img]content/bcooksley_sig.png[/img]
RJVB
Registered Member
Posts
79
Karma
0
OS

Re: oxygen widget style

Tue Jul 01, 2014 8:13 am
In fact I have neither of those directories...

The shared libraries/plugins that get installed with the kde-workspace package are:
/opt/local/lib/kde4/plugins/gui_platform/libkde.dylib
/opt/local/lib/libkephal.4.12.5.dylib
/opt/local/lib/libkephal.4.dylib
/opt/local/lib/libkephal.dylib
/opt/local/lib/libkworkspace.4.12.5.dylib
/opt/local/lib/libkworkspace.4.dylib
/opt/local/lib/libkworkspace.dylib
/opt/local/lib/liboxygenstyle.4.12.5.dylib
/opt/local/lib/liboxygenstyle.4.dylib
/opt/local/lib/liboxygenstyle.dylib
/opt/local/lib/liboxygenstyleconfig.4.12.5.dylib
/opt/local/lib/liboxygenstyleconfig.4.dylib
/opt/local/lib/liboxygenstyleconfig.dylib
/opt/local/lib/libplasmaclock.4.12.5.dylib
/opt/local/lib/libplasmaclock.4.dylib
/opt/local/lib/libplasmaclock.dylib
/opt/local/lib/libplasmagenericshell.4.12.5.dylib
/opt/local/lib/libplasmagenericshell.4.dylib
/opt/local/lib/libplasmagenericshell.dylib
/opt/local/lib/libsystemsettingsview.2.dylib
/opt/local/lib/libsystemsettingsview.dylib

and

/opt/local/lib/kde4/classic_mode.so
/opt/local/lib/kde4/icon_mode.so
/opt/local/lib/kde4/kded_kephal.so
/opt/local/lib/kde4/kded_statusnotifierwatcher.so
/opt/local/lib/kde4/kgreet_classic.so
/opt/local/lib/kde4/kgreet_generic.so
/opt/local/lib/kde4/kgreet_winbind.so
/opt/local/lib/kde4/kstyle_oxygen_config.so
/opt/local/lib/kde4/plugins/styles/oxygen.so

Note that the non-standard .so extension is of no consequence (on OS X) as long as the files in question are not supposed to be loaded by the dynamic linker/loader (but are loaded explicitly at runtime). And they clearly are, or I'd not be able to run apps using the style at all. I'm also presuming that an error would be raised if the KDE runtime fails to load a requested plugin. In any case, dlsym("/opt/local/lib/kde4/plugins/styles/oxygen.so",...) succeeds.


Bookmarks



Who is online

Registered users: bartoloni, Bing [Bot], Google [Bot], Sogou [Bot], Yahoo [Bot]