[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Ayatana] CSD and the pressure to innovate



On 8 July 2010 08:50, Sam Spilsbury wrote:
If you want to "standardize"
tabbing into the window manager that is fine, but keep in mind that
the window manager has to keep the pixmaps of those windows around at
all times in order to tab between them. This in itself is huge memory
wastage. If you keep things within the toolkit as they are already
done so now, then the toolkit knows about documents and knows what
bits of memory it does and doesn't need when switching between
documents. In addition, you have /one/ pixmap rather multiple pixmaps.

Tab management in the toolkit only benefits applications that use the toolkit to have tabs.
The reason to extend tabs to the WM is to provide tabbing for applications that didn't use the toolkit.

In that case, the memory usage due to the pixmaps is exactly the same, as those applications would have a pixmap per window anyway. Tabbed applications would continue to use the toolkit so they won't add memory requirements.

 

>> It also does not make sense from a design perspective. the whole point
>> of tabbed windows (as it is implemented in both Compiz and KWin) is to
>> allow multiple /applications/ to be shoved into one window,
>> applications which the user delegates themselves as related. Confusing
>> documents and windows here doesn't help at all.
>
> I agree. However, what do tabs in firfox, chrome, and nautilus do? They allow one to combine multiple windows into one. Thus, the current tabbing system used by compiz should be scrapped (at least to me, it provides no benefits by combining two applications into one window) and there should be a system where all windows are tabbed into one like Chrome does it. It saves space, allows apps to use less code, and provides a way to unify tab behavior across applications.

They don't combine multiple windows into one. They combine multiple
/documents/ into one. Document != Window. A document just so happens
to be the thing you are doing operations on. A window includes that
document, but /also/ includes tools to operate on that document, such
as cut, copy, paste, toolbars etc.

That's true just when all documents are of the same kind. Kwin and Compiz allow having tabs for documents of different kinds in the same window, with each document having the appropriate tools. This grouping of several documents makes sense when they belong in the same task.

If you think of it, it's the same grouping provided by the task bar. The task bar is a tabbed interface joining together all open documents that are placed in the same virtual workspace. In this sense, window tabs are just a similar grouping one level below.

So you have three hierarchical levels for grouping windows: the virtual desktop, the taskbar, and the window tabs. The desktop environment would benefit for having these three levels as much homogeneous as possible, instead of having artificial restrictions ("only documents of the same kind") in one of those levels.