Open stapelberg opened 9 years ago
Yeah, I think this would be good functionality to have. It will require some extra support from the swc side though (to draw the titlebars).
Here is my idea for this:
We could update the swc_window_set_border to just take a left, right, top, bottom size (and no color). Then, we could add a member render_border
to swc_window_handler. It would be called with the damaged region of the border, and a target wld_surface (corresponding to the screen's frame). We could provide a convenience method swc_window_draw_simple_border(uint32_t color, ...), which could be used when no fancy titlebars are needed.
We could also take this a step further and add a render_window
method as well, so the window manager could apply effects like, make the unselected windows darker (someone requested this feature a while ago) or other fancy compositing effects. Of course a default render function would be provided for the common case of just copying the window buffer to the screen's frame.
Currently, windows are always displayed in full, which is a reasonable thing for a tiling window manager :).
However, plenty of people have smaller screens (e.g. on a notebook) and want to violate the tiling principle by having windows displayed in a tabbed container of some sort.
Would you be okay with adding tabbing support to velox? See the top right part of the screen in http://i3wm.org/screenshots/i3-9.png for how it could look like. If tabbing is okay, would stacking also be acceptable? It’s essentially tabs, but having the titlebars arranged on top of each other instead of next to each other, see http://i3wm.org/screenshots/i3-2.png — the advantage is that you see more of the window title.
In velox parlance, I think the easiest way to get there is to make a column tabbed/stacked.