QT4 Oxygen for Skype?

Hi,

I have a strange problem with skype: When it starts up, it uses the Plastique style which is neither configured in systemsettings (QT4) nor kcontrol (QT3). When I open up qtconfig, the Oxygen style is preselected. But when I select it again and click “save” in the file-menu, the Oxygen style now is applied correctly to Skype.

Why is this setting not saved? Any ideas?

I’m pretty sure Skype uses a statically-linked QT 4 library of its own, as opposed to using the system QT 4 and its settings. I could be wrong.

One could think that, I agree. But this would not explain why qtconfig has an influence on the style Skpe uses.

This is only true if you install the static Skype rpm. Otherwise, Skype relies on system libraries, including qt4.

Thanks for the clarification.

Still no solution so far? :slight_smile:

I guess that there should be a qt config file somewhere which is not written correctly so that skype cannout read it at startup.

In my home folder, there is a qtrc file in a hidden .qt folder, but there is an entry style=qtcurve which is used for qt3 apps but not for skype. Where does skype find the wrong style? :confused:

Maybe I should post this in the Skype forums…

I found a solution in the Skype forums! As default, skype is linked statically against the cleanlooks theme. You can override this on startup using the Skype parameter --no-cleanlooks

Works like a charm!

How can you make skype use this option everytime it starts up? I mean skype starts in my computer at startup, how can I add the --disable -cleanlooks option there?

Krulo wrote:
> How can you make skype use this option everytime it starts up? I mean
> skype starts in my computer at startup, how can I add the --disable
> -cleanlooks option there?

i guess that depends on how you cause it to auto-start…

if using KDE you have placed a link to the skype executable in your
~/.kde/Autostart directory, instead i’d place therein an executable shell script
file containing

Code:

#!/bin/sh
skype --no-cleanlooks

on the other hand, if it starts because you have elected to restart the desktop
environment in which you shut down, then i think you only need to open the
launching icon and add --no-cleanlooks to the executable’s optional on line
arguments…in KDE3 that is easily done by right clicking the icon, select
“Configure Skype Button”, typing

Code:

–no-cleanlooks

in the line labeled “Command line arguments (optional)” and clicking “Ok”…

i have no idea how to do either in KDE4 or Gnome…


DenverD (Linux Counter 282315)
A Texan in Denmark

In KDE4, your session is stored in ~/.kde4/share/config/ksmserverrc but the cleanlooks param is overwritten with each KDE shutdown.

So my solution was as followed:

I moved the skype binary from /usr/bin/skype to /usr/bin/skype_bin and created a new /usr/bin/skype file with the following content:

skype_bin --disable-cleanlooks &

But KDE then still writes skype_bin in its session file at shutdown. So I created another file named /usr/local/bin/skype_kde_session_fix.sh with the folwwing content:

sed 's/skype_bin/skype/g' ~/.kde4/share/config/ksmserverrc | sed 's/skype,-session/\/usr\/bin\/skype,-session/g' > /tmp/ksmserverrc
cp /tmp/ksmserverrc ~/.kde4/share/config/ksmserverrc

This code replaces the skype_bin session entry with our custom /usr/bin/skype script entry.

The last step is to add this script in the KDE Systemsettings -> Autostart section and change the start time to “start before KDE” and your are done.

Kinda hard one, wasn’t it. :wink:

Thanks for your script, is perfect, is just what I was looking for :). I had to restart skype every single time I started a new session to obtain the oxygen look, with your script this is not needed anymore, is just perfect, thank you very much.

i set the script to pre-kde startup but it always pops back to startup. any ideas why is that so?

I had the same problem, What I did is that I moved the script from

/home/raul/.kde4/Autostart

to

/home/raul/.kde4/env

That’s what systemsettings was supposed to do when you put the script in start before kde session, but it is not doing it.

i set the script to pre-kde startup but it always pops back to startup.
any ideas why is that so?


jurgis

jurgis’s Profile: http://forums.opensuse.org/member.php?userid=14380
View this thread: http://forums.opensuse.org/showthread.php?t=390334