Treat panels as tabs

Nilium 7 years ago 0

So, this is an "it'd be nice" request (meaning it's possibly unreasonable or poorly thought out): it'd be nice to treat all panels — output panels, find results panels, the console, etc. as regular tabs. That way they can be moved around, don't take up a whole enormous chunk of the bottom of the window all the time, and otherwise behave as expected rather than as these strange, unique things. They could be read-only tabs for all it matters, the point is just to make sure they operate on the same level as regular tabs.

One issue here would be where to put a new output panel, then, in which case a layout option might need to be added to say "this is the spot where new panels go." So, for instance, if you had the following (note: the new property is "panel_location"):

  "caption": "Layout: 1 by 2",
  "command": "set_layout",
    "cols": [0.0, 0.5, 1.0],
    "rows": [0.0, 0.5, 1.0],
    "cells": [
      [0, 0, 1, 2],
      [1, 0, 2, 1],
      [1, 1, 2, 2]
    "panel_location": [ 1, 0 ]

Where "panel_location" would specify the default location of new panels using [column, row] (or [x, y]), which refers to the closest column and row that the layout can match (or just specifying a point in percentages [based on the cols/rows properties] that falls inside a given layout region). This is slightly hackey though and would probably break once the layout changes, requiring some sane default.

Another way of handling it would be to add a preference that specifies a corner to add the panel to and then find the layout region in that corner, sending the panel to it. This would work better for folks who change their layout frequently. Optionally, it could also create a new layout region, but I figure that would also have to have an associated preference, so who knows.

At any rate, right now, the fixed panel location is something of a hindrance, especially given that we're pretty much only seeing widescreen displays and panels take up the entire width of a window, thereby wasting a lot of space. So, again, it'd be nice to be able to move around panels and treat them like tabs. If nothing else, it would be nice to see them at least work in a way that's a lot less obtrusive.