
Source (link to git-repo or to original if based on someone elses unmodified work): Add the source-code for this project on opencode.net
Kvantum is an SVG-based theme engine for Qt4/Qt5 and KDE, i.e. a program for styling Qt applications with SVG images, with an emphasis on elegance, usability and practicality.
Kvantum comes with a default dark theme, inspired by the default theme of Enlightenment. Creation of realistic themes like that for KDE was my first reason to make Kvantum but it allows themes with very different looks and feels, whether they be photorealistic or cartoonish, 3D or flat, embellished or minimalistic, or something in between.
Kvantum also has extra themes, that are installed as root with Qt5 installation and can be selected and activated by using Kvantum Manager.
The core idea of Kvantum, namely using of SVG images for drawing Qt widgets, is taken from QuantumStyle (not developed anymore but continued as QSvgStyle at https://github.com/DexterMagnific/QSvgStyle).
*** Compilation and Installation ***
Please read the file INSTALL for detailed instructions on compilation and installation for Qt4 and Qt5!
For 64-bit Debian Testing (and, perhaps, other 64-bit Debian-based systems too), you could just use the deb package(s) at https://github.com/tsujan/Kvantum/releases. There is also a link to 32 and 64-bit Arch packages, kindly made by Josip (metak), in the Files section of this page.
*** Theme Making ***
For instructions on how to change configuration or make new themes, please read the files Theme-Config and Theme-Making in the doc folder!
*** Notes ***
(1) Each new theme should be accompanied by a KDE color scheme because some KDE apps may use colors specific to KDE. Qt apps use Kvantum colors though.
(2) Kvantum does not provide window decorations. Such jobs are done by the window manager.
(3) For the latest and other releases, please go to the home page! This page may not be up-to-date.
6 years ago
See ChangeLog inside the source for a more thorough list.
15 Jun 2016
------------
* CPU usage optimization in extreme cases.
* Added two themes to the collection, one of which is translucent by default (KvRoughGlass).
* More QML corrections.
2 Jun 2016
------------
* Dealt with QML peculiarities.
* Added a key for disabling pushbutton contents shift (to Kvantum Manager).
* Added a hacking key for transparent PCManFM-Qt's folder-view (to Kvantum Manager).
* Added KvSimplicityDark to the extra themes.
* Some changes and additions for theme makers.
14 May 2016
------------
* Small changes.
* Made the first GitHub release (thanks to Matthew). A deb package for Debian Testing is also added. If (K)ubuntu and its derivatives need a separate deb package, I will add it here but, for now, they don't.
24 Apr 2016
------------
* Workaround for the Qt5 QMenu window type bug (I waited long enough for a fix. The workaround will be harmless if they fix the bug).
* Don't draw text shadow when it doesn't have enough contrast with text.
* Added a key for always centering doc tabs.
* Modifications to KvSimplicity.
* No need to a separate deb package for (K)ubuntu 16.04 and its derivatives for now.
......
6 years ago
See ChangeLog inside the source for a more thorough list.
15 Jun 2016
------------
* CPU usage optimization in extreme cases.
* Added two themes to the collection, one of which is translucent by default (KvRoughGlass).
* More QML corrections.
2 Jun 2016
------------
* Dealt with QML peculiarities.
* Added a key for disabling pushbutton contents shift (to Kvantum Manager).
* Added a hacking key for transparent PCManFM-Qt's folder-view (to Kvantum Manager).
* Added KvSimplicityDark to the extra themes.
* Some changes and additions for theme makers.
14 May 2016
------------
* Small changes.
* Made the first GitHub release (thanks to Matthew). A deb package for Debian Testing is also added. If (K)ubuntu and its derivatives need a separate deb package, I will add it here but, for now, they don't.
24 Apr 2016
------------
* Workaround for the Qt5 QMenu window type bug (I waited long enough for a fix. The workaround will be harmless if they fix the bug).
* Don't draw text shadow when it doesn't have enough contrast with text.
* Added a key for always centering doc tabs.
* Modifications to KvSimplicity.
* No need to a separate deb package for (K)ubuntu 16.04 and its derivatives for now.
......
Jack666
6 years ago
I guess I'll hold off on the rest since I don't want to damage anything...?
Thanks
Report
tsujan
6 years ago
Report
printesoi
6 years ago
This is a screenshot of clementine and the separators are looking quite ugly.
http://i.imgur.com/XBG0RK6.png
Report
tsujan
6 years ago
Report
tsujan
6 years ago
Report
tsujan
6 years ago
Report
Hombremaledico
6 years ago
I've tried from the theme config file, but no lucky so far.
Report
tsujan
6 years ago
Report
tsujan
6 years ago
A background consists of two parts: interior and frame. The interior cannot be used to get a consistent rounded look. The roundness effect is achieved by proper frame objects. Please see Glassy.svg (inside the source) for a few examples. For scrollbars also consider their width (scroll_width).
The size of radio buttons and checkboxes is fixed and set to 15px for now. I will add a common variable for them in v0.4. Thank you for the suggestion!
And yes, v0.4 will include text color control.
Report
Hombremaledico
6 years ago
Most probably i have this issue since the frame components are groups, consisting in two objects: one visible(which is the rounded part) and one invisible (i used the same svg from my plasma theme). Or maybe is just something that i can fix from the config file. I'll do some test and see.
Now i really can't wait for the new version :D
By the way, if you're ok i'll continue to post feature requests in the future, beyond possible bug reports ;)
Report
tsujan
6 years ago
Your theme was a great help to me in checking various aspects of Kvantum under a different light. Thank you very much!
Your feature requests will be very welcome.
Report
Hombremaledico
6 years ago
→ http://hombremaledicto.deviantart.com/art/Dynamo-Kvantum-Aurorae-and-colors-beta-473296917?ga_submit_new=10%253A1407248606
By the way, i'm not sure whether this is an issue or not(i'm still learning how to use inkscape, might be it's just my fault), but if i set a rounded background, it is not preserved on the widget when the orientation (left/vertical)changes, example:
→ http://postimg.org/image/fp3ajlbfh/
I was about to mention the same issue found by sixsixfive, but i see that you're already working on it.
Can't wait for the new version with colors control :)
P.s. Why not using github/sourceforge to host the source?
Report
sixsixfive
6 years ago
some styles also not possible due this issue eg: white window & dark menubar
And since qt is supporting css wouldn't it not better to use a stylesheet instead of images/svgs?
Report
tsujan
6 years ago
With both Qt and KDE, styling has two different parts: the style and the color scheme. I see it as a flexibility not a drawback.
Stylesheets are great but with them, you could control the look of a widget only to some extent. I wanted to have virtually full control over how widgets looked and that's possible only with SVG images. QuantumStyle had that potential but it was too buggy. QSvgStyle didn't provide what I needed either. In a nutshell, I needed a really usable SVG-based style, not just a concept.
Sharing what I did seemed reasonable to me later.
Report
sixsixfive
6 years ago
actually its a drawback, since the style uses qpalette(which is very limited: http://qt-project.org/doc/qt-4.8/qpalette.html) for it's colors so all text is forced to QPalette::WindowText wich is usually the opposite of QPalette::Window, but what happens if you have a white base theme and an svg uses a different color eg black for toolbars, menubars or tabs? you end up having black text on black widget and there is no way to fix it :(
some examples that can't be done:
http://opendesktop.org/content/show.php/Ambiance+%26+Radiance+Colors+Suite?content=147891
http://opendesktop.org/content/show.php/Divergence+IV+-+%22A+New+Hope%22?content=133892
http://opendesktop.org/content/show.php/Victory+%28Strikes+Again%29?content=123936
http://opendesktop.org/content/show.php/Shiki-Colors?content=86717
http://opendesktop.org/content/show.php/Ubuntu+Dust?content=88790
http://opendesktop.org/content/show.php/Elegant+Brit?content=74553
Report
tsujan
6 years ago
For non-editable widgets like toolbars, buttons, etc., that can be implemented in Kvantum by introducing new variables (keys). I hesitated to do so because I didn't want to violate the color scheme settings but now, that seems reasonable to me, especially when some of those settings are already "violated" by SVG background colors.
However, first let's see if any bug is found in Kvantum. There aren't lots of users yet but I use it with as various Qt4 apps as I can find. I hope I'll get more helpful feedbacks like yours.
Report
sixsixfive
6 years ago
Would it be possible to load one if one exists in the themedir? so you could completely pass adding new color keys?
in this case it would be just:
QMenuBar{
color:rgb(255,255,255);}
Report
tsujan
6 years ago
text.normal.color=white
text.focus.color=#80C0FF
If they are ommitted, the default color scheme is used. As you see, the whole structure of the config file is not so different from that of stylesheets. I think it's a bit more efficient.
I'll upload v0.4 soon. Just let me test it for a week or so.
Report