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

Re: [Ayatana] CSD and the pressure to innovate



On Wed, Jul 7, 2010 at 5:42 PM, Apoorva Sharma <appi2012@xxxxxxxxx> wrote:
> On Jul 7, 2010, at 6:10 PM, Sam Spilsbury <smspillaz@xxxxxxxxx> wrote:
>
>> Why exactly do we want the WM to be handling tabs here? Trying to do
>> tabbed applications within the window manager for the sake of having
>> tabs is a huge waste of memory, especially when the application itself
>> can already do tabs.
>>
> Standardizing a tabbing system would save memory, since individual apps don't have to manage them, and so unnecessary code could be removed.

No, the removal of code to do internal tabbing has nothing to do with
memory wastage. First of all, you are still going to be linking
against the GTK or QT libs for any application and have fun getting
any of them to remove their tabbing widgets. So that code isn't going
to be "saved". Second of all, window managers know nothing about
documents, they only know about X11 windows (which are just huge
images as far as they are concerned). 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.

>
>> 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.

Also if you just want to tab items in a singular application, then why
not use the tabs implementation we already have? Toolkits have been
able to do this for years, and because applications already use
toolkits, the implementation is already consistant! There, no more
ugly window manager hacks required.

Kind Regards,

Sam

>
> I hope that this alternate description helps.
>



-- 
Sam Spilsbury