1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-14 23:40:39 -08:00
Commit graph

51 commits

Author SHA1 Message Date
Juri Linkov
3dcf06bfa0 * lisp/tab-bar.el: Add missing arg.
* lisp/tab-bar.el (tab-bar-list-next-line)
(tab-bar-list-prev-line): Add missing interactive spec for prefix arg.

* lisp/mouse.el (mouse-buffer-menu-mode-groups): Add "Git" regexp
to match "Git-Region-History" mode name for "Version Control" group.
2019-11-17 00:19:42 +02:00
Juri Linkov
6ad5eb9794 * lisp/tab-bar.el: Better handling of closed-tabs in tab-bar-list.
* lisp/tab-bar.el (tab-bar-list-delete-from-list): Add closed tab to
tab-bar-closed-tabs.
(tab-bar-list-select): Don't add the closed intermediate tab to
tab-bar-closed-tabs.
2019-11-10 23:30:41 +02:00
Paul Eggert
f8284f1e40 Fix some quoting glitches in doc strings
This also fixes a misplaced "only".
2019-11-08 17:11:01 -08:00
Juri Linkov
528485d017 * lisp/tab-bar.el (tab-bar-history-old): Rename from tab-bar-history-current.
(tab-bar-history-old-minibuffer-depth):
Rename from tab-bar-history--minibuffer-depth.
2019-11-07 01:01:12 +02:00
Juri Linkov
da087965f2 * lisp/tab-bar.el: Better handling of tab-bar-history.
* lisp/tab-bar.el (tab-bar-history-limit): Increase to 10 since wc
is not saved to the desktop file anymore, so doesn't affect its size.
(tab-bar-history--pre-change, tab-bar--history-change):
Store wc before possibly entering the minibuffer.
2019-11-03 23:48:53 +02:00
Juri Linkov
c472df8ad3 * lisp/tab-bar.el: Filter out non-persistent tab parameters from frameset.
* lisp/tab-bar.el (frameset-filter-tabs): New function
added to 'frameset-filter-alist' for frame parameter 'tabs'.
(tab-bar--tab): Remove ws-bl/ws-bbl that are not needed because
frameset doesn't save frame buffer-list to desktop anyway.
(tab-bar-select-tab): Remove ws-bl/ws-bbl related code.

* lisp/emacs-lisp/seq.el (seq-reduce): Add autoload cookie.
2019-11-03 23:44:44 +02:00
Juri Linkov
390dd2cff9 * lisp/tab-bar.el (tab-bar-select-tab): Use set-frame-parameter.
(tab-bar-list-noselect, tab-bar-list-mode): Rearrange buffer-read-only.
2019-10-31 01:11:05 +02:00
Juri Linkov
d7f62ce0cd * lisp/tab-bar.el: Store point position and frame buffer-lists in tab.
* lisp/tab-bar.el (tab-bar--tab): Store additionally point-marker,
frame parameters buffer-list and buried-buffer-list, both for wc and ws.
Use seq-filter.
(tab-bar-select-tab): Restore point-marker after restoring
window-configuration.  Also restore frame parameters buffer-list
and buried-buffer-list both for window-configuration and window-state.
(tab-bar-history-limit, tab-bar-history--minibuffer-depth): New variables.
(tab-bar-history-current): Rename from tab-bar-history--pre-change.
(tab-bar-history--pre-change): Set tab-bar-history-current.
(tab-bar--history-change): Use seq-take for tab-bar-history-limit.
(tab-bar-history-back, tab-bar-history-forward): Restore point-marker.
(tab-bar-list-noselect): Use seq-remove.

