Current File : //proc/self/root/kunden/proc/self/root/usr/share/emacs/27.2/lisp/tab-bar.elc |
;ELC
;;; Compiled
;;; in Emacs version 27.2
;;; with all optimizations.
;;; This file contains utf-8 non-ASCII characters,
;;; and so cannot be loaded into Emacs 22 or earlier.
(and (boundp 'emacs-version)
(< (aref emacs-version (1- (length emacs-version))) ?A)
(string-lessp emacs-version "23")
(error "`%s' was compiled for Emacs 23 or later" #$))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(byte-code "\300\301\302\303\304\305\306\307&\210\300\310\311\312\304\301\304\313\306\307& \210\314\315\316\317\306\307\304\310&\210\314\320\321\322\306\307\304\310&\210\323\324\325\326\327DD\330\331\332\333\334\335\336\304\301\306\307&
\207" [custom-declare-group tab-bar nil "Frame-local tabs." :group convenience :version "27.1" tab-bar-faces ((tab-bar custom-face)) "Faces used in the tab bar." faces custom-declare-face tab-bar-tab ((default :inherit tab-bar) (((class color) (min-colors 88)) :box (:line-width 1 :style released-button)) (t :inverse-video nil)) "Tab bar face for selected tab." tab-bar-tab-inactive ((default :inherit tab-bar-tab) (((class color) (min-colors 88)) :background "grey75") (t :inverse-video t)) "Tab bar face for non-selected tab." custom-declare-variable tab-bar-select-tab-modifiers funcall function #[0 "\300\207" [nil] 1] "List of modifier keys for selecting a tab by its index digit.\nPossible modifier keys are `control', `meta', `shift', `hyper', `super' and\n`alt'. To help you to select a tab by its number, you can customize\n`tab-bar-tab-hints' that will show tab numbers alongside the tab name." :type (set :tag "Tab selection modifier keys" (const control) (const meta) (const shift) (const hyper) (const super) (const alt)) :initialize custom-initialize-default :set #[514 "\300\"\210\301\302!\210\301\303!\207" [set-default tab-bar-mode -1 1] 5 "\n\n(fn SYM VAL)"]] 14)
#@320 Toggle the tab bar in all graphical frames (Tab Bar mode).
If called interactively, enable Tab-Bar mode if ARG is positive, and
disable it if ARG is zero or negative. If called from Lisp, also
enable the mode if ARG is omitted or nil, and toggle it if ARG is
`toggle'; disable the mode otherwise.
(fn &optional ARG)
(defalias 'tab-bar-mode #[256 "\305 \306=\203
?\202 \307!\310V\211\203 \311\202 \310\312 \211\2031 \211@\313\314#\210A\266\202\202 \210\314 \236\203A \314B\315\314 \"B\210\203Z \n\203Z \316\310\317\n#\204Z \320\310\nG\321\n$\210\203r \203r \316\310\317#\204r \320\310G\322$\210\203\313 \f\203\247 \323\324\325\f\326C\"!\327\"\210\330\310\211W\203\245 \211\323\324\325\f\331\311\326#C\"!\332\"\266\211T\262\202\207 \266\333\334!\204\262 \323\335\336\"\210\333\337!\204\275 \323\340\341\"\210\333\342!\204\357 \323\343\341\"\210\202\357 \333\344!\336=\203\327 \345\346!\210\333\347!\341=\203\343 \345\350!\210\333\351!\341=\203\357 \345\352!\210\353\354\203\371 \355\202\372 \356\"\210\357\360!\203\305 \203\211\305 \232\203\361\362\363\203\364\202\365#\266\210\366 \210\207" [tab-bar-mode default-frame-alist tab-bar-new-button tab-bar-close-button tab-bar-select-tab-modifiers current-message toggle prefix-numeric-value 0 1 frame-list set-frame-parameter tab-bar-lines assq-delete-all get-text-property display add-text-properties (display (image :type xpm :file "tabs/new.xpm" :margin (2 . 0) :ascent center)) (display (image :type xpm :file "tabs/close.xpm" :margin (2 . 0) :ascent center)) global-set-key vector append 48 tab-bar-switch-to-recent-tab 9 + tab-bar-select-tab global-key-binding [(control tab)] [(control tab)] tab-next [(control shift tab)] [(control shift tab)] tab-previous [(control shift iso-lefttab)] [(control shift iso-lefttab)] [(control tab)] global-unset-key [(control tab)] [(control shift tab)] [(control shift tab)] [(control shift iso-lefttab)] [(control shift iso-lefttab)] run-hooks tab-bar-mode-hook tab-bar-mode-on-hook tab-bar-mode-off-hook called-interactively-p any "" message "Tab-Bar mode %sabled%s" "en" "dis" force-mode-line-update] 14 (#$ . 1835) (byte-code "\206 \301C\207" [current-prefix-arg toggle] 1)])
(defvar tab-bar-mode-hook nil)
(byte-code "\301\302N\204\f \303\301\302\304#\210\305\306\307\310\300!\205 \307\211%\207" [tab-bar-mode-map tab-bar-mode-hook variable-documentation put "Hook run after entering or leaving `tab-bar-mode'.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it. (This is true for all hook variables.)" add-minor-mode tab-bar-mode nil boundp] 6)
#@191 Text-mode emulation of switching tabs on the tab bar.
This command is used when you click the mouse in the tab bar
on a console which has no window system but does have a mouse.
(fn EVENT)
(defalias 'tab-bar-handle-mouse #[257 "\300!\3018\262@\302\303\304 \237B\305\"\306C\2056 \30720 \310\311\312\313\314\315#\316\"\317\320%\"0?\2056 \321 \207" [event-start 2 lookup-key keymap current-active-maps [tab-bar] 0 done map-keymap make-byte-code 514 "\211\242\303=\205M \302\242A@G\\\300V\203D \304\300\302\242Z\305A@#\2039 \306\307\310\311\"!!\312\301\"\211\2034 \313!\210\266\202? \313\3148!\210\315\316\317\"\210\302\211\242A@G\\\240\207" vconcat vector [menu-item get-text-property close-tab vector intern format "C-%s" lookup-key call-interactively 2 throw done t] 7 "\n\n(fn KEY BINDING)" tab-bar-new-tab] 13 (#$ . 4466) "e"])
#@130 Toggle tab bar on or off, based on the status of the current frame.
See `tab-bar-mode' for more information.
(fn &optional ARG)
(defalias 'toggle-tab-bar-mode-from-frame #[256 "\211\300=\203 \301\302\303\304\"\305V\203 \305\202 \306!\207\301!\207" [toggle tab-bar-mode frame-parameter nil tab-bar-lines 0 1] 5 (#$ . 5322) (byte-code "\206 \301C\207" [current-prefix-arg toggle] 1)])
#@77 Keymap for the tab bar.
Define this locally to override the global tab bar.
(defvar tab-bar-map (make-sparse-keymap) (#$ . 5718))
(byte-code "\300\301\302\303\304!\305BB\"\207" [global-set-key [tab-bar] menu-item purecopy "tab bar" (ignore :filter tab-bar-make-keymap)] 5)
(defconst tab-bar-keymap-cache (make-hash-table :weakness t :test 'equal))
#@115 Generate an actual keymap from `tab-bar-map'.
Its main job is to show tabs in the tab bar.
(fn &optional IGNORE)
(defalias 'tab-bar-make-keymap #[256 "G\302U\203\n \303 \207\304 B\305 \"\206 \306 #\207" [tab-bar-map tab-bar-keymap-cache 1 tab-bar-make-keymap-1 frame-terminal gethash puthash] 6 (#$ . 6073)])
(byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\313\314\315\316\317&
\210\300\320\302\303\321DD\322\306\323\314\315\316\317& \210\300\324\302\303\325DD\326\306\327\310\311\312\330\314\315\316\317&
\207" [custom-declare-variable tab-bar-show funcall function #[0 "\300\207" [t] 1] "Defines when to show the tab bar.\nIf t, enable `tab-bar-mode' automatically on using the commands that\ncreate new window configurations (e.g. `tab-new').\nIf the value is `1', then hide the tab bar when it has only one tab,\nand show it again once more tabs are created.\nIf nil, always keep the tab bar hidden. In this case it's still\npossible to use persistent named window configurations by relying on\nkeyboard commands `tab-new', `tab-close', `tab-next', `tab-switcher', etc." :type (choice (const :tag "Always" t) (const :tag "When more than one tab" 1) (const :tag "Never" nil)) :initialize custom-initialize-default :set #[514 "\301\"\210\302\303=\204 \304!\203 GV\203 \305\202 \306!\207" [tab-bar-tabs-function set-default tab-bar-mode t natnump 1 -1] 5 "\n\n(fn SYM VAL)"] :group tab-bar :version "27.1" tab-bar-new-tab-choice #[0 "\300\207" [t] 1] "Defines what to show in a new tab.\nIf t, start a new tab with the current buffer, i.e. the buffer\nthat was current before calling the command that adds a new tab\n(this is the same what `make-frame' does by default).\nIf the value is a string, use it as a buffer name to switch to\nif such buffer exists, or switch to a buffer visiting the file or\ndirectory that the string specifies. If the value is a function,\ncall it with no arguments and switch to the buffer that it returns.\nIf nil, duplicate the contents of the tab that was active\nbefore calling the command that adds a new tab." (choice (const :tag "Current buffer" t) (string :tag "Buffer" "*scratch*") (directory :tag "Directory" :value "~/") (file :tag "File" :value "~/.emacs") (function :tag "Function") (const :tag "Duplicate tab" nil)) tab-bar-new-button-show #[0 "\300\207" [t] 1] "If non-nil, show the \"New tab\" button in the tab bar.\nWhen this is nil, you can create new tabs with \\[tab-new]." boolean #[514 "\300\"\210\301 \207" [set-default force-mode-line-update] 5 "\n\n(fn SYM VAL)"]] 14)
#@32 Button for creating a new tab.
(defvar tab-bar-new-button " + " (#$ . 8638))
(byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\313\314\315\316\317&
\207" [custom-declare-variable tab-bar-close-button-show funcall function #[0 "\300\207" [t] 1] "Defines where to show the close tab button.\nIf t, show the close tab button on all tabs.\nIf `selected', show it only on the selected tab.\nIf `non-selected', show it only on non-selected tab.\nIf nil, don't show it at all." :type (choice (const :tag "On all tabs" t) (const :tag "On selected tab" selected) (const :tag "On non-selected tabs" non-selected) (const :tag "None" nil)) :initialize custom-initialize-default :set #[514 "\300\"\210\301 \207" [set-default force-mode-line-update] 5 "\n\n(fn SYM VAL)"] :group tab-bar :version "27.1"] 14)
#@37 Button for closing the clicked tab.
(defvar tab-bar-close-button (propertize " x" 'close-tab t :help "Click to close tab") (#$ . 9449))
#@39 Button for going back in tab history.
(defvar tab-bar-back-button " < " (#$ . 9591))
#@42 Button for going forward in tab history.
(defvar tab-bar-forward-button " > " (#$ . 9682))
(byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\313\314\315\316\317&
\207" [custom-declare-variable tab-bar-tab-hints funcall function #[0 "\300\207" [nil] 1] "Show absolute numbers on tabs in the tab bar before the tab name.\nThis helps to select the tab by its number using `tab-bar-select-tab'\nand `tab-bar-select-tab-modifiers'." :type boolean :initialize custom-initialize-default :set #[514 "\300\"\210\301 \207" [set-default force-mode-line-update] 5 "\n\n(fn SYM VAL)"] :group tab-bar :version "27.1"] 14)
#@28 String that delimits tabs.
(defvar tab-bar-separator nil (#$ . 10307))
(byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\313\314\315\316\317&
\207" [custom-declare-variable tab-bar-tab-name-function funcall function #[0 "\300\207" [tab-bar-tab-name-current] 1] "Function to get a tab name.\nFunction gets no arguments.\nThe choice is between displaying only the name of the current buffer\nin the tab name (default), or displaying the names of all buffers\nfrom all windows in the window configuration." :type (choice (const :tag "Selected window buffer" tab-bar-tab-name-current) (const :tag "Selected window buffer with window count" tab-bar-tab-name-current-with-count) (const :tag "Truncated buffer name" tab-bar-tab-name-truncated) (const :tag "All window buffers" tab-bar-tab-name-all) (function :tag "Function")) :initialize custom-initialize-default :set #[514 "\300\"\210\301 \207" [set-default force-mode-line-update] 5 "\n\n(fn SYM VAL)"] :group tab-bar :version "27.1"] 14)
#@59 Generate tab name from the buffer of the selected window.
(defalias 'tab-bar-tab-name-current #[0 "\300\301\302 !!\207" [buffer-name window-buffer minibuffer-selected-window] 3 (#$ . 11310)])
#@119 Generate tab name from the buffer of the selected window.
Also add the number of windows in the window configuration.
(defalias 'tab-bar-tab-name-current-with-count #[0 "\300\301\302\"G\303\304 !\305V\203 \306\307#\202 \306\310\"\207" [window-list-1 nil nomini window-buffer minibuffer-selected-window 1 format "%s (%d)" "%s"] 6 (#$ . 11509)])
#@48 Generate tab name from buffers of all windows.
(defalias 'tab-bar-tab-name-all #[0 "\300\301\302\303\304\305\306 \307\"\"!\310#\207" [mapconcat buffer-name delete-dups mapcar window-buffer window-list-1 frame-first-window nomini ", "] 8 (#$ . 11865)])
(byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\313& \207" [custom-declare-variable tab-bar-tab-name-truncated-max funcall function #[0 "\300\207" [20] 1] "Maximum length of the tab name from the current buffer.\nEffective when `tab-bar-tab-name-function' is customized\nto `tab-bar-tab-name-truncated'." :type integer :group tab-bar :version "27.1"] 10)
(defvar tab-bar-tab-name-ellipsis nil)
#@190 Generate tab name from the buffer of the selected window.
Truncate it to the length specified by `tab-bar-tab-name-truncated-max'.
Append ellipsis `tab-bar-tab-name-ellipsis' in this case.
(defalias 'tab-bar-tab-name-truncated #[0 "\302\303\304 !!\206 \305\306!\203 \307\202 \310G W\203 \202, \311\312 \313\211%\314#\207" [tab-bar-tab-name-ellipsis tab-bar-tab-name-truncated-max buffer-name window-buffer minibuffer-selected-window char-displayable-p 8230 "…" "..." propertize truncate-string-to-width nil help-echo] 9 (#$ . 12529)])
#@373 Function to get a list of tabs to display in the tab bar.
This function should have one optional argument FRAME,
defaulting to the selected frame when nil.
It should return a list of alists with parameters
that include at least the element (name . TAB-NAME).
For example, \='((tab (name . "Tab 1")) (current-tab (name . "Tab 2")))
By default, use function `tab-bar-tabs'.
(defvar tab-bar-tabs-function 'tab-bar-tabs (#$ . 13084))
#@216 Return a list of tabs belonging to the selected frame.
Ensure the frame parameter `tabs' is pre-populated.
Update the current tab name when it exists.
Return its existing value or a new value.
(fn &optional FRAME)
(defalias 'tab-bar-tabs #[256 "\301\302\"\211\203* \303\236\304\236\305\236\203% \211\203% \211A\204% \211 \241\266\266\2025 \306 C\262\307\302#\210\211\207" [tab-bar-tab-name-function frame-parameter tabs current-tab name explicit-name tab-bar--current-tab set-frame-parameter] 8 (#$ . 13521)])
#@64 Generate an actual keymap from `tab-bar-map', without caching.
(defalias 'tab-bar-make-keymap-1 #[0 "\206
\203\f \306\202
\307\310C\n \311\312\2056 \313\314\315BBB\316\314\f\317BBB\320\314\321BBB\322\314
\323BBBF\324\325\326\327\330\331\"\332\"\333\334%\"\335\314\336BBBC!\205d \"\205d \337\314\"\340BBBC%\207" [tab-bar-separator window-system tab-bar-tabs-function tab-bar-history-mode tab-bar-back-button tab-bar-forward-button " " "|" 0 append (keymap (mouse-1 . tab-bar-handle-mouse)) sep-history-back menu-item (ignore) history-back (tab-bar-history-back :help "Click to go back in tab history") sep-history-forward (ignore) history-forward (tab-bar-history-forward :help "Click to go forward in tab history") mapcan make-byte-code 257 "\301\211\242T\240\210\305\306\307\310\301\242\"!\311\300\312BBBC@\313=\203L \313\311\314\n\203+ \307\315\301\242\"\202, \316\317\320\"\203? \321=\204? \f\206@ \316Q\322\323#\324BBBC\202\220 \306\307\325\301\242\"!\311\314\n\203a \307\315\301\242\"\202b \316\317\320\"\203u \326=\204u \f\206v \316Q\322\327#\317\330\"\206\212 \331\332\333\334\301\242DF\335BBBBC@\313=\203\233 \336\202\242 \306\307\337\301\242\"!\311\316\317\340\"\206\264 \331\332\341\342\301\242DFFC#\207" vconcat vector [tab-bar-tab-hints tab-bar-close-button-show tab-bar-close-button append intern format "sep-%i" menu-item (ignore) current-tab propertize "%d " "" alist-get name non-selected face tab-bar-tab (ignore :help "Current tab") "tab-%i" selected tab-bar-tab-inactive binding lambda nil (interactive) tab-bar-select-tab (:help "Click to visit tab") C-current-tab "C-tab-%i" close-binding (interactive) tab-bar-close-tab] 12 "\n\n(fn TAB)" sep-add-tab (ignore) add-tab (tab-bar-new-tab :help "New tab") tab-bar-new-button-show tab-bar-new-button] 14 (#$ . 14050)])
#@43
(fn CURRENT FILTERED PARAMETERS SAVING)
(defalias 'frameset-filter-tabs #[1028 "\211\203 \300\301\"\207\207" [mapcar #[257 "\211:\203
\300\301\302\303!#\207\207" [seq-reduce #[514 "\300\"\207" [assq-delete-all] 5 "\n\n(fn CURRENT PARAM)"] (wc wc-point wc-bl wc-bbl wc-history-back wc-history-forward) copy-sequence] 6 "\n\n(fn CURRENT)"]] 7 (#$ . 15875)])
(byte-code "\301B\302\207" [frameset-filter-alist (tabs . frameset-filter-tabs) nil] 2)
#@24
(fn &optional FRAME)
(defalias 'tab-bar--tab #[256 "\303\304\305\"\236\306\307\"\310\311\304\312\"\"\310\311\304\313\"\"\314\315\203'