Opened 13 years ago

Last modified 5 years ago

#7868 new enhancement

[Stack and Tile] Create public API

Reported by: deejam Owned by: czeidler
Priority: normal Milestone: Unscheduled
Component: Add-Ons/Decorators/Default Version: R1/Development
Keywords: Cc: jessica.l.hamilton@…
Blocked By: Blocking: #7805, #14759
Platform: All

Description

It would be very useful if applications could control S&T.

For example, Pe could tile itself with Tracker and a Terminal window to create an IDE environment.

Or Caya could use this functionality to stack conversation windows automatically.

Attachments (2)

sat-api.png (95.7 KB ) - added by deejam 13 years ago.
sat-api2.png (32.2 KB ) - added by deejam 13 years ago.

Download all attachments as: .zip

Change History (13)

by deejam, 13 years ago

Attachment: sat-api.png added

by deejam, 13 years ago

Attachment: sat-api2.png added

comment:1 by czeidler, 13 years ago

There is already a private stacking api... Also take a look at ticket #7805, there is a nice idea for a tiling api.

comment:2 by diver, 13 years ago

Blocked By: 7805 added

comment:3 by diver, 13 years ago

Blocked By: 7805 removed
Blocking: 7805 added

comment:4 by jessicah, 12 years ago

Cc: jessica.l.hamilton@… added

comment:5 by SyntheticBiology, 11 years ago

I really like this idea. When I first discovered SAT, it seemed to me that it ought to make the tabbing feature found in, e.g., Web+ and Terminal superfluous, and having a public API might make it possible for SAT to replace various apps' individual implementations of tabs, giving a sort of Chrome-like tabs-on-top look. This would save visual space and, in my opinion, improve UI consistency across the OS. I might even go so far as to advocate making a standard system-wide shortcut (say, ALT-T or ALT-OPT-N) meaning "open a new window as with ALT-N but stack it on top of the current window". But there needs to be a public API in order for that to make sense.

The mockup looks nice visually, but I'd be concerned about removing the titlebar of the lower window (Terminal in this case). If you do that, you've hidden the close and zoom buttons, along with the window's title. Moreover, you can no longer interact with the lower window in terms of SAT; you can't stack other windows with it and you can't manually detach it from the other windows, but you can do both these with the upper windows simply because they happen to be positioned at the top. This is even more of a concern in the case of the second example in the other ticket, #7805, where an existing Tracker window has its titlebar hidden when the find window comes up. What happens if it's already part of a stack? Can you not access the other windows in the stack except with the keyboard shortcuts or via Deskbar/Twitcher? These seem like awkward work-arounds and not very convenient or discoverable.

I'm not sure what the solution is, exactly. I agree that the titlebars don't look very nice when windows are tiled vertically. Perhaps a gray background spanning the rest of the width of the window might look better on the lower window? It would eliminate the visual "hole" created by Haiku's tab-style titlebars in vertical tiles.

in reply to:  5 comment:6 by humdinger, 11 years ago

Replying to SyntheticBiology:

I'm not sure what the solution is, exactly. I agree that the titlebars don't look very nice when windows are tiled vertically. Perhaps a gray background spanning the rest of the width of the window might look better on the lower window? It would eliminate the visual "hole" created by Haiku's tab-style titlebars in vertical tiles.

Maybe just expand the titlebar to the full width of the window when it's vertically tiled with another one.

comment:7 by dillcn, 10 years ago

This is a good idea. I like Haiku's windows stack and tile feature, but it is boring to do this every time after close and reopen these windows.

I think it is better to save the stack and tile scheme to related windows or applications. In my opinion, this could be implemented by adding an on/off button on the corner of each window, say, up right corner of window. Founctions of this button are:

  1. If the button of the main window, say Pe, is on, every time the main window opens, all the other stacked and/or glued windows with this main window open simultaneously.
  1. When the S&T button is on, all subwindows generated by this application are stacked or tiled to this main window by defaut.

comment:8 by luroh, 9 years ago

Milestone: R1Unscheduled

Moving S&T related tickets out of R1 milestone (Prop #16).

comment:9 by luroh, 9 years ago

Milestone: UnscheduledR1

Moving S&T related tickets back into R1 milestone as S&T is in fact now the default. My apologies.

comment:10 by pulkomandy, 9 years ago

Milestone: R1Unscheduled

comment:11 by NullAndVoid, 5 years ago

Blocking: 14759 added
Note: See TracTickets for help on using tickets.