Closed ghost closed 9 years ago
well i almost forgot to ask: is there a way to disable the progressbar text without editing the kvantum.cpp?
Thank you very much for your valuable feedbacks!
Let me first tell where I disagree:
(1) Since Kvantum is a Qt/KDE theme engine, there's no point in adding SVG tools to it. Think about including Inkscape extensions in Plasma! On the other hand, I never needed those extensions for my themes, some of whose elements are quite complex. Inkscape was quite handy to me -- especially with its Boolean operations. However, that's just my personal experience with a specific app.
(2) I'd though about multiple SVG images. They had two drawbacks. First, every theme would be an amalgamation of images, which would make it untidy. Second, and more importantly, the RAM and CPU usage would increase.
(3) As for VLC, yes, some apps set hard-coded brushes/styles. Another example is Kcalc, that sets its button texts to be always QPalette::Text, even when the cursor is on them (why?!). Yet another example is Dolphin's Places item view texts. I also like to mention Rekonq, that doesn't consider the possibility of centered tabs. That's a mistake some developers make, i.e they set an incomplete style and forget about compatibility, perhaps because they only think of Oxygen. Kvantum forces its colors (and more) as far as possible. However, I'll think about more enforcement/hacks ;)
(4) Scribus is a GTK+Python app. Could you give me a Qt example?
Now, what I agree with:
(1) I'll add options for disabling mouse tracking and progressbar texts to both Kvantum and Kvantum Manager.
(2) I'll also add an option for bold texts to Kvantum.
(3) I remember I'd thought about toolbar handles before and decided they were better when scaled vertically. But I'll study that part of my code again and change it if possible.
At last, the points that weren't clear to me:
(1) What do you mean by EXTRA arrows for menuitems or treeviews? Could you please be more specific?
(2) Yes, about dialog > authors are displayed as toolbars. I have to see if that's specific to Kvantum or not. Thanks for mentioning.
(3) Could you please show me a screenshot of the pink stripe in kdewallet assistant? I see nothing here. If they're because of missing separators, they should show up in other places too?
(3) Could you please show me a screenshot of the pink stripe in kdewallet assistant?
ok i switched to the default theme and it was a black stipe so i guess its just a missing theme element
(1) What do you mean by EXTRA arrows for menuitems or treeviews? Could you please be more specific?
http://en.zimagez.com/zimage/snapshot1120.php
as you can see my hover/toggled arrows are blue, my hovered/toggled menuitems are blue too so it would be nice if i could use a different arrow set for the menuitems(eg white), the same also happens with arrows in treeviews since the toggled treeview background is blue ;)
Now I get it. It isn't easy to implement because of backward compatibility but I'll find a way. Let me add the other features first. Bold fonts require some work because they need extra spaces.
ah, ok ;)
Also could you add ~./themes/$THEMENAME and ~/.local/share/.themes/$THEMENAME as theme search paths? since, I would like to distribute the gtk, windowmanager and qt themes together
Nice idea! In that way, themes could be installed as deb, rpm, etc. too.
Just note that $THEMENAME would refer to the Kvantum theme FOLDER, i.e it should have a kvconfig file and/or an SVG image with the same name in it. So if you use the same name for a GTK theme, you could add those files to it too.
For now, I succeeded in adding options for textless progressbars, menubar mouse tracking, and bold font. The third options can't be set for group boxes, tool boxes and labels for obvious reasons.
Just note that $THEMENAME would refer to the Kvantum theme FOLDER, i.e it should have a kvconfig file and/or an SVG image with the same name in it.
ok, to follow other namings it should be something like
.../.themes/$themename/kvantum/$theme files .../.themes/$themename/gtk-2.0/$theme files .../.themes/$themename/openbox-3/$theme files
This seems more logical: I'll add these paths: ~/.themes/kvantum/, ~/.local/share/themes/kvantum/, and /usr/share/themes/kvantum/. The third will be for system wide installation. The Kvantum theme folder should be put in them. OK?
I know what you want but putting theme files in /$themename/kvantum/ isn't acceptable.
but then you would still need to copy/symlink the file to this place, which wouldn't change anything
It should be possible since its same as now just with a few more paths
(just like now) a config file to set the theme ~/.config/Kvantum/kvantum.kvconfig
[General] theme=TEST
so TEST would be $theme, so it would look for something like
if ~/.local/share/.themes/$theme/kvantum/$theme.kvconfig elif ~/.themes/$theme/kvantum/$theme.kvconfig elif ~/.config/kvantum/$theme/$theme.kvconfig #the current one for backward compatibility elif $SYSPREFIX/share/themes/$theme/kvantum/$theme.kvconfig else $builtintheme
Of course, it's possible, as there could be many other possibilities. All what I say is that it's somehow weird.
Take the example of Plasma. All Plasma themes go into ~/.kde(4)/share/apps/desktoptheme/. It would be quite confusing if the path was .../THEMENAME/desktoptheme/. Or all aurorae themes go into ~/.kde(4)/share/apps/aurorae/themes/ (the last folder is redundant logically).
However, let me reach that step first and then I'll discuss it with you IF the idea still seems weird to me. For now, I should fix some problems regarding bold/italic fonts.
well kde has it's own weird install system, installing themes all over the place, making manual theme install a pain for it's users
anyway here is a tiny list of good and bad examples.
KWin (Aurorae) theme needs to be copied to $HOME/.kde/share/apps/aurorae/$THEMEFOLDER/$THEMEFILES KWin (Dekorator) needs to be copied to $HOME/.kde/share/apps/dekorator/$THEMEFOLDER/$THEMEFILES KDE color scheme goes to $HOME/.kde/share/apps/color-schemes/$THEME.colors Plasma theme needs to be copied to $HOME/.kde/share/apps/desktoptheme/$THEMEFOLDER/$THEMEFILES Konsole colorsheme goes to $HOME/.kde/share/apps/konsole/$THEMEFOLDER.colorscheme .... the good examples:
GTK1 theme needs to be copied to $HOME/.themes/$THEMEFOLDER/gtk/$THEMEFILES GTK2 theme needs to be copied to $HOME/.themes/$THEMEFOLDER/gtk-2.0/$THEMEFILES GTK3 theme needs to be copied to $HOME/.themes/$THEMEFOLDER/gtk-3.0/$THEMEFILES Xfwm theme needs to be copied to $HOME/.themes/$THEMEFOLDER/xfwm4/$THEMEFILES Metacity theme needs to be copied to $HOME/.themes/$THEMEFOLDER/metacity-1/$THEMEFILES Openbox theme needs to be copied to $HOME/.themes/$THEMEFOLDER/openbox-3/$THEMEFILES Xfce-Notify theme needs to be copied to $HOME/.themes/$THEMEFOLDER/xfce4-notify/$THEMEFILES Xfce-balou theme needs to be copied to $HOME/.themes/$THEMEFOLDER/balou/$THEMEFILES GNOME-shell theme needs to be copied to $HOME/.themes/$THEMEFOLDER/gnome-shell/$THEMEFILES Unity theme needs to be copied to $HOME/.themes/$THEMEFOLDER/unity/$THEMEFILES Cinnamon theme needs to be copied to $HOME/.themes/$THEMEFOLDER/cinnamon/$THEMEFILES
the last ones are all great because I can simply zip the theme folder and a user just need to unzip it to $HOME/.themes or $sysprefix/share/themes it also allows me as theme creator to publish desktop independent themes
Now, the keys 'textless_progressbar' and 'menubar_mouse_tracking' can be added to the General section, while 'text.bold' and 'text.italic' can be added to widget sections (see Theme-Config). Users could change the first two with Kvantum Manager.
There was no problem with extra treeview indicators in the first place. You could just add 'indicator.element=X' to the TreeExpander section and also add X-plus-normal, X-minus-normal, etc. to your SVG image. They even don't need to be plus/minus signs.
The problem with extra menuitem indicators is also solved in a backward compatible way. Provided that you have 'indicator.element=menuitem' under the MenuItem section, you could add menuitem-right-normal, menuitem-left-normal, etc. to your SVG image. If they're missing, arrow-right-normal, arrow-left-normal, etc. will be used (provided that 'indicator.element=arrow' exists under the IndicatorArrow section).
Please test all of them (although I did). Moving on to the toolbar handle issue :)
Please test all of them (although I did). Moving on to the toolbar handle issue :)
oK, this will take a bit time ;)
There was no problem with extra treeview indicators in the first place
i don't mean the expanders i mean the arrows see shortcut editor, http://en.zimagez.com/zimage/unbenannt62.php
http://qt-project.org/doc/qt-4.8/qstyle.html
PM_ToolBarIconSize, PM_SmallIconSize, PM_LargeIconSize, PM_IconViewIconSize, PM_ListViewIconSize, PM_TabBarIconSize, PM_ButtonIconSize, PM_MessageBoxIconSize
http://qt-project.org/doc/qt-4.8/qt.html#ToolButtonStyle-enum
http://standards.freedesktop.org/icon-naming-spec/icon-naming-spec-latest.html http://blog.qt.digia.com/blog/2009/02/13/freedesktop-icons-in-qt/
QStyle::SP_MessageBoxInformation 9 The "information" icon. QStyle::SP_MessageBoxWarning 10 The "warning" icon. QStyle::SP_MessageBoxCritical 11 The "critical" icon. QStyle::SP_MessageBoxQuestion 12 The "question" icon. QStyle::SP_DesktopIcon 13 The "desktop" icon. QStyle::SP_TrashIcon 14 The "trash" icon. QStyle::SP_ComputerIcon 15 The "My computer" icon. QStyle::SP_DriveFDIcon 16 The floppy icon. QStyle::SP_DriveHDIcon 17 The harddrive icon. QStyle::SP_DriveCDIcon 18 The CD icon. QStyle::SP_DriveDVDIcon 19 The DVD icon. QStyle::SP_DriveNetIcon 20 The network icon. QStyle::SP_DirHomeIcon 55 The home directory icon. QStyle::SP_DirOpenIcon 21 The open directory icon. QStyle::SP_DirClosedIcon 22 The closed directory icon. QStyle::SP_DirIcon 37 The directory icon. QStyle::SP_DirLinkIcon 23 The link to directory icon. QStyle::SP_FileIcon 24 The file icon. QStyle::SP_FileLinkIcon 25 The link to file icon. QStyle::SP_FileDialogStart 28 The "start" icon in a file dialog. QStyle::SP_FileDialogEnd 29 The "end" icon in a file dialog. QStyle::SP_FileDialogToParent 30 The "parent directory" icon in a file dialog. QStyle::SP_FileDialogNewFolder 31 The "create new folder" icon in a file dialog. QStyle::SP_FileDialogDetailedView 32 The detailed view icon in a file dialog. QStyle::SP_FileDialogInfoView 33 The file info icon in a file dialog. QStyle::SP_FileDialogContentsView 34 The contents view icon in a file dialog. QStyle::SP_FileDialogListView 35 The list view icon in a file dialog. QStyle::SP_FileDialogBack 36 The back arrow in a file dialog. QStyle::SP_DockWidgetCloseButton 8 Close button on dock windows (see also QDockWidget). QStyle::SP_ToolBarHorizontalExtensionButton 26 Extension button for horizontal toolbars. QStyle::SP_ToolBarVerticalExtensionButton 27 Extension button for vertical toolbars. QStyle::SP_DialogOkButton 38 Icon for a standard OK button in a QDialogButtonBox. QStyle::SP_DialogCancelButton 39 Icon for a standard Cancel button in a QDialogButtonBox. QStyle::SP_DialogHelpButton 40 Icon for a standard Help button in a QDialogButtonBox. QStyle::SP_DialogOpenButton 41 Icon for a standard Open button in a QDialogButtonBox. QStyle::SP_DialogSaveButton 42 Icon for a standard Save button in a QDialogButtonBox. QStyle::SP_DialogCloseButton 43 Icon for a standard Close button in a QDialogButtonBox. QStyle::SP_DialogApplyButton 44 Icon for a standard Apply button in a QDialogButtonBox. QStyle::SP_DialogResetButton 45 Icon for a standard Reset button in a QDialogButtonBox. QStyle::SP_DialogDiscardButton 46 Icon for a standard Discard button in a QDialogButtonBox. QStyle::SP_DialogYesButton 47 Icon for a standard Yes button in a QDialogButtonBox. QStyle::SP_DialogNoButton 48 Icon for a standard No button in a QDialogButtonBox. QStyle::SP_ArrowUp 49 Icon arrow pointing up. QStyle::SP_ArrowDown 50 Icon arrow pointing down. QStyle::SP_ArrowLeft 51 Icon arrow pointing left. QStyle::SP_ArrowRight 52 Icon arrow pointing right. QStyle::SP_ArrowBack 53 Equivalent to SP_ArrowLeft when the current layout direction is Qt::LeftToRight, otherwise SP_ArrowRight. QStyle::SP_ArrowForward 54 Equivalent to SP_ArrowRight when the current layout direction is Qt::LeftToRight, otherwise SP_ArrowLeft. QStyle::SP_CommandLink 56 Icon used to indicate a Vista style command link glyph. QStyle::SP_VistaShield 57 Icon used to indicate UAC prompts on Windows Vista. This will return a null pixmap or icon on all other platforms. QStyle::SP_BrowserReload 58 Icon indicating that the current page should be reloaded. QStyle::SP_BrowserStop 59 Icon indicating that the page loading should stop. QStyle::SP_MediaPlay 60 Icon indicating that media should begin playback. QStyle::SP_MediaStop 61 Icon indicating that media should stop playback. QStyle::SP_MediaPause 62 Icon indicating that media should pause playback. QStyle::SP_MediaSkipForward 63 Icon indicating that media should skip forward. QStyle::SP_MediaSkipBackward 64 Icon indicating that media should skip backward. QStyle::SP_MediaSeekForward 65 Icon indicating that media should seek forward. QStyle::SP_MediaSeekBackward 66 Icon indicating that media should seek backward. QStyle::SP_MediaVolume 67 Icon indicating a volume control. QStyle::SP_MediaVolumeMuted 68 Icon indicating a muted volume control.
Oh, those are ordinary indicators under the IndicatorArrow section, not special ones. Qt itself sees them as such. So an extra arrow doesn't have sense in this case.
lxqt's problem should be fixed in it. However, I MIGHT add keys for those sizes later, when more important things are done and if they don't interfere with KDE.
And please don't add more feature requests to this page but open separate issue pages for them! Otherwise, it won't be clear what is done and what isn't.
BTW, copy/pasting parts of Qt doc here isn't helpful but makes it hard to read comments. Screenshots are helpful though.
@menubarmenuitems is still have some issues
if i click on a menubarmenuitem to open the menu and click again to close the menu the text still has the focus color: http://en.zimagez.com/zimage/menitems.php
@menuitems the menu scroll arrow(if the menu won't fit the screen) is a right arrow but should be a up and down arrow: http://en.zimagez.com/zimage/unbenannt64.php
also my config is here: https://github.com/sixsixfive/themes/blob/master/Glare/extras/kvantum/glare/glare.kvconfig
I can't reproduce the first issue. I added these to the MenuBarItem section: text.normal.color=green text.focus.color=red When I clicked on a menubar item, its text got red and when I clicked again to close its menu, the text got green. I even tried your own kvconfig and got the same result.
The problem with menu scroll arrows is because of a mistake I made when adding extra menuitem arrows. With the next update, all the issues/feature requests on this page should be addressed (with an exception I'll tell you about later).
I can't reproduce the first issue. I added these to the MenuBarItem section:
yeah i see it effects only qt5 applications
Wow, yes! Yet another task for me to look into the Qt5 source. I hope it isn't another Qt5 bug like the resize/move one.
@bold text Also i'm still unable to set the tooltip or groupbox text to bold
Because there's no (direct) way for drawing their texts in a theme engine.
Please test those fixes/features that are pertinent to your work and tell me the result!
My reasons for rejecting the paths you'd asked for are as follows, in the order of priority (although I made the best use of the idea):
(1) Having multiple user folders for installing the same theme is unwise. Apart from the resulting mess, users have right to change important settings with Kvantum Manager and whose settings would they change in case of multiple installation? No theme manager should allow such a mess.
(2) Searching in all folders inside ~/.themes for a kvantum folder? Out of the question!
(3) Folders like ~/.themes are usually reserved for GTK-based stuff, as you showed with several examples above. They serve the same role as the folder .../Kvantum has for Kvantum.
(4) You even don't need to tell your users how to install your Kvantum theme; they'll know that once they run Kvantum Manager.
(5) If you provide a deb/rpm/... package of your theme, you could include the Kvantum part (with its KDE color scheme in its proper folder). Users could still change its settings and restore them to your default with Kvantum Manager.
Because there's no (direct) way for drawing their texts in a theme engine.
ah ok, guess there is still some stuff that edje or gtk handels better
Folders like ~/.themes are usually reserved for GTK-based stuff
maybe you're right but openbox which is the default WM of lxqt uses it
anyway I still hope that ~/.themes or the newer $localconfig/share/themes will be a freedesktop standard in the future since icon themes($localconfig/share/icons) and backgrounds ($localconfig/share/backgrounds) are already fixed to these paths - so $localconfig/share/themes seems logical to me because its the user equivalent to $sysprefix/share/themes
also i tried all new settings and fixes and had no issues ;)
PS: @1 like KDE that can load icons from ~/.icons and $localconfig/share/icons but placed downloaded icons in $kdelocalconfig/share/icons - yeah what a mess ;D
regards, ssf
If you're sure that all features/fixes you asked for here -- except for the path, of course -- are added/done, please close this issue. Feel free to open new issues, one for each problem/feature request. This one was very helpful :) BTW, I may be able to make tooltip texts bold/italic in an indirect way. But first I prefer to look into the other issues you've already opened.
I succeeded in finding a workaround for issues like that in VLC's media treeview you mentioned above. Now VLC has that issue with all engines except for the latest Kvantum when a light theme has dark selected treeview items ;)
nice that works, i recently switchd my main distro - so they are now some pkgbuils in the AUR https://aur.archlinux.org/packages/kvantum-kde4-colorscheme-svn/
Nice up-to-date packages! One of these days, when I have enough time, I should try Arch. The last time, its installation on VirtualBox caused me a real headache ;)
I should try Arch. The last time, its installation on VirtualBox caused me a real headache ;)
that and because it's available with openrc instead of systemd is the reason why is use manjaro https://manjaro.github.io ;)
@post 3>(4) Scribus is a GTK+Python app. Could you give me a Qt example?
took a while but: http://imgur.com/ygLIZRc btw: scribus is a qt app(it always was one)
The fix was so easy: I'll include it in the next commit ( tomorrow, perhaps).
If the reason you wanted a textless progressbar was because the text was unreadable inside the progress indicator, now you could use a new key under the GeneralColors section, namely "progress.indicator.text.color" (see Theme-Config.pdf).
For Glare, you could set it to white and set "textless_progressbar" to false again.
so i played a bit with your theme engine and have encountered a few issues:
in general it would be much easier if we could use multiple svg files instead of one huge(eg one file for each section or element)
also my current(unfinished) theme: https://drive.google.com/file/d/0B_2_dsXrefR-WWM1aHM0NlhfVTQ/view?usp=sharing
and how it should look like: https://github.com/sixsixfive/themes/tree/master/Glare