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

How to change KDE colourscsheme from within a script

Tags: None
(comma "," separated)
petrosyan
Registered Member
Posts
1
Karma
0
Hi all,

I want to implement a scheduled colourscheme changer. The idea is to set a kalarm script that edits a file and changes the colourscheme.

For example to automatically change the colourscheme to Breeze dark past 20:00, and to set uit back to Breeze at 19:00.

I tried to find a filethat defines the colourscheme, but it seems near impossible: the settings are duplicated all over the place and I don't know how to make the system refresh without logging out: the whole idea is to do this seamlessly.

Another possibility is to use
Code: Select all
kcmshell5 --args <something something=Breeze Dark> colors
trouble is to pass an argument that tells what to change the colorscheme to - Breeze Dark. Is there any documentation on supported arguments and or functions?

A third possibility is to implement this in the KCM colors itself, problem is I can't seem to find the repository and not everyone might like the change. It would still be a feature - changing colour contrast throughout the day, but you never know.

Last resort is to call
Code: Select all
kcmshell colors
and pass it a number of keypresses that changes the colourscheme. A terrible idea, but it might work for some simple usecases.

Any help would be much appreciated.
sonalimohol
Registered Member
Posts
4
Karma
0
The K Desktop Environment (KDE) includes a great terminal program called Konsole. Using Konsole you can access the Linux command line from within KDE. With Konsole you can change the background and foreground colors of your terminal window, and one of the best features is the ability to set the colors using the command line or Linux shell. This allows you to do some cool things like change the color scheme depending on the program you are running.
Changing the color scheme is as simple as typing:
konsoleprofile colors=ColorSchemeName
For example:
konsoleprofile colors=WhiteOnBlack
You can create your own custom color scheme by selecting Settings menu > Configure Profiles > choose “Shell” and click on “Edit” button > Appearance tab.
Changing color scheme on a per program basis
Say you login to a remote server via SSH. It would be helpful if the color profile changed to reflect that you were actually logged into a remote server. You can do that with konsoleprofile.
First you setup a bash alias that resets the color profile to your default one:
alias resetcolors='konsoleprofile colors=WhiteOnBlack;'
Then setup aliases that change the color profile and log you into the remote server:
alias sshadmin='konsoleprofile colors=WhiteOnDarkBlue;ssh admin@example.com; resetcolors'
Now if you type sshadmin the color scheme will be changed and you will be logged in via SSH. When you log out, the color scheme will reset back to the default!
This technique is especially helpful when you want to differentiate between different SSH accounts. For example if you are logged in as root you can have it change the background color to red so that you know you have to be careful what you type.
sonalimohol
Registered Member
Posts
4
Karma
0
Hello Ganders,
Thank you for your solution..!!!
User avatar
raphaelra
Registered Member
Posts
209
Karma
0
OS
petrosyan wrote:/.../ The idea is to set a kalarm script that edits a file and changes the colourscheme.

In KDE Neon i can change the color theme with:
Code: Select all
lookandfeeltool -a 'org.kde.breezedark.desktop'
and
Code: Select all
lookandfeeltool -a 'org.kde.breeze.desktop'


Bookmarks



Who is online

Registered users: Bing [Bot], Evergrowing, Google [Bot]