* lisp/emacs-lisp/seq.el (seq-take, seq-filter): Add autoload cookie.
2019-10-30 00:31:11 +02:00
Juri Linkov
4e3676726a * lisp/tab-bar.el: Check for minibuffer-depth in tab-bar-history-mode.
* lisp/tab-bar.el (tab-bar-history--pre-change): Store also minibuffer-depth.
(tab-bar-history-change): Check stored minibuffer-depth for zero.
(tab-bar-history-mode): Use prefix -- for internal functions.
2019-10-28 23:55:16 +02:00
Juri Linkov
7e30076225 * lisp/tab-bar.el: Add tab-bar-history-mode with arrow buttons for navigation.
* lisp/tab-bar.el (tab-bar-back-button, tab-bar-forward-button):
New variables.
(tab-bar-make-keymap-1): Show these buttons in tab-bar-history-mode.
(tab-bar--tab): Add history-back and history-forward.
(tab-bar-select-tab): Restore history-back and history-forward.
(tab-bar-history-omit, tab-bar-history-back)
(tab-bar-history-forward, tab-bar-history-pre-change): New variables.
(tab-bar-history-pre-change, tab-bar-history-change)
(tab-bar-history-back, tab-bar-history-forward)
(tab-bar-history-mode): New functions.
2019-10-28 01:04:47 +02:00
Juri Linkov
5a9a01797b * lisp/tab-bar.el (tab-bar-switch-to-recent-tab): New command.
(tab-recent): Alias to tab-bar-switch-to-recent-tab.
(tab-bar--tab-index-recent): New internal function.
(tab-bar-close-tab-select): Add new default option 'recent'.
(tab-bar-close-tab): Handle it.

* lisp/emacs-lisp/seq.el (seq-sort-by, seq-remove): Add autoload.
2019-10-27 01:16:10 +03:00
Juri Linkov
802dc5d4dc * lisp/tab-bar.el (tab-bar-move-tab-to): Add force-mode-line-update.
(tab-bar-close-last-tab-choice, tab-bar-close-tab): Adjust option names.
2019-10-27 00:57:04 +03:00
Robert Cochran
6d2ea60ca8 Add customization option for what do when the last tab is closed
* lisp/tab-bar.el (tab-bar-close-last-tab-choice): New custom
variable.
(tab-bar-close-tab): Handle closing the last tab specially, referring to
tab-bar-close-last-tab-choice.
2019-10-27 00:41:45 +03:00
Juri Linkov
96afd74bf8 * lisp/tab-bar.el: Allow to specify interactively where to add a new tab.
* lisp/tab-bar.el (tab-bar-new-tab-to): Rename from tab-bar-new-tab.
Add optional arg TO-INDEX.
(tab-bar-new-tab): New implementation to use relative ARG.
(tab-new-to): Alias to tab-bar-new-tab-to.
2019-10-23 23:58:30 +03:00
Juri Linkov
9f52f61be5 * lisp/tab-bar.el: Rename tab-bar-swap-tabs to tab-bar-move-tab-to.
* lisp/tab-bar.el (tab-bar-move-tab-to): Rename from tab-bar-swap-tabs.
Change logic to push the moved tab between existing tabs.
(tab-bar-move-tab): Call tab-bar-move-tab-to instead of tab-bar-swap-tabs.
(tab-move-to): Rename alias from tab-swap.
2019-10-23 23:53:08 +03:00
Juri Linkov
666686a388 Implement tab close undo feature for tab-bar.
* lisp/tab-bar.el (tab-bar-closed-tabs): New variable.
(tab-bar-close-tab): Add closed tab to tab-bar-closed-tabs.
Disable tab-bar-mode on closing the last tab.
(tab-bar-close-other-tabs): Add all closed tabs to tab-bar-closed-tabs.
(tab-bar-undo-close-tab): New command.
(tab-undo): Alias to tab-bar-undo-close-tab.
2019-10-23 23:39:31 +03:00
Lars Ingebrigtsen
f342f9cd26 Fix "make bootstrap" build warning in tab-bar.el
* lisp/tab-bar.el (require): Require seq when compiling to avoid a
compilation warning.  The function it uses is autoloaded, but
autoloads aren't loaded when this is built (on "make bootstrap").
2019-10-22 21:18:33 +02:00
Juri Linkov
5cc1bd5ea1 * lisp/tab-bar.el: Use autoloaded seq-position.
* lisp/tab-bar.el (tab-bar--current-tab-index)
(tab-bar--tab-index, tab-bar--tab-index-by-name):
Use seq-position.

