Closed ghost closed 10 years ago
Hm... I don't even have $HOME/.themes folder. Could you name "nearly every other DE or WM", please?
You do not have to have $HOME/.themes right from the start. It is not about DEs, it is about toolkits and applications. A theme is a combination of data for a number of them. For examle, a content of a theme directory:
ls .themes/Numix-blue -l
-rw-rw-r-- 1 psycho users 239 сент. 11 11:40 CREDITS
-rw-rw-r-- 1 psycho users 456 июля 1 20:05 fix_overlay_scrollbar.patch
drwxrwxr-x 2 psycho users 4096 сент. 10 13:36 gtk-2.0
drwxrwxr-x 4 psycho users 4096 сент. 10 13:35 gtk-3.0
-rw-rw-r-- 1 psycho users 207 сент. 10 13:34 index.theme
-rw-rw-r-- 1 psycho users 35147 авг. 30 2012 LICENSE
drwxrwxr-x 2 psycho users 4096 сент. 10 13:35 metacity-1
drwxrwxr-x 2 psycho users 4096 сент. 10 13:35 openbox-3
-rw-rw-r-- 1 psycho users 1217 сент. 11 10:28 README
drwxrwxr-x 2 psycho users 4096 авг. 10 13:36 unity
drwxrwxr-x 2 psycho users 4096 авг. 10 13:36 xfwm4
you can see directories with data for Metacity, GTK2, GTK3, Openbox, Unity, Xfwm I hope this info would be useful and Razor-qt will use the same logic for themes.
$HOME/.themes is just the users local themes folder I'm pretty sure you have a systemwide $SYSPREFIX/themes folder
yup, I do have /usr/share/themes full of GTK themes. I see no reason why LXDE-Qt would use them.
Well, there are more things in /usr/share/themes than just gtk+ themes. Openbox puts its themes in that dir, too. For theme name X, there may be /usr/share/themes/X/openbox and /usr/share/themes/gtk+-3.0. We can have /usr/share/themes/X/lxqt, too. So when the global theme name is set to X, openbox, gtk programs, and lxqt can all use themes of the same style. I guess that's the purpose of /usr/share/themes.
On Sat, Oct 26, 2013 at 10:01 AM, Kuzma Shapran notifications@github.comwrote:
yup, I do have /usr/share/themes full of GTK themes. I see no reason why LXDE-Qt would use them.
— Reply to this email directly or view it on GitHubhttps://github.com/Razor-qt/razor-qt/issues/657#issuecomment-27137048 .
Theme is not a gtk+ theme, or a Openbox theme. Theme is what it contains. It is a good standard with [flexible] integrity in mind. IMHO Razor-qt should follow it. Trashing good standards for no reason is a GNOME way. Sorry if I offended anyone.
Trashing good standards for no reason is a GNOME way
basically you're right but even gnome followed this standard the only big DE that fucked it up is KDE but they fixed it with their integrated opendesktop install api
For a consumer it's just pure pain to install new themes for example I recently worked on a theme by myself It contains a a lot of different app themes and install is just painful esp. for all KDEstuff:
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 Razor-qt goes to $HOME/.local/share/razor/themes/$THEMEFOLDER/$THEMEFILES
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 Xfce-Notify theme needs to be copied to $HOME/.themes/$THEMEFOLDER/xfce4-notify/$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 it also allows me as theme creator to publish desktop independent themes
I looked through XDG specs and it says in icon-theme-spec :
Icons and themes are looked for in a set of directories. By default, apps should look in $HOME/.icons (for backwards compatibility), in $XDG_DATA_DIRS/icons and in /usr/share/pixmaps (in that order).
about XDG_DATA_DIRS in basedir-spec :
$XDG_DATA_HOME defines the base directory relative to which user specific data files should be stored. If $XDG_DATA_HOME is either not set or empty, a default equal to $HOME/.local/share should be used. … If $XDG_DATA_DIRS is either not set or empty, a value equal to /usr/local/share/:/usr/share/ should be used. … The order of base directories denotes their importance; the first directory listed is the most important. When the same information is defined in multiple places the information defined relative to the more important base directory takes precedent. The base directory defined by $XDG_DATA_HOME is considered more important than any of the base directories defined by $XDG_DATA_DIRS.
It means that theme should be looked for in folders:
$HOME/.local/share/...
/usr/local/share/...
/usr/share/...
This list can be prepended with $HOME/.themes/...
for backward compatibility only. But since Razor had never stored themes into pre-standard folders, there is no reason to search them there :-) .
There is no definite standard as to system themes folder and structure, so it can be any of:
$PREFIX/share/themes/razorqt/$THEMENAME
$PREFIX/share/themes/$THEMENAME/razorqt
though currently it's $PREFIX/share/razor/themes/$THEMENAME
meaning project-own data folder.
I agree to fix it to be this way:
$HOME/.local/share/themes/$THEMENAME/razorqt
/usr/local/share/themes/$THEMENAME/razorqt
/usr/share/themes/$THEMENAME/razorqt
Any objections?
No objections. :) Just one suggestion: add $HOME/.themes/$THEMENAME/razorqt to the list for compatibility purposes.
If no one supports standards and everyone just make everything for compatibility purposes - why make standards at all?
This needs to be brought up on the xdg mailing list please. On 27 Oct 2013 04:08, "Kuzma Shapran" notifications@github.com wrote:
If no one supports standards and everyone just make everything for compatibility purposes - why make standards at all?
— Reply to this email directly or view it on GitHubhttps://github.com/Razor-qt/razor-qt/issues/657#issuecomment-27162241 .
Razor-qt has merged with LXDE. Please bring this up on the LXQt tracker if still relevant: https://github.com/lxde/lxde-qt
Hi,
It would be nice if Razor could look for themes in $HOME/.themes/$THEMENAME/razorqt and $PREFIX/share/themes/$THEMENAME/razorqt
Nearly every other Desktop Environment or Window Manager uses these dirs
thx