This is the mail archive of the
mailing list for the Cygwin project.
Re: [setup patch] paint older-to-install versions red
- From: Reini Urban <rurban at x-ray dot at>
- To: cygwin-apps at cygwin dot com
- Date: Wed, 02 Jul 2008 22:41:09 +0200
- Subject: Re: [setup patch] paint older-to-install versions red
- References: <4868ECA4.email@example.com> <486BD2CC.D5A5FFE2@dessent.net>
Brian Dessent schrieb:
Reini Urban wrote:
Setup has a strange versioning logic:
The setup.ini lastmodified date overrides the package number
This patch marks the spin button red of such packages which installed
version numbers are higher than the current version of setup.exe, when
setup wants to overwrite "newer" versions.
Usually I have to click the spin buttons on those a couple of numbers.
It's a useful visual feedback of todo's.
I understand the problem, but I don't like the solution at all:
Firstly, it's "mystery meat" UI. A user sees a package in red. What
does this mean? It's indecipherable unless they happen to have read
this thread. We'll get questions.
Secondly, we have the problem of non-default color schemes. What we
have now is compatible because it's implemented as "use the currently
configured background color, and invert it for the foreground." But
when you start hardcoding colors you have no way to know whether they
will be visible at all given the color scheme the user has configured.
Thirdly, I don't want to open the flood gates to colors. I know that it
seems tempting to start painting all kinds of things in different colors
to make it easier to navigate, but without some forethought or some kind
of design guidelines it's just going to be an ad-hoc mess. And, we're
already doing absolutely horrid in the accessibility department as is.
How about instead a command line flag to say "don't downgrade anything
even if [curr] of the setup.ini I'm told to read says to"? Then you
won't need to be visually indicated of anything because you won't have
to manually cycle any versions to keep.
I lost control over the still available chars in the meantime.
static BoolOption NoDowngradeOption (false, '?', "no-downgrade",
"Disable downgrading of already installed packages by newer setup.ini
$ grep BoolOption *.cc
d and D are gone. 'd', "no-desktop". 'D', "download"
-o maybe? Or -k for keep is free
static BoolOption NoDowngradeOption (false, 'k', "keep-old", "Disable
downgrading of already installed packages by newer setup.ini files");
Patch soon. First I have fix a serious perl issue.