[Bf-funboard] UI colors/ themes
Ton Roosendaal
bf-funboard@blender.org
Tue, 14 Oct 2003 19:29:24 +0200
Hi all,
Below you can find a proposal for user presets. I've checked on the
work in Tuhopuu, and the basics I can copy for it. With a few changes
however...
A general - but good - read on this topic is an article, which Matt
pointed me to:
http://ometer.com/free-software-ui.html
Apart from rewarding people's "personal taste" there are presets that
make sense in general:
- contrast; not all monitors have identical gammas. What looks good
here, can look horrible at an LCD screen for example
- colorblindness. Not to understimate.
- screen resolution: large resolutions make pixels disappear
- cursor defaults, for example at OSX the 'editing crosshair' is barely
visible
- creating a good match for your other preferences (desktop theme)
- allowing people to match colors with settings used in other software
-----------------------------
Data:
- the settings will be saved as extension to the 'UserData' struct in
Blender. It only will reside in $HOME/.B.blend (saved with option
CTRL+U). Themes will not reside in regular .blend files.
- multiple themes will be possible in a single file, including the (not
editable) 'default' theme.
- I'll code that Blender will optionally read (append) the Theme part
from any file, this as means to exchange themes.
Categories:
1, Buttons
Apart from buttons window, you can find this anywhere in Blender. So
it's a global setting like the font type. Main choices are:
- drawing style (embossing, shading)
Here I prefer to stick with a limited set of choices. Like 'shade
on/off' and 2 or three button drawing styles. Can be defined later on,
doesn't have to be all ready today!
I like how Matt provided drawing styles to enhance visualization for
button functioning as well. We shouldn't be forced to use colors for
all of it.
The new button 'Panels' can have user presets as well.
- color groups
Nevertheless, users then still can make choices for a specific color to
visualize its functioning:
- tool/action button ("Render", "Extrude")
- setting button ("Wire", "Solid", "Gour")
to distinguish graphically; two extra are needed (now blue and
purple))
- neutral button (now grey)
- number input buttons, including sliders
- menu or popup button
- backdrop color for pulldown menus
- hilite color for pulldown menus
2. 'Spaces'
Each Blender 'space type' (window type) will get user presets. What is
commonly shared among spaces are:
- background color
- basic text color, hilite text color (default: black and white)
- primary colorshade (sliders/bars/headers) (default: grey)
- secundary colorshade (like used in ipowindow, action window)
- special attention color (like selected files in filewindow)
Per 'space' we can allow some interesting presets. Like in Tuhopuu for
the View3D window:
- grid color
- basic wire color
- selected/active wire color
- 'being transformed' wire color
- vertex size
- unselected, selected, active vertex color
Note; for this I'll stick to the way Blender currently works. This is
step one. The UI project on 'wire colors' and drawmodes is far from
finished yet. Nice for 2.31 or so!
Note 2: as a start, these presets are 'global'. Next step is to see if
there's use to have local themes per window itself... different
backdrop colors for 3d, dependant on what you work at or so.
Technically it's all possible. But I don't think we should spend too
much time on working with the UI itself, instead of creating cool 3d
content. :)
3. Coding...
There's a myriad of color calls all over Blender, without even thinking
of themes... I cannot predict how far I'll come for release 2.3, but at
least what is mentioned above is feasible.
My proposal is to be quite conservative with 'themes' now.
-Ton-
------------------------------------------------------------------------
--
Ton Roosendaal Blender Foundation ton@blender.org
http://www.blender.org