X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f X-Recipient: geda-user AT delorie DOT com X-Original-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; bh=WvGrrAO7kl0Y59bVSCyOadH/jtYwFLrvh9CZukJhWWw=; b=Q0sp3dedrhFr4vN/WkrrD16FptykChAp4MI8WaDKNPda5oSb4eaTqlh/xM56CUZ3q+ C4z3zuZeO4UGS9PwXhF3eHqhjWYvZFIqoyInTV88vmW+eq7r5TXnjskPugRmIKW3FPmW bNHttUKOjgM1vYPdzYQfOBjW/9fCCAcgIDGmSFhOzFH2fowSE5var0Ph90gMpeBgT2S1 rgR0oLrnjWlsKtNqzUq7+EwPcv7JAh7JaQ9LrAo27X2x4auPNNqZ0P/anQMKfwqGjtM7 MJzvtZSFxXxYuOY9f71Bd1FARF7pHEjtpLWY06ihyhl2PEJBE1NL6X5CcMwfsGMUJ1DC FX1A== MIME-Version: 1.0 X-Received: by 10.180.85.164 with SMTP id i4mr4409698wiz.54.1443913345318; Sat, 03 Oct 2015 16:02:25 -0700 (PDT) In-Reply-To: <56100AF8.4090802@jump-ing.de> References: <56100AF8 DOT 4090802 AT jump-ing DOT de> Date: Sat, 3 Oct 2015 15:02:25 -0800 Message-ID: Subject: Re: [geda-user] Clutterless user interface or even more custom special super features? From: "Britton Kerin (britton DOT kerin AT gmail DOT com) [via geda-user AT delorie DOT com]" To: geda-user AT delorie DOT com Content-Type: multipart/alternative; boundary=f46d0445182f08c65805213b4680 Reply-To: geda-user AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: geda-user AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk --f46d0445182f08c65805213b4680 Content-Type: text/plain; charset=UTF-8 On Sat, Oct 3, 2015 at 9:06 AM, Markus Hitter (mah AT jump-ing DOT de) [via geda-user AT delorie DOT com] wrote: > > gEDAers, > > while investigating bug 1018103 ... > > https://bugs.launchpad.net/geda-project/+bug/1018103 > > ... I learned that there are no less than three special modes for > ignoring text, hiding text and/or ignoring anything but text exist. The > bug is a crashing one, hitting Undo takes the whole application with it, > data lost. > > To me this bug is a typical example of what happens when custom > behaviour is stacked on other custom behaviour, stacked on even more > custom behaviour: each custom mode has to take into account every other > custom mode, complexity of code explodes. Well, code explodes, or the > application explodes at runtime, when a non-working combination of these > features is hit. > > Hide names mode is documented as following (action.c, line 2586): > > > If set, only text will be sensitive for mouse clicks and actions > > that work on objects under the mouse. You can still select other > > objects with a lasso (left mouse drag) and perform actions on the > > selection. > > The problem here is that despite anything but text is ignored, drawing > lines is still allowed. > > > I can see four solutions: > > 1. Add a lot more special case search code to check not only for mode > flags like ONLYNAMESFLAG, but also under which conditions this search > happens. This easily makes one special case for every other case. 3 > names modes x 12 drawing modes = 36 cases. > > 2. Disable modes like track drawing mode while in names only mode. This > would be the advertised behaviour. Also a lot of code and on top of > this, unexpected user behaviour ("I can't draw tracks anymore and I > don't know why"). > > 3. Try to make Undo() independent from this query. It's "undo last > operation", after all, not "undo the object under the crosshair". > > 4. Remove these special modes. That'd be LOCKNAMESFLAG, HIDENAMESFLAG > and ONLYNAMESFLAG. Chances are good they're barely known anyways and > modal behaviour is usually considered to be bad for an intuitive user > interface. It should certainly be possible to prefer or avoid text by > the standard means (hiding or activating the corresponding layers). > I've never used these and wasn't aware of them, and you make a good case for just removing them. I'm not sure what you mean by 3 or why its needed once the modes are gone. --f46d0445182f08c65805213b4680 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable


On Sat, Oct 3, 2015 at 9:06 AM, Markus Hitter (mah AT jump-ing DOT de) [via geda-user AT delorie DOT com] <geda-user AT delorie DOT com> wr= ote:

gEDAers,

while investigating bug 1018103 ...

https://bugs.launchpad.net/geda-project/+bug/101= 8103

... I learned that there are no less than three special modes for
ignoring text, hiding text and/or ignoring anything but text exist. The
bug is a crashing one, hitting Undo takes the whole application with it, data lost.

To me this bug is a typical example of what happens when custom
behaviour is stacked on other custom behaviour, stacked on even more
custom behaviour: each custom mode has to take into account every other
custom mode, complexity of code explodes. Well, code explodes, or the
application explodes at runtime, when a non-working combination of these features is hit.

Hide names mode is documented as following (action.c, line 2586):

> If set, only text will be sensitive for mouse clicks and actions
> that work on objects under the mouse. You can still select other
> objects with a lasso (left mouse drag) and perform actions on the
> selection.

The problem here is that despite anything but text is ignored, drawing
lines is still allowed.


I can see four solutions:

1. Add a lot more special case search code to check not only for mode
flags like ONLYNAMESFLAG, but also under which conditions this search
happens. This easily makes one special case for every other case. 3
names modes x 12 drawing modes =3D 36 cases.

2. Disable modes like track drawing mode while in names only mode. This
would be the advertised behaviour. Also a lot of code and on top of
this, unexpected user behaviour ("I can't draw tracks anymore and = I
don't know why").

3. Try to make Undo() independent from this query. It's "undo last=
operation", after all, not "undo the object under the crosshair&q= uot;.

4. Remove these special modes. That'd be LOCKNAMESFLAG, HIDENAMESFLAG and ONLYNAMESFLAG. Chances are good they're barely known anyways and modal behaviour is usually considered to be bad for an intuitive user
interface. It should certainly be possible to prefer or avoid text by
the standard means (hiding or activating the corresponding layers).

I've never used these and wasn&= #39;t aware of them, and you make a good case for just removing them.
=
I'm not sure what you mean by 3 or why its needed once = the modes are gone.
--f46d0445182f08c65805213b4680--