[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: Mon, 22 Dec 2008 22:22:04 +0100 CET

"Cyan" <cyanh256@xxxxxxxxxxxx> wrote:
> "Jonas Sundström" <jonas@xxxxxxxxxxx> wrote:
 ...
> > 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")
> 
> Hmm, could you provide some examples of how this might
> be used?

Deskbar could itself tell an application's window 
how to resize to not cover Deskbar, simply subtracting
the overlapping part.

> Specifically, could it solve the overlapping problem
> for multiple forbidden rectangles without any changes
> to applications, aside from Deskbar and other launcher
> apps?

Any application that cared about not being covered
would have to implement some checking if its covered
and some code to move/resize the other window.

It would be everyone against everyone and it could
lead to hysteric chain-reactions. It would only work
on a very limited scale, like if Deskbar was the only
one doing it. Only then would the heuristics be easy,
as Deskbar is always at screen edges. This of course 
assumes a single-monitor setup.

I know, bad idea. :)

 ...
> 1) Expand the window leftwards until it hits an illegal area,
> 2) Expand the window upwards until it hits an illegal area,
> 3) Expand the window rightwards until it hits an illegal area,
> 4) Expand the window downwards until it hits an illegal area.

This seems simple enough to me. :) 

I imagine a person could easily learn to understand this
from simply interacting with his set of applications.

(Learning how to predict window zooming behaviour - 
not necessarily thinking in terms of legal/illegal areas.)

/Jonas.


Other related posts: