System & System Extension color lists

2006-02-06 Thread Sheldon Gill

Unification of the System color list


To support better theming and user configurability generally it is desirable 
for users to be able to specify the use of colors.


Currently this is done through the System color list, which is created at 
initialisation through hardcode values or by loading a user created list.


GSToolbar uses a "System extension" to add it's two color values.

Is there any reason why we can't unite these additions into the System color 
list?

Saving of the color list


At the moment, in NSColor.m -> initSystemColors()

If there is no previously saved System color list, it will automatically write 
one out.


I'd like to change this. That is:
  if there is no previously saved list, we don't simply write a default one
  out but rather rely on the initialiser every time.

Any objections?


Regards,
Sheldon


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: System & System Extension color lists

2006-02-06 Thread Adrian Robert


On Feb 6, 2006, at 11:25 PM, Sheldon Gill wrote:

Hi,


Saving of the color list


At the moment, in NSColor.m -> initSystemColors()

If there is no previously saved System color list, it will  
automatically write one out.


I'd like to change this. That is:
  if there is no previously saved list, we don't simply write a  
default one

  out but rather rely on the initialiser every time.


What rationale?

(Playing devil's advocate, I can imagine the writing of the default  
one speeding future startups and being useful to give the user  
something to edit, although clearly things should move towards a  
Preferences.app style approach to customization.)





___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: System & System Extension color lists

2006-02-06 Thread Sheldon Gill

Adrian Robert wrote:

Saving of the color list


At the moment, in NSColor.m -> initSystemColors()

If there is no previously saved System color list, it will 
automatically write one out.


I'd like to change this. That is:
  if there is no previously saved list, we don't simply write a 
default one

  out but rather rely on the initialiser every time.


What rationale?

(Playing devil's advocate, I can imagine the writing of the default one 
speeding future startups and being useful to give the user something to 
edit, although clearly things should move towards a Preferences.app 
style approach to customization.)


1) Users have complained about creating files, seemingly "unnecessarily". If 
they're relying on the default colors, why is it 'making a mess' (minor)


2) It writes to the user specific color lists. It is then impossible to tell if 
it is a list the user decided to use or one the system simply wrote by its own 
accord.


3) Many environments have system colors defined elsewhere. Think KDE, GNOME and 
Win32. WindowMaker also has some. Its desirable for GNUstep to 'play nice' on 
those systems and rely on externally supplied lists.


4) Those other environments support changing colors and all applications 
responding. With current GNUstep, it becomes difficult to support this nicely. 
Essentially we either clobber user settings or not.


Considering your "pro" items:

a) Giving the user something to edit shouldn't be a "System.clr" text file but 
an application or tool which will help them do it. Most users aren't happy 
playing with separate numbers for RGB values in text format, IMHO.


b) Giving the user something to edit as a "System.clr" file is easy. Give them 
an URL


c) If it's a good idea in a particular configuration to speed things up then it 
is really a packaging issue. In this case, provide a default System.clr 
installed in SYSTEM_ROOT\Library\Colors



(Happily engaging in debate...)

Regards,
Sheldon


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: System & System Extension color lists

2006-02-07 Thread Richard Frith-Macdonald


On 7 Feb 2006, at 04:25, Sheldon Gill wrote:


Unification of the System color list


To support better theming and user configurability generally it is  
desirable for users to be able to specify the use of colors.


Currently this is done through the System color list, which is  
created at initialisation through hardcode values or by loading a  
user created list.


GSToolbar uses a "System extension" to add it's two color values.

Is there any reason why we can't unite these additions into the  
System color list?


I'm certain this has come up before ... but I can't find the thread  
on the web or in my personal email (but a big chunk of my email got  
lost when my machine died in november).


Anyway ... I think the 'Systyem extension' list is wrong ... if we  
have to add new colors we should add them to the system list so they  
are all in one place.
BUT ... I recall querying whether GSToolbar should be adding two new  
colors at all ... on the theory that things should be kept simple and  
existing system colors should be used where possible.
What I can't remember is who brought the subject up and what their  
answer to that query was (or even if they had an answer).


So ...
1. if there is no good reason for having toolbar specific colors ...  
we should scrap them and use system colors
2. if there *is* a good reason for having new colors, we should add  
them to the system color list
I would be inclined to (1) as the simplest solution on the basis of  
what I know/remember at the moment.



Saving of the color list


At the moment, in NSColor.m -> initSystemColors()

If there is no previously saved System color list, it will  
automatically write one out.


I'd like to change this. That is:
  if there is no previously saved list, we don't simply write a  
default one

  out but rather rely on the initialiser every time.


Sounds good to me.



___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev