Re: Tabs are ready? -> Let us give a definition of tabs.
From:
PJ Weisberg
Subject:
Re: Tabs are ready? -> Let us give a definition of tabs.
Date:
Thu, 9 Feb 2012 07:55:47 -0800
On Monday, February 6, 2012, Alin Soare <address@hidden> wrote:
>> But this does not require all of the junk (events, callbacks, etc) >> that you've talked about. All that *needs* to be added to Emacs is
>> the very limited API needed to associate tabs with a window or frame, >> displayable content and a label with each tab, and to query that >> information. The rest can be implemented with existing Emacs Lisp
>> facilities, such as faces (to change the color of a tab) and process >> sentinels (one sort of event callback). If you want a GTK-like API, >> that should be easy to write in Lisp. >>
> > Without events, do you have a concrete idea how to signal to a hidden tab that something changed , such that it changes the color? > I do not need a very limited API. I need a programmable tab bar.
I would give the tab a "wants attention" flag that gets unset when the tab is activated, and set when `(tab-request-attention TAB)' is called, e.g. by a process sentinal. Then the tab's title would switch from `tab-inactive-face' to `tab-wants-attention-face'.
The way I'm picturing it, the tab's internal state consists of four pieces of data: a title, a window (or possibly window configuration), a function that's called when it becomes active, and another function that's called when it becomes inactive. That *seems* like it's meeting all your requirements, as I've understood them.
--
-PJ
Gehm's Corrollary to Clark's Law: Any technology distinguishable from magic is insufficiently advanced.