unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* [PATCH] Document tab opening/closing hooks and variables
@ 2019-12-10 21:33 Robert Cochran
  2019-12-11 17:25 ` Eli Zaretskii
  0 siblings, 1 reply; 4+ messages in thread
From: Robert Cochran @ 2019-12-10 21:33 UTC (permalink / raw)
  To: emacs-devel

[-- Attachment #1: Type: text/plain, Size: 266 bytes --]

Hi all,

As promised, I've written information on tab-bar-post-open-functions,
tab-bar-close-last-tab-choice, tab-bar-prevent-close-functions, and
tab-bar-post-close-functions in the manual.

Suggestions and comments welcome, as usual.

Thanks,
-- 
~Robert Cochran


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: Patch to document new tab open/close custom variables --]
[-- Type: text/x-patch, Size: 2936 bytes --]

From 95f26f10030dca8954be16a540d6d699f4567131 Mon Sep 17 00:00:00 2001
From: Robert Cochran <robert-git@cochranmail.com>
Date: Tue, 10 Dec 2019 13:25:08 -0800
Subject: [PATCH] Document tab opening/closing hooks and variables

* doc/emacs/frame.texi (Tab Bats): Document
tab-bar-post-open-functions, tab-bar-close-last-tab-choice,
tab-bar-prevent-close-functions, and tab-bar-pre-close-functions.
---
 doc/emacs/frames.texi | 44 +++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 42 insertions(+), 2 deletions(-)

diff --git a/doc/emacs/frames.texi b/doc/emacs/frames.texi
index 3a98df7de9..1af06dd308 100644
--- a/doc/emacs/frames.texi
+++ b/doc/emacs/frames.texi
@@ -1313,8 +1313,9 @@ Tab Bars
 @item C-x t 0
 @kindex C-x t 0
 @findex tab-close
-Close the selected tab (@code{tab-close}).  It has no effect if there
-is only one tab.
+Close the selected tab (@code{tab-close}).  Its effect when there is
+only one tab is determined by the variable
+@code{tab-bar-close-last-tab-choice}.
 
 @item C-x t o
 @kindex C-x t o
@@ -1329,6 +1330,45 @@ Tab Bars
 @kindex C-x t 1
 @findex tab-close-other
 Close all tabs on the selected frame, except the selected one.
+@end table
+
+  The following customizable variables provide more fine-grained
+control over tab opening and closing:
+
+@table @code
+@item tab-bar-post-open-functions
+@vindex tab-bar-post-open-functions
+A list of functions to be called to perform any final setup tasks just
+after the tab is opened.  Each function is called with the new tab as
+an argument, and this new tab will be the current tab.
+
+@item tab-bar-close-last-tab-choice
+@vindex tab-bar-close-last-tab-choice
+Determines what to do when the last tab on a frame is going to be
+closed.  The value @code{nil} means to do nothing and display a
+message in the minibuffer, as when attempting to close the only window
+in a frame.  The value @code{delete-frame} closes the entire
+containing frame, as it does in most modern web browsers.  The value
+@code{tab-bar-mode-disable} will disable tab-bar-mode.  If the value
+is a function, it will be called with the tab to be closed as an
+argument.
+
+@item tab-bar-prevent-close-functions
+@vindex tab-bar-prevent-close-functions
+A list of functions to be called to determine whether or not to close
+the tab.  Each function is called with the tab to be closed and a
+boolean argument indicating whether or not it is the last tab.  If any
+of the functions return non-@code{nil}, the tab is not closed and no
+cleanup is performed, including any actions determined by
+@code{tab-bar-close-last-tab-choice}.
+
+@item tab-bar-pre-close-functions
+@vindex tab-bar-pre-close-functions
+A list of functions to be called to perform any cleanup tasks just
+before the tab is closed.  Each function is called with the tab to be
+closed and a boolean argument indicating whether or not it is the last
+tab.
+
 @end table
 
 @node Dialog Boxes
-- 
2.23.0


^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2019-12-15 23:01 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-12-10 21:33 [PATCH] Document tab opening/closing hooks and variables Robert Cochran
2019-12-11 17:25 ` Eli Zaretskii
2019-12-11 18:15   ` Robert Cochran
2019-12-15 23:01     ` Juri Linkov

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).