[haiku] Re: Full-screen and multi-monitor handling, related: I haven't used Haiku, but from what i have seen, this is my atempt to make Haiku R2 compitable to other OSs when released

  • From: "Jonas Sundström" <jonas@xxxxxxxxxxx>
  • To: haiku@xxxxxxxxxxxxx
  • Date: Sat, 20 Dec 2008 14:59:39 +0100 CET

André Braga <meianoite@xxxxxxxxx> wrote:
> Em 20/12/2008, às 02:04, "Cyan" <cyanh256@xxxxxxxxxxxx> escreveu:
 ...
> > Absolutely; that's why returning a variable-
> > sized list of rectangles would be better than
> > some kind of modification to app_server to make
> > it handle the Deskbar as a special-case.

Are you guys maybe over-engineering this a little?

It may be that I haven't grasped the full contents
of your discussion, but I believe that the BWindow
Zoom code I posted shows that there's no need to 
change anything about the app_server to make Zoom
not overlap Deskbar.

If people want to add other Deskbar-ish components
and want other apps to not overlap these, there's 
scripting support in BWindow, which any application
is free to use to tell another overlapping application
not to do so. ("hey, don't cover me")

Of course this probably wastes a little more CPU 
than the deeper solution you're working on.

 ...
> changing the semantics of the zoom button. First
> click fits to viewable content, second click snaps
> to largest area the window can resize itself to,  
> third click restores to initial state.

If the objective was merely to have three-state zoom,
this should already be possible to do with the current 
BWindow::Zoom() - which an application is supposed to 
override and give application-specific behaviour.

BWindows default two-state zoom behavior which is 
similar enough to Microsoft Windows's maximize,
but clearly intended to be smarter than that.
It probably works the way it does by default since
the system can not know which window size constitutes
a perfect fit.

(Maybe with the new layout kit the system might be 
able to guess a perfect fit and provide a three-state
BWindow::Zoom() default implementation.)

If Haiku's own applications lead the way by implementing
three-state zoom, and it was also mentioned in an 
interface guide for application developers, it should 
not be difficult to move in this direction.

/Jonas.

Other related posts: