[haiku-bugs] Re: [Haiku] #7924: Enable optional Z-Snake functionality.

#7924: Enable optional Z-Snake functionality.
--------------------------+------------------------------------------------
   Reporter:              |      Owner:  stippi
  KarmaMechanic           |     Status:  closed
       Type:              |  Milestone:  Unscheduled
  enhancement             |    Version:  R1/alpha3
   Priority:  low         |   Keywords:  z-snake menu snake tracker deskbar
  Component:  User        |   Blocking:
  Interface               |   Platform:  All
 Resolution:  invalid     |
 Blocked By:              |
Has a Patch:  0           |
--------------------------+------------------------------------------------

Comment (by anevilyak):

 Replying to [comment:4 KarmaMechanic]:
 > Not a key feature desired by everyone, I did find it useful when adding
 drivers to the old dano system I used to have on real hardware. Figured it
 might be a semi-easy gui task for a newer developer, and set to off by
 default. I guess this gives me a good reason to learn something more than
 generic c++ lol.

 I would advise against that, one of the many reasons it hasn't been done
 is because it's actually quite hard to do correctly. You'll notice even
 Dano didn't manage, seeing as Z-snake has visual artifacts in a lot of
 situations. Path computation for it is non-trivial since you have to
 figure out a path that looks good regardless of where the next menu window
 is ultimately positioned, bearing in mind that could be above, below and
 to either side of your current window.

 Furthermore, as implemented in Dano it's currently impossible in Haiku
 since it requires non-rectangular window support in the app_server, which
 Haiku doesn't currently have, and which would require pretty significant
 effort to implement (especially in a way that actually performs well). To
 add to the complexity, the menu code is quite complex/messy as is, partly
 due to the BeOS API design for them being horrible, which makes it even
 harder to implement than it otherwise would be. None of the above is
 something I'd advise attempting without very deep knowledge of the
 involved components.

-- 
Ticket URL: <http://dev.haiku-os.org/ticket/7924#comment:6>
Haiku <http://dev.haiku-os.org>
Haiku - the operating system.

Other related posts: