emacs-devel
[Top][All Lists]
Advanced

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

Re: just-the-text Emacs frame


From: Ted Zlatanov
Subject: Re: just-the-text Emacs frame
Date: Fri, 03 Jun 2011 15:56:20 -0500
User-agent: Gnus/5.110018 (No Gnus v0.18) Emacs/24.0.50 (gnu/linux)

On Thu, 02 Jun 2011 13:19:49 -0700 Mohsen BANAN <address@hidden> wrote: 

MB> Gnus provides a facility for structuring a frame
MB> into multiple windows based on horizontal/vertical
MB> box specifications.
...
MB>   (gnus-add-configuration
MB>    '(summary
MB>      (horizontal 1.0
MB>              (vertical 0.6 (summary 1.0 point))
MB>              (vertical 1.0 (group 1.0)))))

Oh right, so it's a tree of H and V splits.

MB> So, I am proposing that similarly an emacs-panel can be
MB> devided into emacs-tiles.

OK.

MB>     - Specify 7 emacs-tiles. (6 squares 1 rectangle
MB>       in that picture.)
MB>     - Specify lay out and sizes of the tiles within the
MB>       panel. Based on something similar to gnus-add-configuration.
MB>     - Specify the emacs-panel's overall size ... and
MB>       make it contain the 7 emacs-tiles.

MB> The horizontal/vertical dividers for the tiles
MB> could be as simple as lines (thin dividers -- not scroll bars).

There is no need for dividers.  Just set the background to a different
color and give each tile a little padding or margin.

MB> I have a preference for the "active" abstraction for the entire tile
MB> to be optionally deligated to the panel manager as opposed to always
MB> being a property of the text inside of the tile.

Maybe we can write a tiling panel manager, then, which can run inside
any buffer and tile any content using the configurations you showed.
That would be generally useful, not just for mobile devices.

MB> My motivation is to facilitate getting things started towards Emacs
MB> Mobile. The maping between the container of a set of tiles into a
MB> panel can be at frame or window level. May be we need a separate
MB> abstraction name for the container of a set of tiles.

It would be simplest to call tiles by name (symbol or string) and nest
them inside frames (always using just one buffer per frame).  So you'd
define a tile with margin, padding, etc. properties:

(emacs-panel-tile-add "myfeeds" :margin 3 :text ... :call ...)
(emacs-panel-tile-add 'mychat :padding 2 :update-function ... :call ...)

and then use it in a tiled 3x3 layout:

(emacs-panel-popup-add "status" :tiles '(nil "myfeeds" nil 'mychat)
                                :background "black"
                                :layout-manager '(tile :x 3 :y 3))

Does that API seem OK?  Or do you still think a H/V split tree is needed
and we should support irregular grids?  Remember, they are more powerful
but also harder to use and configure...  So maybe we should start with
simple tiling and add irregular grids later.

On Fri, 03 Jun 2011 08:09:39 -0700 Mohsen BANAN <address@hidden> wrote: 

MB> So, I am proposing experimentation with the following
MB> hierarchy:

MB>   - Bare-Frames (no mini-buf, no menu, ...)
MB>      - Related Windows
MB>         - Panels (Collection of Tiles)
MB>            - Tiles (Optionally Live and Active)

Yes.  We're at bare frames now, slowly moving towards panels and tiles.
I think a panel should be a frame.  I'm not sure what related windows
are.

MB> Consider use of emacs's calc on a handset.

Your example is useful, but you're jumping too far ahead.  Let's work on
the general panel and tiling functionality first.

Ted




reply via email to

[Prev in Thread] Current Thread [Next in Thread]