(tab-bar-select-tab, tab-bar-new-tab, tab-bar-close-tab)
(tab-bar-close-other-tabs, tab-bar-rename-tab)
(tab-bar-list-execute): Call force-mode-line-update
unconditionally independent from tab-bar-mode.

(tab-bar-rename-tab, tab-bar-rename-tab-by-name):
Use read-from-minibuffer instead of read-string
to be able to enter empty string.
2019-10-20 23:54:48 +03:00
Juri Linkov
bdeda7262c * lisp/tab-bar.el (tab-bar-swap-tabs): Use cl-rotatef instead of rotatef. 2019-10-20 20:45:01 +03:00
Juri Linkov
912966a5aa * lisp/tab-bar.el (tab-bar-swap-tabs, tab-bar-move-tab): New commands.
(tab-swap, tab-move): New aliases to new commands.
2019-10-20 20:36:27 +03:00
Juri Linkov
dff8978f50 Provide default value for tab-name/frame-name reading minibuffer
* lisp/tab-bar.el (tab-bar-rename-tab, tab-bar-rename-tab-by-name):
Provide default value for read-string.
(tab-bar-select-tab-by-name): Alias for tab-bar-switch-to-tab.

* lisp/frame.el (set-frame-name): Provide default value for
read-string in interactive spec.

