From: "alin.s" <alinsoar@voila.fr>
To: Emacs-devel@gnu.org
Subject: Re: Gtk tabs in emacs, new branch.
Date: Fri, 9 Apr 2010 00:23:40 -0700 (PDT) [thread overview]
Message-ID: <28188551.post@talk.nabble.com> (raw)
In-Reply-To: <4BB49A8F.3000307@swipnet.se>
Jan Djärv wrote:
>
> Hello.
>
> I've published a new branch (I hope, it is the first time I do this) that
> adds
> Gtk+ tabs to Emacs, it is at bzr.savannah.gnu.org/srv/bzr/emacs/gtk-tabs.
>
> Tabs isn't visible internally, it looks like just one frame at the lisp
> level.
> Window configurations are used when switching between tabs. I think
> this
> may cause flicker on slower machines. Making Emacs use Gtk+ double
> buffering
> here would help. I may violate running Lisp from C restrictions here, but
> I
> am not sure. Tabs most likely introduces new frame sizing errors.
>
> The TODO file talks about tabs on each window. To make this happen, at
> least
> for Gtk+, each window needs to be its own widget, instead of one widget
> per
> frame as we have now. This is a bigger task.
>
> You can drag tabs to reorder them, drop them on another frame to move it
> there
> and drop on the root window to create a new frame.
>
> The tabs themselves should be smaller IMHO, but the x to delete a tab
> makes
> them larger than the text.
>
> Lisp code is in native-tabs.el. Keybindings are:
>
> (global-set-key "\C-x7\C-f" 'find-file-new-tab)
> (global-set-key "\C-x70" 'tab-delete)
> (global-set-key "\C-x71" 'tab-delete-other)
> (global-set-key "\C-x72" 'tab-new)
> (global-set-key "\C-x7f" 'find-file-new-tab)
> (global-set-key "\C-x7o" 'tab-next)
> (global-set-key "\C-x7n" 'tab-next)
> (global-set-key "\C-x7p" 'tab-previous)))
>
>
> The lisp interface is:
>
> (find-file-new-tab (filename &optional wildcards)
>
> Edit file FILENAME, in a new tab.
>
> (tab-new &optional LABEL FRAME)
>
> Create a new tab with label LABEL in frame FRAME.
> If LABEL is nil, use current buffer name.
> FRAME nil means use the selected frame.
>
> Returns the key for the tab, which can be passed to `tab-delete'.
>
> (tab-delete &optional KEY FRAME)
>
> Remove tab KEY from frame FRAME.
> KEY is what `tab-new' returned or nil, which means the current tab.
> FRAME nil means use the selected frame.
>
> (tab-delete-other &optional FRAME)
>
> Remove all tabs from frame FRAME except the current one.
> FRAME nil means use the selected frame.
>
> (tab-set-label LABEL &optional FRAME)
>
> Set label for the current tab in frame FRAME to LABEL.
> LABEL nil means use current buffer name.
> FRAME nil means use the selected frame.
>
> (tab-next &optional FRAME)
>
> Go to the next tab on frame FRAME.
> Wrap around to the beginning if current tab is last.
> FRAME nil means use the selected frame.
>
> (tab-previous &optional FRAME)
>
> Go to the previous tab on frame FRAME.
> Wrap around to the end if current tab is first.
> FRAME nil means use the selected frame.
>
> I'm sure there are tons of bugs. I have not compiled this tree for
> anything
> other than Gtk+.
>
> Jan D.
>
>
>
>
Hi,
I worked on tabs, and after I did something general at C level, I realised
that I could have done better. Unfortunately, for now I cannot continue to
work on that, but I can do in in about 6 months. I can do the interface at C
level.
For me a tab will be neither a window configuration, nor a frame, but it
will act according to an initialization function written in lisp. Every
event will have associated a script, like switch, etc. It is useful also for
me to insert an environment of tab-local variables.
In this manner, I could do it in 6 months for all.
If you work on tabs and install a definitive version, please tell me whether
it makes sense for me to implement my version in future, when I have time.
Alin
--
View this message in context: http://old.nabble.com/Gtk-tabs-in-emacs%2C-new-branch.-tp28108550p28188551.html
Sent from the Emacs - Dev mailing list archive at Nabble.com.
next prev parent reply other threads:[~2010-04-09 7:23 UTC|newest]
Thread overview: 148+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-04-01 13:07 Gtk tabs in emacs, new branch Jan Djärv
2010-04-01 13:24 ` Leo
2010-04-01 18:02 ` Juri Linkov
2010-04-01 20:13 ` Jan Djärv
2010-04-09 23:27 ` Juri Linkov
2010-04-09 23:54 ` Drew Adams
2010-04-10 0:17 ` Juri Linkov
2010-04-10 2:56 ` YAMAMOTO Mitsuharu
2010-04-11 1:06 ` Juri Linkov
2010-04-01 18:50 ` Chong Yidong
2010-04-01 20:08 ` Jan Djärv
2010-04-01 20:09 ` Jan Djärv
2010-04-01 21:53 ` Stefan Monnier
2010-04-09 7:23 ` alin.s [this message]
2010-04-09 9:34 ` Jan D.
-- strict thread matches above, loose matches on Subject: below --
2010-04-01 16:52 Angelo Graziosi
2010-04-01 17:45 ` Jan Djärv
2010-04-01 18:03 ` Juri Linkov
2010-04-01 20:18 ` Jan Djärv
2010-04-02 7:10 ` Jan Djärv
2010-04-01 20:51 ` Angelo Graziosi
2010-04-02 6:49 ` Jan Djärv
2010-04-02 9:21 ` Angelo Graziosi
2010-04-02 2:06 ` Stephen J. Turnbull
2010-04-02 7:00 ` Jan Djärv
2010-04-02 6:53 ` Jan Djärv
2010-04-02 9:59 ` Angelo Graziosi
2010-04-02 15:10 ` Jan Djärv
2010-04-02 16:55 ` Angelo Graziosi
2010-04-05 8:50 ` Angelo Graziosi
2010-04-10 12:44 ` Jan Djärv
2010-04-10 17:34 ` Angelo Graziosi
2010-04-10 18:03 ` Jan Djärv
2010-04-10 22:09 ` Angelo Graziosi
2010-04-11 5:45 ` Jan Djärv
2010-04-11 8:16 ` Angelo Graziosi
2010-04-11 10:52 ` Jan Djärv
2010-04-11 17:28 ` Angelo Graziosi
2010-04-11 18:33 ` Jan Djärv
2010-04-21 8:55 ` Juri Linkov
2010-04-21 9:46 ` David Kastrup
2010-04-21 15:43 ` Juri Linkov
[not found] ` <jwv633k4rn2.fsf-monnier+emacs@gnu.org>
2010-04-22 8:16 ` Juri Linkov
2010-04-22 15:08 ` Jan Djärv
2010-04-23 8:33 ` Juri Linkov
2010-04-21 13:54 ` Angelo Graziosi
2010-04-21 15:45 ` Juri Linkov
2010-04-21 16:04 ` Jan Djärv
2010-04-22 8:14 ` Juri Linkov
2010-04-22 16:20 ` Juanma Barranquero
2010-04-24 18:45 ` Juri Linkov
2010-04-23 16:53 ` Drew Adams
2010-04-23 18:02 ` Juri Linkov
2010-04-23 18:28 ` Drew Adams
2010-04-24 9:17 ` Juri Linkov
2010-04-24 14:41 ` Drew Adams
2010-04-24 18:49 ` Juri Linkov
2010-04-24 19:24 ` Drew Adams
2010-04-25 5:36 ` Juri Linkov
2010-04-25 9:15 ` martin rudalics
2010-04-10 19:19 ` Stefan Monnier
2010-04-02 16:19 ` Uwe Siart
2010-04-02 18:31 ` Daniel Colascione
2010-04-02 20:38 ` Stefan Monnier
2010-04-03 6:29 ` Uwe Siart
2010-04-03 9:07 ` Uwe Siart
2010-04-02 6:53 ` Uwe Siart
2010-04-02 7:25 ` Jan Djärv
2010-04-04 11:01 ` Juri Linkov
2010-04-02 12:19 ` Stephen J. Turnbull
2010-04-09 9:47 A. Soare
2010-04-09 11:15 ` Jan D.
2010-04-10 1:22 ` Stefan Monnier
2010-04-10 1:36 ` Juri Linkov
2010-04-10 6:12 ` Jan Djärv
2010-04-11 1:16 ` Juri Linkov
2010-04-11 12:50 ` Tobias C. Rittweiler
2010-04-11 15:40 ` David De La Harpe Golden
2010-04-11 15:28 ` David De La Harpe Golden
2010-04-11 16:05 ` Stefan Monnier
2010-04-11 18:32 ` Jan Djärv
2010-04-12 23:47 ` Juri Linkov
2010-04-13 3:50 ` Stefan Monnier
2010-04-13 5:29 ` Juri Linkov
2010-04-13 13:05 ` Stefan Monnier
2010-04-14 5:03 ` Richard Stallman
2010-04-14 14:30 ` Stefan Monnier
2010-04-13 6:53 ` Stephen J. Turnbull
2010-04-13 12:28 ` Stefan Monnier
2010-04-13 5:53 ` Jan Djärv
2010-04-13 12:30 ` Stefan Monnier
2010-04-13 20:54 ` Jan Djärv
2010-04-11 18:09 ` Drew Adams
2010-04-12 23:45 ` Juri Linkov
2010-04-13 2:42 ` Stephen J. Turnbull
2010-04-13 6:29 ` Jan Djärv
2010-04-13 17:59 ` Eli Zaretskii
2010-04-13 18:15 ` Jan Djärv
2010-04-13 18:44 ` Eli Zaretskii
2010-04-10 1:47 ` Lennart Borgman
2010-04-10 2:19 ` Juri Linkov
2010-04-10 6:15 ` Jan Djärv
2010-04-10 9:14 ` Lennart Borgman
2010-04-10 9:46 ` joakim
2010-04-10 10:18 ` Lennart Borgman
2010-04-10 11:01 ` joakim
2010-04-10 12:38 ` Štěpán Němec
2010-04-10 14:58 ` Stefan Monnier
2010-04-10 10:58 ` Jan Djärv
2010-04-10 12:09 ` joakim
2010-04-11 1:18 ` Juri Linkov
2010-04-10 10:52 ` Jan Djärv
2010-04-10 5:51 ` Jan Djärv
2010-04-10 15:19 ` Stefan Monnier
2010-04-10 15:33 ` Chong Yidong
2010-04-10 18:51 ` Stefan Monnier
2010-04-10 16:10 ` Jan Djärv
2010-04-10 16:40 ` David De La Harpe Golden
2010-04-10 17:06 ` Jan Djärv
2010-04-10 16:42 ` Davis Herring
2010-04-10 17:11 ` Jan Djärv
2010-04-10 17:16 ` Davis Herring
2010-04-10 17:54 ` Jan Djärv
2010-04-10 18:44 ` David De La Harpe Golden
2010-04-10 19:14 ` Jan Djärv
2010-04-10 19:51 ` David De La Harpe Golden
2010-04-10 21:12 ` Stefan Monnier
2010-04-11 10:56 ` Jan Djärv
2010-04-11 15:09 ` Stefan Monnier
2010-04-10 19:00 ` Stefan Monnier
2010-04-10 19:07 ` Jan Djärv
2010-04-10 19:56 ` David De La Harpe Golden
2010-04-12 16:14 ` Jan Djärv
2010-04-12 19:18 ` Stefan Monnier
2010-04-12 20:22 ` Jan Djärv
2010-04-12 21:02 ` Stefan Monnier
2010-04-13 15:08 ` René Kyllingstad
2010-04-10 16:06 ` David De La Harpe Golden
2010-04-11 12:11 ` Stephen J. Turnbull
2010-04-11 18:09 ` Drew Adams
2010-04-12 23:49 ` Juri Linkov
2010-04-13 2:58 ` Drew Adams
2010-04-13 4:11 ` Stephen J. Turnbull
2010-04-13 16:15 ` Drew Adams
2010-04-14 10:30 ` Stephen J. Turnbull
2010-04-09 13:33 A. Soare
2010-04-10 17:33 A. Soare
2010-04-13 19:53 grischka
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=28188551.post@talk.nabble.com \
--to=alinsoar@voila.fr \
--cc=Emacs-devel@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.