Floating Windows

8 views
Skip to first unread message

Benjamin Kuhns

unread,
Jun 26, 2010, 3:40:28 PM6/26/10
to eucl...@googlegroups.com
I'm not sure how you have in mind to implement floating windows or Full Screen windows. Example: I was running i3 (my wm of choice) and I open skype, Alt+Shift+Space it's a floating window.. Alt+Shift+(directional) it moves around. If I get a video chat window in Skype, I make it its own window (it'll force this on its own even in euclid) and then hit "Full Screen" and in i3 that gives it "top" priority and maximizes it edge to edge, no borders. In euclid it crashes outright when I try and go Full Screen.

So this isn't necessarily a single-problem post, but full screen shouldn't crash, and windows should be able to float with a keybinding (such as in i3). I know you were talking about supporting this, but unsure how. Just posting my .02.

BKL

William Diem

unread,
Jun 26, 2010, 6:32:39 PM6/26/10
to eucl...@googlegroups.com
Fullscreen windows don't like being reconfigured, I assume that is why
it crashes when you put it in fs after it (thinks) it already is.
Flash does something similar (it reparents back into the browser, as
an embedded element).
That said, letting that crash the program seems like a bug in skype.

Anyway, for the moment, the work around it to put the view into fs
before telling the app to switch to fs (I assume this isn't what you
were doing).

As to implementing it, that is probably the last remaining big feature
I have before I am fairly happy with it for my purposes. And it is in
progress, but it will probably take a little time to have right.

As to floating windows: I didn't conceive of euclid having floaters.
This choice had a lot of thought in it, basically it went like this:

A) There are two reasons a window doesn't like being tiled:
1) it doesn't like the shape it got
a) this is basically the same as (2) but only applies to one
dimension (i.e., it has too much/too little width/height), goto (2)
2) it doesn't like the size it got
a) it is too big
solution: ignore the extra space (most apps do exactly that)
b) it is too small because either:
i) Other windows are bigger than necessary
solution: resize them (assuming other windows can give up space
and remain usable)
ii) Other windows are too many (the windows want more space than is
available):
solution: (1)minimize or (2)move them (after all, in a floating
model, if there are too many windows to display, they just cover each
other up anyway, thus they aren't really usable)
solution 3: switch to fullscreen, goto (2a).

So basically, my conclusion was that as long as resizing, unmapping,
and moving to fullscreen were easy, there was no need for floating
windows, that in principle you should be able to make a true tiling
wm, with no floating layer, that will handle all well-behaved windows.

On the other hand, a floating layer seems to me to complicate the
interface (and probably the code), and really change the feel. I think
I made a comment on the forums about having "bought the whole tiling
wm idea" with respect to transient windows. That's what I was getting
at.

I know that there are some edge cases, where the app really is made to
float, (the best example is
http://www.chromeexperiments.com/detail/browser-pong/ , but it is a
complete hack, that I do not really feel bad about breaking; this is
another, http://www.chromeexperiments.com/detail/twitch/ , it works
fine in euclid, it just isn't as pretty.) Things like gimp and
font-forge also tend to make assumptions about floating windows, but
again, it seems to me that a tiling wm can handle them more-or-less
fine, just not in the way they were initially envisioned.

To me, putting a floating layer in a tiling wm is a sort of cop out.
If I get the tiling down right, then floaters shouldn't be necessary,
except in the case of truly broken apps). I take it as a challenge to
make allowing floating windows unnecessary.

I can be convinced I'm wrong, but that is my vision.

By the way, I didn't mean to come off as impatient when I asked you to
update the pkgver. I really appreciate your providing and maintaining
the pkgbuild, and I know that I've been pushing a lot out the last
couple of days (it *is* going to slow down a lot, and soon; I don't
have time to keep this up like this). I was just concerned that people
were getting segfaults that might have been fixed.

Best,
Will

Reply all
Reply to author
Forward
0 new messages