;ELC ;;; Compiled ;;; in Emacs version 28.0.50 ;;; with all optimizations. (byte-code "\300\301!\210\300\302!\210\300\303!\210\304\305\306\307\310\311\312\313&\210\314\315\316\317\310\320\321\322\312\305& \210\314\323\306\324\310\325\321\326\327\330\312\305& \210\314\331\306\332\310\333\321\334\327\335\312\305& \210\314\336\316\337\310\340\321\341\312\305& \207" [require persp-mode dash cl-lib custom-declare-group persp-fr nil "Customization of the `persp-fr' mode." :tag "persp-fr" :group environment custom-declare-variable persp-fr-use-prefix-numbers t "When non-nil, perspective names are prefix with a number.\nUseful to move to a perspective with a key binding." "Use prefix numbers in perspective names" :type (boolean) persp-fr-title-max-length "Limit the length of the title shown in the window title." "Max length of frame titles." (choice (const :tag "unlimited" nil) (integer :tag "limited" :value 64 :validate (lambda (widget) (when (or (null (integerp (widget-value widget))) (< (widget-value widget) 1)) (widget-put widget :error (format-message "Invalid value, must be an integer greater than 0")) widget)))) :set #[(symbol value) "\302 \"\210\303\304!\205\304\305!\207" [symbol value custom-set-default fboundp persp-fr-update nil] 3] persp-fr-title-prefix "Prefix to be used in the window title." "Window title prefix" (choice (const :tag "default frame name" nil) (string :tag "literal text")) #[(symbol value) "\302 \"\210\303\304!\205\304\305!\207" [symbol value custom-set-default fboundp persp-fr-update nil] 3] persp-fr-move-cycle-at-end "When non-nil, perform cycle move.\n`persp-fr-move-left' and `persp-fr-move-right' functions will cycle\nthe perspective if it is moved further the beginning or the end." "Cycle moved perspectives" (boolean)] 12) (defvar persp-fr-default-frame-name (frame-parameter nil 'name)) #@86 Keep a list of perspective names in the frame title. (fn &optional HOOK &rest REST) (defalias 'persp-fr-update #[(&optional hook &rest rest) "\306  \307=\205 \n@=?\205W\310!\311 \312\313 \307=\203*\314\310\n@! \"\2065\2065\315\316\317 \320#\321R\203S GV\203S \312O\322P\323 !+)\207" [current hook rest title i persp-list get-current-persp persp-before-kill-functions safe-persp-name persp-names-current-frame-fast-ordered 0 nil delete " - " mapconcat #[(persp) "\n\203 T\305\306 #\f\230\203\307 \310Q\202 )\207" [persp persp-name persp-fr-use-prefix-numbers i current format "%d=%s" "[ " " ]"] 4] " - " " -" " .." set-frame-name persp-fr-title-prefix persp-fr-default-frame-name persp-fr-title-max-length] 6 (#$ . 1863)]) #@28 Return current persp name. (defalias 'persp-fr-current-name #[nil "\303 \211\204 \202\304!\n>\204\305\306\307D\"\210\310H)\207" [persp persp-nil-name cl-struct-perspective-tags get-current-persp type-of signal wrong-type-argument perspective 1] 5 (#$ . 2634)]) #@103 Switch to perspective number PERSP-NUM. Perspectives are numbered from left to right starting with 1. (defalias 'persp-fr-switch-nth #[(persp-num) "\303 \211G\304\nX\203%\n X\203%\305\nS8!\210\306\307\310\nS8\"!\202(\306\311!*\207" [persp-list persp-list-length persp-num persp-names-current-frame-fast-ordered 1 persp-switch message format "switched to perspective %s" "invalid perspective number"] 6 (#$ . 2912) "nperspective number: "]) #@46 Move current perspective to the first place. (defalias 'persp-fr-move-first #[nil "\304 \305 \"\306\n \" B+\307 \207" [name persp-names-cache idx lst persp-fr-current-name -elem-index -remove-at persp-fr-update] 3 (#$ . 3365) nil]) #@45 Move current perspective to the last place. (defalias 'persp-fr-move-last #[nil "\304 \305 \"\306\n \"\307 \"+\310 \207" [name persp-names-cache idx lst persp-fr-current-name -elem-index -remove-at -snoc persp-fr-update] 3 (#$ . 3609) nil]) #@39 Move current perspective to the left. (defalias 'persp-fr-move-left #[nil "\305 \306 \"\307\n \"\n\310U\203\"\f\203\311 \"\202( \202(\312\nS #+\313 \207" [name persp-names-cache idx lst persp-fr-move-cycle-at-end persp-fr-current-name -elem-index -remove-at 0 -snoc -insert-at persp-fr-update] 4 (#$ . 3862) nil]) #@40 Move current perspective to the right. (defalias 'persp-fr-move-right #[nil "\306 \307 \310 \n\"\311 \n\" \fGU\203% \203! \fB\202+\n\202+\312 T \f#,\313 \207" [cper name persp-names-cache idx lst persp-fr-move-cycle-at-end get-current-persp persp-fr-current-name -elem-index -remove-at -insert-at persp-fr-update] 4 (#$ . 4194) nil]) #@118 Start `persp-fr' mode. This is exactly the same as `persp-mode', but perspective names are shown in the frame title. (defalias 'persp-fr-start #[nil "\300\301\302\"\210\300\303\304\"\210\300\305\306\"\210\300\307\310\"\210\300\311\312\"\210\313 \207" [add-hook focus-in-hook #[(&rest rest) "\301\302\303#\207" [rest apply persp-fr-update focus-in-hook] 4] persp-renamed-functions #[(&rest rest) "\301\302\303#\207" [rest apply persp-fr-update persp-renamed-functions] 4] persp-created-functions #[(&rest rest) "\301\302\303#\207" [rest apply persp-fr-update persp-created-functions] 4] persp-activated-functions #[(&rest rest) "\301\302\303#\207" [rest apply persp-fr-update persp-activated-functions] 4] persp-before-kill-functions #[(&rest rest) "\301\302\303#\207" [rest apply persp-fr-update persp-before-kill-functions] 4] persp-fr-update] 3 (#$ . 4544) nil]) (provide 'persp-fr)