[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: just-the-text Emacs frame
From: |
Mohsen BANAN |
Subject: |
Re: just-the-text Emacs frame |
Date: |
Thu, 02 Jun 2011 13:19:49 -0700 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux) |
>>>>> On Thu, 02 Jun 2011 12:41:25 -0500, Ted Zlatanov <address@hidden> said:
Ted> On Thu, 02 Jun 2011 08:43:55 -0700 Mohsen BANAN <address@hidden> wrote:
>>>>>>> On Thu, 02 Jun 2011 08:15:31 -0500, Ted Zlatanov <address@hidden>
said:
MB> Please let live emacs-panels consist of live emacs-tiles.
Ted> ...
MB> So, an emacs-panel would not be simply displaying a buffer, but
MB> possibly a series of buffers (tiles).
Ted> Should those tiles be Emacs windows or buffer-level facilities?
I wrote that poorly.
Usually not emacs windows.
In the concrete, emacs-panel would be simply
displaying a buffer but in the abstract the
emacs-panel buffer is the aggregation of a series
of emacs-tiles (likely buffers).
I'll be expanding on this in the context of an
example below.
MB> A live emacs-tile may optionally have a clickable (touchable)
MB> function. So, in addition to being "live" it is optionally
MB> "active". Each emacs-tile may have an "activate" function.
Ted> That should be a property of the text produced by the "update" function.
Possible to do it that way but there are also
advantages for an entire emacs-tile to be declared
active to the emacs-panel.
More on this in the example below.
MB> The process of splitting an emacs-panel into emacs-tiles can be
MB> based on something like Lars's (gnus-add-configuration).
Ted> Can you provide an example? I don't know exactly what you mean here.
Gnus provides a facility for structuring a frame
into multiple windows based on horizontal/vertical
box specifications.
On a wide screen, mine is this:
(defun bystar:mail:display:frame-wide ()
"On a Wide Frame"
(interactive)
(gnus-add-configuration
'(summary
(horizontal 1.0
(vertical 0.6 (summary 1.0 point))
(vertical 1.0 (group 1.0)))))
(gnus-add-configuration
'(article
(horizontal 1.0
(vertical 0.6 (summary 0.25 point) (article 1.0) )
(vertical 1.0 ("*BBDB*" 1.0) (score-trace 0.1)))))
)
So, I am proposing that similarly an emacs-panel can be
devided into emacs-tiles.
The example below explains it more.
Panel of Tiles Example:
-----------------------
Consider that we were trying to mimic what
Windows 7 Mobile is doing in:
http://www.blogcdn.com/www.engadget.com/media/2010/02/02-15-10winphone2.jpg
There will be 1 emacs-panel containing 7
emacs-tiles.
So, we need to:
- Specify 7 emacs-tiles. (6 squares 1 rectangle
in that picture.)
- Specify lay out and sizes of the tiles within the
panel. Based on something similar to gnus-add-configuration.
- Specify the emacs-panel's overall size ... and
make it contain the 7 emacs-tiles.
As you said, a tile in a panel is not same as a
window in a frame.
The horizontal/vertical dividers for the tiles
could be as simple as lines (thin dividers -- not scroll bars).
I have a preference for the "active" abstraction
for the entire tile to be optionally deligated to
the panel manager as opposed to always being a
property of the text inside of the tile.
The idea is that on a handset you would always
take it for granted that touching (clicking) a
tile will always do something.
My motivation is to facilitate getting things
started towards Emacs Mobile. The maping between
the container of a set of tiles into a panel can
be at frame or window level. May be we need a
separate abstraction name for the container of a
set of tiles.
With something like this (panels of tiles) in
place, emacs can quickly be made quite usable on a
touch based handset.
On a large screen, outside of the handset usage,
using you own example:
(emacs-panel-popup-add
"status" :function
(lambda ()
(format "%s\n%s\n%s\n%s"
(format-time-string "%H:%M %Y-%m-%d" (current-time))
(battery-format battery-echo-area-format (funcall
battery-status-function))
(timeclock-status-string)
(shell-command-to-string "nmcli -p dev"))))
Using tiles, you could be creating 4 tiles for
each of:
(format-time-string "%H:%M %Y-%m-%d" (current-time))
(battery-format battery-echo-area-format (funcall
battery-status-function))
(timeclock-status-string)
(shell-command-to-string "nmcli -p dev")
With tile dividers between them and separate
update functions ...
What do you think?
Thanks.
...Mohsen
- Re: just-the-text Emacs frame, Ted Zlatanov, 2011/06/01
- Re: just-the-text Emacs frame, Leo, 2011/06/01
- Re: just-the-text Emacs frame, Eli Zaretskii, 2011/06/02
- Re: just-the-text Emacs frame, Ted Zlatanov, 2011/06/02
- Re: just-the-text Emacs frame, Mohsen BANAN, 2011/06/02
- Re: just-the-text Emacs frame, Ted Zlatanov, 2011/06/02
- Re: just-the-text Emacs frame,
Mohsen BANAN <=
- Re: just-the-text Emacs frame, Ted Zlatanov, 2011/06/02
- Re: just-the-text Emacs frame, Mohsen BANAN, 2011/06/03
- Re: just-the-text Emacs frame, Ted Zlatanov, 2011/06/03
- Re: just-the-text Emacs frame, Mohsen BANAN, 2011/06/03
- Re: just-the-text Emacs frame, Eli Zaretskii, 2011/06/02
- GTK "decorated" and "deletable" properties (was: just-the-text Emacs frame), Ted Zlatanov, 2011/06/02
- Re: GTK "decorated" and "deletable" properties (was: just-the-text Emacs frame), Eli Zaretskii, 2011/06/02
- Re: GTK "decorated" and "deletable" properties, Ted Zlatanov, 2011/06/02
- Re: GTK "decorated" and "deletable" properties, Jan Djärv, 2011/06/03
- Re: GTK "decorated" and "deletable" properties, Ted Zlatanov, 2011/06/03