* lisp/cus-start.el (tab-bar-position): Use choice instead of boolean.
2019-10-20 19:30:30 +03:00
Juanma Barranquero
41ba8231ef lisp/*.el: Fix typos and improve some docstrings
* lisp/auth-source.el (auth-source-backend-parse-parameters)
(auth-source-search-collection)
(auth-source-secrets-listify-pattern)
(auth-source--decode-octal-string, auth-source-plstore-search):
* lisp/registry.el (registry-lookup)
(registry-lookup-breaks-before-lexbind)
(registry-lookup-secondary, registry-lookup-secondary-value)
(registry-search, registry-delete, registry-size, registry-full)
(registry-insert, registry-reindex, registry-prune)
(registry-collect-prune-candidates):
* lisp/subr.el (nbutlast, process-live-p):
* lisp/tab-bar.el (tab-bar-list):
* lisp/cedet/ede/linux.el (ede-linux--get-archs)
(ede-linux--include-path, ede-linux-load):
* lisp/erc/erc-log.el (erc-log-all-but-server-buffers):
* lisp/erc/erc-pcomplete.el (pcomplete-erc-commands)
(pcomplete-erc-ops, pcomplete-erc-not-ops, pcomplete-erc-nicks)
(pcomplete-erc-all-nicks, pcomplete-erc-channels)
(pcomplete-erc-command-name, pcomplete-erc-parse-arguments):
* lisp/eshell/em-term.el (eshell-visual-command-p):
* lisp/gnus/gnus-cache.el (gnus-cache-fully-p):
* lisp/gnus/nnmail.el (nnmail-get-active)
(nnmail-fancy-expiry-target):
* lisp/mail/mail-utils.el (mail-string-delete):
* lisp/mail/supercite.el (sc-hdr, sc-valid-index-p):
* lisp/net/ange-ftp.el (ange-ftp-use-smart-gateway-p):
* lisp/net/nsm.el (nsm-save-fingerprint-maybe)
(nsm-network-same-subnet, nsm-should-check):
* lisp/net/rcirc.el (rcirc-looking-at-input):
* lisp/net/tramp-cache.el (tramp-get-hash-table):
* lisp/net/tramp-compat.el (tramp-compat-process-running-p):
* lisp/net/tramp-smb.el (tramp-smb-get-share)
(tramp-smb-get-localname, tramp-smb-read-file-entry)
(tramp-smb-get-cifs-capabilities, tramp-smb-get-stat-capability):
* lisp/net/zeroconf.el (zeroconf-list-service-names)
(zeroconf-list-service-types, zeroconf-list-services)
(zeroconf-get-host, zeroconf-get-domain)
(zeroconf-get-host-domain):
* lisp/nxml/rng-xsd.el (rng-xsd-compile)
(rng-xsd-make-date-time-regexp, rng-xsd-convert-date-time):
* lisp/obsolete/erc-hecomplete.el (erc-hecomplete)
(erc-command-list, erc-complete-at-prompt):
* lisp/org/ob-scheme.el (org-babel-scheme-get-buffer-impl):
* lisp/org/ob-shell.el (org-babel--variable-assignments:sh-generic)
(org-babel--variable-assignments:bash_array)
(org-babel--variable-assignments:bash_assoc)
(org-babel--variable-assignments:bash):
* lisp/org/org-clock.el (org-day-of-week):
* lisp/progmodes/cperl-mode.el (cperl-char-ends-sub-keyword-p):
* lisp/progmodes/gud.el (gud-find-c-expr, gud-innermost-expr)
(gud-prev-expr, gud-next-expr):
* lisp/textmodes/table.el (table--at-cell-p, table--probe-cell)
(table--get-cell-justify-property)
(table--get-cell-valign-property)
(table--put-cell-justify-property)
(table--put-cell-valign-property): Fix typos.

* lisp/so-long.el (fboundp): Doc fix.
(so-long-mode-line-info, so-long-mode)
(so-long--check-header-modes): Fix typos.

* lisp/emulation/viper-mous.el (viper-surrounding-word)
(viper-mouse-click-get-word): Fix typos.
(viper-mouse-click-search-word): Doc fix.

* lisp/erc/erc-backend.el (erc-forward-word, erc-word-at-arg-p)
(erc-bounds-of-word-at-point): Fix typos.
(erc-decode-string-from-target, define-erc-response-handler):
Refill docstring.

* lisp/erc/erc-dcc.el (pcomplete/erc-mode/DCC): Fix typo.
(erc-dcc-get-host, erc-dcc-auto-mask-p, erc-dcc-get-file):
Doc fixes.

* lisp/erc/erc-networks.el (erc-network-name): Fix typo.
(erc-determine-network): Refill docstring.

* lisp/net/dbus.el (dbus-list-hash-table)
(dbus-string-to-byte-array, dbus-byte-array-to-string)
(dbus-check-event): Fix typos.
(dbus-introspect-get-property): Doc fix.

* lisp/net/tramp-adb.el (tramp-adb-file-name-handler):
Rename ARGS to ARGUMENTS.  Doc fix.
(tramp-adb-sh-fix-ls-output, tramp-adb-execute-adb-command)
(tramp-adb-find-test-command): Fix typos.

* lisp/net/tramp.el (tramp-set-completion-function)
(tramp-get-completion-function)
(tramp-completion-dissect-file-name)
(tramp-completion-dissect-file-name1)
(tramp-get-completion-methods, tramp-get-completion-user-host)
(tramp-get-inode, tramp-get-device, tramp-mode-string-to-int)
(tramp-call-process, tramp-call-process-region)
(tramp-process-lines): Fix typos.
(tramp-interrupt-process): Doc fix.

* lisp/org/ob-core.el (org-babel-named-src-block-regexp-for-name)
(org-babel-named-data-regexp-for-name): Doc fix.
(org-babel-src-block-names, org-babel-result-names): Fix typos.

* lisp/progmodes/inf-lisp.el (lisp-input-filter): Doc fix.
(lisp-fn-called-at-pt): Fix typo.

* lisp/progmodes/xref.el (xref-backend-identifier-at-point):
Doc fix.
(xref-backend-identifier-completion-table): Fix typo.
2019-10-20 12:12:27 +02:00
Juri Linkov
58d23f5f19 Use 'C-x t' for tab-prefix-map instead of 'C-x 6' still used by 2C-mode-map.
* doc/emacs/commands.texi (Keys): Add 'C-x t'.
* doc/emacs/frames.texi (Tab Bars): Replace 'C-x 6' with 'C-x t'.
* doc/lispref/keymaps.texi (Prefix Keys): Add 'C-x t' (tab-prefix-map).
* doc/lispref/maps.texi (Standard Keymaps): Add tab-prefix-map, tab-bar-map.

* lisp/dired.el: Rebind 'C-x 6 d' to 'C-x t d'.  Use tab-prefix-map.

* lisp/subr.el (ctl-x-6-map, ctl-x-6-prefix, ctl-x-t-prefix): Remove.
(tab-prefix-map): New keymap bound to 'C-x t'.

* lisp/tab-bar.el: Use tab-prefix-map instead of ctl-x-6-map.

* lisp/textmodes/two-column.el: Restore autoload global setting of
"\C-x6" to 2C-command.

* lisp/ldefs-boot.el: Update to add setting "\C-x6" to 2C-command.

* doc/emacs/commands.texi (Keys):
* doc/emacs/text.texi (Two-Column):
* doc/lispref/keymaps.texi (Prefix Keys):
* doc/lispref/maps.texi (Standard Keymaps):
Restore 'C-x 6' bound to '2C-mode-map'.
2019-10-20 01:06:38 +03:00
Juri Linkov
2912de1e10 Declare tab-bar-tabs the single source of truth in regard to current tab name
* lisp/tab-bar.el: Replace all calls of tab-bar-tabs
with '(funcall tab-bar-tabs-function)'.
(tab-bar-tabs): Update the current tab name here
instead of tab-bar-make-keymap-1.
(tab-bar-make-keymap-1): Move the current tab name updating
to tab-bar-tabs.
2019-10-16 00:42:31 +03:00
Robert Cochran
bf112e23ef Allow tabs to have consistent given names
* lisp/tab-bar.el (tab-bar--tab): Pull automatic name information from
current tab
(tab-bar--current-tab): Pull automatic name information from current
tab, or from new optional template argument
(tab-bar-select-tab): Pass the target tab as a template when setting
it as current tab
(tab-bar-rename-tab, tab-bar-rename-tab-by-name): New functions
* doc/emacs/frames.texi (Tab Bars): Document new tab rename functionality.
2019-10-16 00:04:40 +03:00
Juri Linkov
56a7c60872 * lisp/tab-bar.el (tab-bar-select-tab-modifiers): New defcustom.
(tab-bar-mode): Use tab-bar-select-tab-modifiers to bind
tab-bar-select-tab.
Don't override user customized key bindings of C-TAB, C-S-TAB.
On disabling tab-bar-mode, unset only keys bound by tab-bar.
2019-10-15 23:38:18 +03:00
Juri Linkov
ffa9054698 Don't use expand-file-name to find images for tabs.
* lisp/tab-bar.el (tab-bar-mode):
* lisp/tab-line.el (tab-line-new-button, tab-line-close-button):
Remove expand-file-name with data-directory.
2019-10-15 22:44:10 +03:00
Juri Linkov
8a089a95d8 Add images on tab-bar buttons the first time the tab bar is activated
* lisp/tab-bar.el (tab-bar-mode): Set display property with image files
on tab-bar-new-button and tab-bar-close-button when tab-bar-mode is enabled
the first time.
(tab-bar-new-button, tab-bar-close-button): Use default values
without display image properties.  (Bug#37685)
2019-10-15 01:43:45 +03:00
Juri Linkov
cb29a38164 Set tab-line face height to 0.9.
* lisp/tab-line.el (tab-line): Set :height to 0.9.
* lisp/tab-bar.el (tab-bar): Remove :height.
2019-10-15 00:50:24 +03:00
Juri Linkov
674515dd75 Use variable-pitch fonts in tab-bar and tab-line faces
* lisp/tab-bar.el (tab-bar):
* lisp/tab-line.el (tab-line):
Inherit face from variable-pitch.
2019-10-14 23:07:23 +03:00
Juri Linkov
83010ae0fe * lisp/tab-bar.el (tab-bar-tab-name-current): Fix with buffer-name. 2019-10-14 19:51:51 +03:00
Juri Linkov
f0e220af08 Don't display the number of windows in tab name in tab-bar by default.
* lisp/tab-bar.el (tab-bar-tab-name-function): Change the default value.
(tab-bar-tab-name-current): Rename from tab-bar-tab-name-selected-window.
(tab-bar-tab-name-current-with-count): New function.
(tab-bar-tab-name-all): Rename from tab-bar-tab-name-all-windows.
2019-10-14 01:00:38 +03:00
Juri Linkov
914b98a1c6 * lisp/tab-bar.el: Don't use minibuffer buffer name as tab name.
* lisp/tab-bar.el (tab-bar-tab-name-selected-window):
Use minibuffer-selected-window to get original window.
2019-10-13 00:41:39 +03:00
Juri Linkov
235b8b3a6d * lisp/tab-bar.el: Don't show window count for one window.
* lisp/tab-bar.el (tab-bar-tab-name-selected-window): Don't show the number
of windows when there is only one window in the window configuration.
(tab-bar-close-other-tabs): Rename from tab-close-other.
Take into account tab-bar-show to turn off when needed.
(tab-close-other): Alias to tab-bar-close-other-tabs.
2019-10-10 01:42:56 +03:00
Juri Linkov
3f9ad4e725 * lisp/tab-bar.el (tab-bar-tab-name-function): Turn defvar into defcustom.
(tab-bar-tab-name-all-windows): Rename from tab-bar-tab-name.
(tab-bar-tab-name-selected-window): New function used by default.
2019-10-08 01:28:42 +03:00
Juri Linkov
01465915c9 Implement tab-close-other bound to C-x 6 1 by analogy with C-x 5 1.
* lisp/tab-bar.el (tab-close-other): New command bound to C-x 6 1.

* doc/emacs/frames.texi (Tab Bars): Document it.
2019-10-07 00:53:34 +03:00
Juri Linkov
6b915359ef More tab bar related key bindings.
* lisp/subr.el (ctl-x-6-map, ctl-x-6-prefix): Move here from tab-bar.el
to make it available to other modes like dired for 'C-x 6 d'.

* lisp/dired.el (dired-other-tab): New command bound to 'C-x 6 d'.

* lisp/tab-bar.el: Bind 'C-x 6 o' to tab-next.

* doc/emacs/frames.texi (Tab Bars): Describe C-x 6 prefix key bindings.
2019-10-06 00:54:46 +03:00
Juri Linkov
e3fcf1f38b * lisp/tab-bar.el: In tab switching allow absolute and relative args.
* lisp/tab-bar.el (tab-bar-tab-hints): New defcustom.
(tab-bar-make-keymap-1): Use tab-bar-tab-hints.
(tab-bar--tab, tab-bar--current-tab, tab-bar--current-tab-index)
(tab-bar--tab-index, tab-bar--tab-index-by-name): New internal functions.
(tab-bar-select-tab): Use arg as absolute position of tab to select.
(tab-bar-switch-to-next-tab, tab-bar-switch-to-prev-tab): Use arg
as offset relative to the current tab.
(tab-bar-switch-to-tab): New command.
(tab-bar-new-tab): Simplify by using cl-pushnew.
(tab-bar-close-current-tab): Remove (the current tab is closed
by nil arg of tab-bar-close-tab).
(tab-bar-close-tab): Use arg as absolute position of tab to close.
(tab-bar-close-tab-by-name): New command.
2019-10-06 00:50:19 +03:00
Juri Linkov
52ab948510 * lisp/tab-bar.el (tab-bar-show): New defcustom.
* lisp/tab-bar.el (tab-bar-close-current-tab, tab-bar-close-tab):
(tab-bar-new-tab): Use tab-bar-show.

* doc/emacs/frames.texi (Tab Bars): Add tab-bar-show.

* lisp/speedbar.el (speedbar-mode): Set buffer-local tab-bar-mode
and tab-line-format to nil to not show in dedicated speedbar frame.
2019-10-02 23:18:01 +03:00
Juri Linkov
3f981a0a89 Remove unused code and reformat to 70 columns. 2019-10-01 23:01:08 +03:00
Juri Linkov
457a7edb47 Update documentation for tabs.
* doc/emacs/frames.texi (Tab Bars): New node.
2019-09-28 22:55:05 +03:00
Juri Linkov
e47c389cfd Improve customization.
* lisp/tab-bar.el (tab-bar-new-tab-choice)
(tab-bar-close-button-show): New defcustoms.
(tab-bar-tab-name-function): New defvar.

* lisp/tab-line.el (tab-line-new-tab-choice)
(tab-line-close-button-show): New defcustoms.
2019-09-25 23:21:37 +03:00
Juri Linkov
39255b9b4d Improve customizability and better tab separators.
* lisp/tab-bar.el (tab-bar-tabs-function): New defvar.

* lisp/tab-line.el (tab-line-tab-name-function)
(tab-line-tabs-function): New defvars.
2019-09-22 23:40:04 +03:00
Juri Linkov
e3e0920b9f Try to fix macOS and Windows issues. 2019-09-16 23:46:42 +03:00
Juri Linkov
6474abc363 Use images for new/close buttons in tab-bar and tab-line.
* etc/images/tabs/new.xpm:
* etc/images/tabs/close.xpm:
New files.

* lisp/tab-bar.el (tab-bar-separator): New face.
(tab-bar-separator, tab-bar-button-new, tab-bar-button-close):
Use display property with images in default values.

* lisp/tab-line.el (tab-line-button-new, tab-line-button-close):
Use display property with images in default values.

* src/xdisp.c (tab_bar_item_info): Add new arg close_p and set it
to the value of property `close' at charpos.
(get_tab_bar_item): Add new arg close_p.
(handle_tab_bar_click): Add ctrl_modifier when close_p is non-nil.
(Fdump_tab_bar_row): Fix crash for non-X builds.
2019-09-15 23:52:22 +03:00
Juri Linkov
89ef791c07 Small fixes for tty and w32.
* lisp/menu-bar.el (showhide-tab-bar): Visible on tty too.
* lisp/tab-bar.el (tab-bar-mode): Add binding [(control shift tab)] for w32.
* lisp/tab-line.el (tab-line-add-tab): Use tmm-prompt for buffer-menu on tty.
* src/w32term.c (w32_read_socket): Fix tool-bar clicks.
2019-09-08 23:18:45 +03:00
Juri Linkov
a7289c0488 * lisp/tab-bar.el (tab-bar-make-keymap-1): Don't use fixed "Current tab".
* lisp/tab-bar.el (tab-bar-make-keymap-1):
* lisp/tab-line.el (tab-line-tab-name-add):
Add space after Unicode char to avoid char clobbering on terminals.
2019-09-07 23:04:24 +03:00
Juri Linkov
a365251d01 Text-mode display of the tab-bar and emulation of clicking on a tty.
* lisp/tab-bar.el (tab-bar-mouse): New command bound to mouse-1 on [tab-bar].

* lisp/xt-mouse.el (xterm-mouse-event): Use `tab-bar' when clicking
on the tab-bar that is on the second row below menu-bar.

* src/frame.c (set_tab_bar_lines): New function.
(frame_windows_min_size): Add FRAME_TAB_BAR_LINES.
(make_initial_frame): Call set_tab_bar_lines.
(store_frame_param): Call set_tab_bar_lines for Qtab_bar_lines prop.
(Fframe_parameters): Call store_in_alist for Qtab_bar_lines.

* src/xdisp.c (display_tab_bar): New function.
(redisplay_window): Call display_tab_bar when `FRAME_WINDOW_P (f)'
is NULL on a tty.
2019-09-03 22:55:13 +03:00
Juri Linkov
47da92bdc0 Add more aliases switch-to-tab, previous-tab, next-tab 2019-09-01 22:30:45 +03:00
Juri Linkov
7edb954549 Non-graphical access to frame-local tabs (named window configurations)
* lisp/tab-bar.el (make-tab, delete-tab, tab-bar-list)
(tab-bar-list-next-line, tab-bar-list-prev-line)
(tab-bar-list-unmark, tab-bar-list-backup-unmark)
(tab-bar-list-delete, tab-bar-list-delete-backwards)
(tab-bar-list-execute, tab-bar-list-select)
(tab-bar-list-mouse-select): New commands.
(tab-bar-list-noselect, tab-bar-list-current-tab)
(tab-bar-list-delete-from-list): New functions.
(tab-bar-list-column): New defvar.
2019-09-01 22:16:18 +03:00