;ELC ;;; Compiled ;;; in Emacs version 28.0.50 ;;; with all optimizations. (byte-code "\300\301!\210\300\302!\210\300\303!\207" [require cl-lib ring window-purpose-core] 2) #@52 Location of built-in layouts shipped with Purpose. (defconst purpose--built-in-layouts-dir (byte-code "\205 \301!\302P\207" [load-file-name file-name-directory "layouts/"] 2) (#$ . 185)) (byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\313& \210\300\314\302\303\315DD\316\306\307\310\317\312\320& \210\300\321\302\303\322DD\323\306\307\310\324\312\325& \210\300\326\302\303\327DD\330\306\307\310\331\312\332& \210\300\333\302\303\334DD\335\306\307\310\331\312\336& \207" [custom-declare-variable purpose-use-built-in-layouts funcall function #[0 "\300\207" [t] 1] "If nil, don't use layouts from `purpose--built-in-layouts-dir'." :group purpose :type boolean :package-version (window-purpose . "1.6") purpose-default-layout-file #[0 "\301P\207" [user-emacs-directory ".purpose-layout"] 2] "Default file for saving/loading purpose layout." file (window-purpose . "1.2") purpose-layout-dirs #[0 "\300\301!C\207" [locate-user-emacs-file "layouts/"] 2] "List of directories containing layout files." (repeat file) (window-purpose . "1.5") purpose-get-extra-window-params-functions #[0 "\300\207" [nil] 1] "If non-nil, this variable should be a list of functions.\nThis variable is used by `purpose-window-params'. See\n`purpose-window-params' for more details." hook (window-purpose . "1.4") purpose-set-window-properties-functions #[0 "\300\207" [nil] 1] "Hook to run after calling `purpose-set-window-properties'.\nUse this to set additional properties for windows as they are created,\nwhen `purpose-set-window-layout' or `purpose-load-window-layout-file' is called. Each\nfunction in `purpose-set-window-properties-functions' is called with two\narguments: PROPERTIES and WINDOW. PROPERTIES is the window's property\nlist as saved in the used layout, and WINDOW is the new window. If\nWINDOW is nil, your function should act on the selected window\ninstead." (window-purpose . "1.2")] 10) #@109 Most recently used window layouts. This variable stores recent layouts used by `purpose-set-window-layout'. (defvar purpose-recent-window-layouts (make-ring 50) (#$ . 2099)) #@107 Most recently used frame layouts. This variable stores recent layouts used by `purpose-set-frame-layout'. (defvar purpose-recent-frame-layouts (make-ring 50) (#$ . 2280)) #@159 Convert a `window-edges' list from integers to percentages. The percentages represent the WINDOW's edges relative to its frame's size. (fn &optional WINDOW) (defalias 'purpose--window-edges-to-percentage #[256 "\300!\211@A@\3018\3028\303\304!!\305\304!!\306\307#\306\307#\306\307#\306\307#F\207" [window-edges 2 3 frame-width window-frame frame-height / 1.0] 15 (#$ . 2458)]) #@124 Return a percentage of WINDOW's width to its frame's width. WINDOW defaults to the selected window. (fn &optional WINDOW) (defalias 'purpose--window-width-to-percentage #[256 "\300\301!\302\303!!\304#\207" [/ window-total-width frame-width window-frame 1.0] 6 (#$ . 2862)]) #@126 Return a percentage of WINDOW's height to its frame's height. WINDOW defaults to the selected window. (fn &optional WINDOW) (defalias 'purpose--window-height-to-percentage #[256 "\300\301!\302\303!!\304#\207" [/ window-total-height frame-height window-frame 1.0] 6 (#$ . 3146)]) #@127 Return a window width as an integer. The width is the PERCENTAGE of WINDOW's frame's width. (fn PERCENTAGE &optional WINDOW) (defalias 'purpose--window-percentage-to-width #[513 "\300\301\302!!_!\207" [round frame-width window-frame] 7 (#$ . 3435)]) #@130 Return a window height as an integer. The height is the PERCENTAGE of WINDOW's frame's height. (fn PERCENTAGE &optional WINDOW) (defalias 'purpose--window-percentage-to-height #[513 "\300\301\302!!_!\207" [round frame-height window-frame] 7 (#$ . 3695)]) #@134 Return non-nil if OBJ is a window-params plist. A window-params plist is a plist that is given by `purpose-window-params'. (fn OBJ) (defalias 'purpose-window-params-p #[257 "\211<\205 \300\301\"\207" [plist-member :purpose] 4 (#$ . 3960)]) #@1049 Return a plist containing the window parameters that are relevant for Purpose plugin. These parameters are :purpose, :purpose-dedicated, :width, :height and :edges. :purpose is the window's purpose. :purpose-dedicated corresponds to WINDOW's window parameter of the same name. :width is the width of the window as a percentage of the frame's width. :height is the height of the window as a percentage of the frame's height. :edges is also given in percentages. WINDOW defaults to the selected window. If the variable `purpose-get-extra-window-params-functions' is non-nil, it should be a list of functions, where each function receives a window as an optional argument and returns a plist. Each plist is concatenated into the plist that `purpose-window-params' returns. The plists returned by `purpose-get-extra-window-params-functions' shouldn't contain any of the keys described above (:purpose, :purpose-dedicated, :width, :height, :edges). If any of them does contain any of these keys, the behavior is not defined. (fn &optional WINDOW) (defalias 'purpose-window-params #[256 "\301!\302\303\304\305!\306\307!\310\311 !\312\313 !\314\315 !\257\n\316\317\320\"\"#\207" [purpose-get-extra-window-params-functions window-buffer apply append :purpose purpose-buffer-purpose :purpose-dedicated purpose-window-purpose-dedicated-p :width purpose--window-width-to-percentage :height purpose--window-height-to-percentage :edges purpose--window-edges-to-percentage mapcar make-closure #[257 "\211\300!\207" [V0] 3 "\n\n(fn FN)"]] 15 (#$ . 4211)]) #@208 Set the buffer and window-parameters of window WINDOW, according to property list PROPERTIES. This function runs `purpose-set-window-properties-functions' when it finishes. (fn PROPERTIES &optional WINDOW) (defalias 'purpose-set-window-properties #[513 "\300\301\302\"\"\210\303\301\304\"\"\210\305\306#\207" [purpose--set-window-buffer plist-get :purpose purpose-set-window-purpose-dedicated-p :purpose-dedicated run-hook-with-args purpose-set-window-properties-functions] 7 (#$ . 5775)]) #@295 Split window WINDOW to the amount of child windows it contains. TREE is a window tree (see `window-tree' for what is a window tree). WINDOW should be a live window, and defaults to the selected one. This function is mainly intended to be used by `purpose-restore-windows-1'. (fn TREE WINDOW) (defalias 'purpose--split-window #[514 "\300CAAA\301@?\301:\203&@\262\302\303#B\262A\262\202\f\211\237\266\204\237\"\207" [append nil split-window -5] 12 (#$ . 6279)]) #@164 Set the size of window WINDOW to width WIDTH and height HEIGHT. WINDOW must be a live window and defaults to the selected one. (fn WIDTH HEIGHT &optional WINDOW) (defalias 'purpose--set-size #[770 "\300 ?\205)\301!Z\302!Z\303\304\305\306$\305\306$\210\303\304\306\211$\306\211$\266\202\207" [one-window-p window-total-width window-total-height window-resize window-resizable t nil] 12 (#$ . 6763)]) #@60 (fn WIDTH-PERCENTAGE HEIGHT-PERCENTAGE &optional WINDOW) (defalias 'purpose--set-size-percentage #[770 "\300\301\"\302\"#\207" [purpose--set-size purpose--window-percentage-to-width purpose--window-percentage-to-height] 8 (#$ . 7180)]) #@36 Get TREE's total width. (fn TREE) (defalias 'purpose--tree-width-from-edges #[257 "\211A@\3008@Z\207" [2] 4 (#$ . 7429)]) #@37 Get TREE's total height. (fn TREE) (defalias 'purpose--tree-height-from-edges #[257 "\211A@\3008A@Z\207" [3] 4 (#$ . 7560)]) #@137 Get a list of all filenames that end in SUFFIX in DIRECTORY. The base filenames without the suffix are returned. (fn SUFFIX DIRECTORY) (defalias 'purpose--directory-files #[514 "\300\301\211\302$\301\211:\203;@\262\303\"\2034\303\"\203.\211\304GGZO\266\202\2020\262B\262A\262\202\211\237\207" [directory-files nil t string-suffix-p 0] 11 (#$ . 7695)]) #@358 Get file with basename NAME and suffix SUFFIX in DIRECTORY. The full path of the file returned. Return nil if no file can be found. NAME is the name of the file without the suffix or the directory. SUFFIX should include a "." (if needed), it will not be added automatically. DIRECTORY must be the name of an existing directory. (fn NAME SUFFIX DIRECTORY) (defalias 'purpose--file-with-suffix #[771 "\300\301\"\302\211\211:\2033@\262\303!\304\305  #\230\203(\262\302\211\262\202)\301\2033A\262\202\207" [directory-files t nil file-name-nondirectory format "%s%s"] 12 (#$ . 8078)]) #@255 Return a list of layout directories. LAYOUT-DIRS is a list of directory names, and defaults to `purpose-layout-dirs'. If INCLUDE-BUILT-IN-P is non-nil, include `purpose--built-in-layouts-dir' in the result. (fn &optional LAYOUT-DIRS INCLUDE-BUILT-IN-P) (defalias 'purpose-normalize-layout-directories #[512 "\211\203\302\206\n C\"\207\206\207" [purpose-layout-dirs purpose--built-in-layouts-dir append] 5 (#$ . 8685)]) #@275 Get a sorted list of all window layouts in LAYOUT-DIRS. LAYOUT-DIRS is a list of directory names, and defaults to `purpose-layout-dirs'. If INCLUDE-BUILT-IN-P is non-nil, also search layouts in `purpose--built-in-layouts-dir'. (fn &optional LAYOUT-DIRS INCLUDE-BUILT-IN-P) (defalias 'purpose-all-window-layouts #[512 "\300\301\302\303\"\304\211:\203-@\262\305!\203&\306!\203&\307\310\"B\262A\262\202 \211\237\266\203!!\311\"\207" [sort delete-dups purpose-flatten purpose-normalize-layout-directories nil file-readable-p file-directory-p purpose--directory-files ".window-layout" string-lessp] 11 (#$ . 9121)]) #@584 Get the full path of a window layout. NAME is the name of the window layout. LAYOUT-DIRS is a list of directories to search for the layout file, and defaults to `purpose-layout-dirs'. Any non-existent or unreadable directory is ignored. If `purpose-use-built-in-layouts' is non-nil and the layout can't be found in LAYOUT-DIRS, then search also in `purpose--built-in-layouts-dir'. If there are severeal layouts with the same name, the first that is found is returned. The directories are searched in the same order that they appear in LAYOUT-DIRS. (fn NAME &optional LAYOUT-DIRS) (defalias 'purpose-find-window-layout #[513 "\301\"\302\211\211\211\211:\203C@\262\303!\205%\304!\205%\305\306#\262\2035\262\302\211\262\2026\307\203CA\262\302\262\202 \207" [purpose-use-built-in-layouts purpose-normalize-layout-directories nil file-readable-p file-directory-p purpose--file-with-suffix ".window-layout" t] 12 (#$ . 9756)]) #@274 Get a sorted list of all frame layouts in LAYOUT-DIRS. LAYOUT-DIRS is a list of directory names, and defaults to `purpose-layout-dirs'. If INCLUDE-BUILT-IN-P is non-nil, also search layouts in `purpose--built-in-layouts-dir'. (fn &optional LAYOUT-DIRS INCLUDE-BUILT-IN-P) (defalias 'purpose-all-frame-layouts #[512 "\300\301\302\303\"\304\211:\203-@\262\305!\203&\306!\203&\307\310\"B\262A\262\202 \211\237\266\203!!\311\"\207" [sort delete-dups purpose-flatten purpose-normalize-layout-directories nil file-readable-p file-directory-p purpose--directory-files ".frame-layout" string-lessp] 11 (#$ . 10713)]) #@582 Get the full path of a frame layout. NAME is the name of the frame layout. LAYOUT-DIRS is a list of directories to search for the layout file, and defaults to `purpose-layout-dirs'. Any non-existent or unreadable directory is ignored. If `purpose-use-built-in-layouts' is non-nil and the layout can't be found in LAYOUT-DIRS, then search also in `purpose--built-in-layouts-dir'. If there are severeal layouts with the same name, the first that is found is returned. The directories are searched in the same order that they appear in LAYOUT-DIRS. (fn NAME &optional LAYOUT-DIRS) (defalias 'purpose-find-frame-layout #[513 "\301\"\302\211\211\211\211:\203C@\262\303!\205%\304!\205%\305\306#\262\2035\262\302\211\262\2026\307\203CA\262\302\262\202 \207" [purpose-use-built-in-layouts purpose-normalize-layout-directories nil file-readable-p file-directory-p purpose--file-with-suffix ".frame-layout" t] 12 (#$ . 11346)]) #@68 Helper function for `purpose-get-window-layout'. (fn WINDOW-TREE) (defalias 'purpose--get-window-layout-1 #[257 "\300!\203\n\301!\207\302@A@D\303\304AA\"\"\207" [windowp purpose-window-params append mapcar purpose--get-window-layout-1] 6 (#$ . 12299)]) #@225 Helper function for `purpose-set-window-layout'. REF-WIDTH and REF-HEIGHT are the sizes of the root window, as saved in the top-level tree (not the actual sizes of the selected frame). (fn TREE WINDOW REF-WIDTH REF-HEIGHT) (defalias 'purpose--set-window-layout-1 #[1028 "\300!\203\301\302\303\"\302\304\"#\210\305\"\207\306\307!\310#\306\311!\310#\301#\266\312\"AA\313\313:\203_@\262:\203_@\262\314  $\210A\262A\262\2029\266\313\207" [purpose-window-params-p purpose--set-size-percentage plist-get :width :height purpose-set-window-properties / purpose--tree-width-from-edges 1.0 purpose--tree-height-from-edges purpose--split-window nil purpose--set-window-layout-1] 14 (#$ . 12566)]) #@89 Get window layout of FRAME. FRAME defaults to the selected frame. (fn &optional FRAME) (defalias 'purpose-get-window-layout #[256 "\300\301!@!\207" [purpose--get-window-layout-1 window-tree] 4 (#$ . 13300)]) #@374 Set LAYOUT as FRAME's window layout. FRAME defaults to the selected frame. LAYOUT must be a layout as returned by `purpose-get-window-layout'. Unless NORECORD is non-nil, this function sets LAYOUT as the value of `purpose-recent-window-layouts'. This function doesn't change the selected frame (uses `with-selected-frame' internally). (fn LAYOUT &optional FRAME NORECORD) (defalias 'purpose-set-window-layout #[769 "\301 p\302\303#\216\304\206\301 \305\"\210\306 \210\307\310\211\"\210\311!\203(\312!\210\2026\313\314 \315!\316 !$\210\317\320\321\322!\"!\211\211\203Y\211@\323\324\325\n\"\326!#\210A\266\202\202@\266?\205e\327\")\207" [purpose-recent-window-layouts selected-frame make-closure #[0 "\302\300!\203 \303\300\304\"\210\305\301!\205\301q\207" [V0 V1 frame-live-p select-frame norecord buffer-live-p] 3] select-frame norecord delete-other-windows set-window-dedicated-p nil purpose-window-params-p purpose-set-window-properties purpose--set-window-layout-1 selected-window purpose--tree-width-from-edges purpose--tree-height-from-edges delete-dups mapcar purpose-window-purpose window-list cl-mapcar set-window-buffer purpose-windows-with-purpose purpose-buffers-with-purpose ring-insert] 13 (#$ . 13517)]) #@143 Save window layout of current frame to file FILENAME. If FILENAME is nil, use `purpose-default-layout-file' instead. (fn &optional FILENAME) (defalias 'purpose-save-window-layout-file #[256 "\211\206\301\302\303\"\304\305\"\216r\211q\210\306\307\310 \"c)rq\210\311\312\211\312\313%\210*\207" [purpose-default-layout-file generate-new-buffer " *temp file*" t make-closure #[0 "\301\300!\205 \302\300!\207" [V0 buffer-name kill-buffer] 2] format "%S" purpose-get-window-layout write-region nil 0] 10 (#$ . 14773) (byte-code "\301\302\303!\304\211\305!%C\207" [purpose-default-layout-file read-file-name "[PU] Save window layout to file: " file-name-directory nil file-name-nondirectory] 7)]) #@128 Load window layout from file FILENAME. If FILENAME is nil, use `purpose-default-layout-file' instead. (fn &optional FILENAME) (defalias 'purpose-load-window-layout-file #[256 "\301\302\303\304\"r\211q\210\305\306\"\216\307\206!\210\310\311 !*\262!\207" [purpose-default-layout-file purpose-set-window-layout generate-new-buffer " *temp*" t make-closure #[0 "\301\300!\205 \302\300!\207" [V0 buffer-name kill-buffer] 2] insert-file-contents read point-marker] 6 (#$ . 15480) (byte-code "\301\302\303!\304\211\305!%C\207" [purpose-default-layout-file read-file-name "[PU] Load window layout from file: " file-name-directory nil file-name-nondirectory] 7)]) #@144 Save a window layout. NAME is the name to give the window layout. DIRECTORY is the directory in which to save the layout. (fn NAME DIRECTORY) (defalias 'purpose-save-window-layout #[514 "\300!\301Q\302!\204\303\304\"\210\305!\207" [file-name-as-directory ".window-layout" file-exists-p make-directory t purpose-save-window-layout-file] 6 (#$ . 16152) (byte-code "\300\301\211\"\211\204\f\302\303!\207\304\305!\306\307\301\310$D\207" [purpose-normalize-layout-directories nil user-error "No directory is set for user layouts. Please add a directory to `purpose-layouts-dir'" read-string "[PU] save layout name: " completing-read "[PU] save to directory: " t] 7)]) #@480 Load a window layout. NAME is the name of a window layout. If NAME is not given, prompt the user for a name. LAYOUT-DIRS is a list of directories to search for the layout file, and defaults to `purpose-layout-dirs'. If `purpose-use-built-in-layouts', then `purpose--built-in-layouts-dir' is also searched. See `purpose-find-window-layout' for more details. To load a window layout from a specific file, use `purpose-load-window-layout-file'. (fn &optional NAME LAYOUT-DIRS) (defalias 'purpose-load-window-layout #[512 "\206 \301\302\303\"\304\305$\306\307\"!\207" [purpose-use-built-in-layouts completing-read "[PU] Load window layout:" purpose-all-window-layouts nil t purpose-load-window-layout-file purpose-find-window-layout] 7 (#$ . 16832) nil]) #@111 Load most recent window layout from `purpose-reset-window-layouts'. If there is no recent layout, do nothing. (defalias 'purpose-reset-window-layout #[0 "\301!?\205\n\302\303!\207" [purpose-recent-window-layouts ring-empty-p purpose-load-recent-window-layout 0] 2 (#$ . 17601) nil]) #@99 Load window layout from `purpose-recent-window-layouts'. Use INDEX=0 for most recent. (fn INDEX) (defalias 'purpose-load-recent-window-layout #[257 "\301\302\"\303\304U#\207" [purpose-recent-window-layouts purpose-set-window-layout ring-ref nil 0] 6 (#$ . 17892)]) #@174 Return Emacs' frame layout. The frame layout is a list of all live frames' window layouts. Each window-layout is a window-layout as returned by `purpose-get-window-layout'. (defalias 'purpose-get-frame-layout #[0 "\300\301\302 \"\207" [mapcar purpose-get-window-layout frame-list] 3 (#$ . 18168)]) #@309 Set LAYOUT as Emacs' frame layout. LAYOUT must be a layout as returned by `purpose-get-frame-layout'. Unless NORECORD is non-nil, this function adds LAYOUT to `purpose-recent-frame-layouts'. This function deletes all existing frames and creates frames as specified by LAYOUT. (fn LAYOUT &optional NORECORD) (defalias 'purpose-set-frame-layout #[513 "\301 \210\302@\303\304#\210A\211\203 \211@\302\305 \304#\210A\266\202\202\f\210\211?\205*\306\"\207" [purpose-recent-frame-layouts delete-other-frames purpose-set-window-layout nil t make-frame ring-insert] 8 (#$ . 18473)]) #@134 Save frame layout of Emacs to file FILENAME. If FILENAME is nil, use `purpose-default-layout-file' instead. (fn &optional FILENAME) (defalias 'purpose-save-frame-layout-file #[256 "\211\206\301\302\303\"\304\305\"\216r\211q\210\306\307\310 \"c)rq\210\311\312\211\312\313%\210*\207" [purpose-default-layout-file generate-new-buffer " *temp file*" t make-closure #[0 "\301\300!\205 \302\300!\207" [V0 buffer-name kill-buffer] 2] format "%S" purpose-get-frame-layout write-region nil 0] 10 (#$ . 19064) (byte-code "\301\302\303!\304\211\305!%C\207" [purpose-default-layout-file read-file-name "[PU] Save frame layout to file: " file-name-directory nil file-name-nondirectory] 7)]) #@127 Load frame layout from file FILENAME. If FILENAME is nil, use `purpose-default-layout-file' instead. (fn &optional FILENAME) (defalias 'purpose-load-frame-layout-file #[256 "\301\302\303\304\"r\211q\210\305\306\"\216\307\206!\210\310\311 !*\262!\207" [purpose-default-layout-file purpose-set-frame-layout generate-new-buffer " *temp*" t make-closure #[0 "\301\300!\205 \302\300!\207" [V0 buffer-name kill-buffer] 2] insert-file-contents read point-marker] 6 (#$ . 19759) (byte-code "\301\302\303!\304\211\305!%C\207" [purpose-default-layout-file read-file-name "[PU] Load frame layout from file: " file-name-directory nil file-name-nondirectory] 7)]) #@142 Save a frame layout. NAME is the name to give the frame layout. DIRECTORY is the directory in which to save the layout. (fn NAME DIRECTORY) (defalias 'purpose-save-frame-layout #[514 "\300!\301Q\302!\204\303\304\"\210\305!\207" [file-name-as-directory ".frame-layout" file-exists-p make-directory t purpose-save-frame-layout-file] 6 (#$ . 20427) (byte-code "\300\301\211\"\211\204\f\302\303!\207\304\305!\306\307\301\310$D\207" [purpose-normalize-layout-directories nil user-error "No directory is set for user layouts. Please add a directory to `purpose-layouts-dir'" read-string "[PU] save layout name: " completing-read "[PU] save to directory: " t] 7)]) #@475 Load a frame layout. NAME is the name of a frame layout. If NAME is not given, prompt the user for a name. LAYOUT-DIRS is a list of directories to search for the layout file, and defaults to `purpose-layout-dirs'. If `purpose-use-built-in-layouts', then `purpose--built-in-layouts-dir' is also searched. See `purpose-find-frame-layout' for more details. To load a frame layout from a specific file, use `purpose-load-frame-layout-file'. (fn &optional NAME LAYOUT-DIRS) (defalias 'purpose-load-frame-layout #[512 "\206 \301\302\303\"\304\305$\306\307\"!\207" [purpose-use-built-in-layouts completing-read "[PU] Load frame layout:" purpose-all-frame-layouts nil t purpose-load-frame-layout-file purpose-find-frame-layout] 7 (#$ . 21102) nil]) #@109 Load most recent frame layout from `purpose-reset-frame-layouts'. If there is no recent layout, do nothing. (defalias 'purpose-reset-frame-layout #[0 "\301!?\205\n\302\303!\207" [purpose-recent-frame-layouts ring-empty-p purpose-load-recent-frame-layout 0] 2 (#$ . 21861) nil]) #@97 Load frame layout from `purpose-recent-frame-layouts'. Use INDEX=0 for most recent. (fn INDEX) (defalias 'purpose-load-recent-frame-layout #[257 "\301\302\303\"\303U\"\207" [purpose-recent-frame-layouts purpose-set-frame-layout ring-ref 0] 5 (#$ . 22147)]) #@70 Delete all windows that aren't dedicated to their purpose or buffer. (defalias 'purpose-delete-non-dedicated-windows #[0 "\300\301\302 \"\207" [mapc #[257 "\300!\205\301!?\205\302!?\205\303!\207" [window-deletable-p window-dedicated-p purpose-window-purpose-dedicated-p delete-window] 3 "\n\n(fn WINDOW)"] window-list] 3 (#$ . 22413) nil]) #@373 Set window's purpose to PURPOSE, and dedicate it. With prefix argument (DONT-DEDICATE is non-nil), don't dedicate the window. If DONT-DEDICATE is non-nil, and the current window is dedicated, un-dedicate the window. Changing the window's purpose is done by displaying a buffer of the right purpose in it, or creating a dummy buffer. (fn PURPOSE &optional DONT-DEDICATE) (defalias 'purpose-set-window-purpose #[513 "\300!\210\301\302?\"\207" [purpose--set-window-buffer purpose-set-window-purpose-dedicated-p nil] 5 (#$ . 22770) (byte-code "\301\302\303\304#D\207" [current-prefix-arg purpose-read-purpose "Purpose: " nil confirm] 4)]) #@146 Delete window returned by WINDOW-GETTER. WINDOW-GETTER should be a function that takes one argument - FRAME. (fn WINDOW-GETTER &optional FRAME) (defalias 'purpose--delete-window-at #[513 "!\211\203 \300!\207\301\302!\207" [delete-window user-error "Couldn't find window."] 5 (#$ . 23417)]) #@83 Delete window at top. FRAME defaults to the selected frame. (fn &optional FRAME) (defalias 'purpose-delete-window-at-top #[256 "\300\301\"\207" [purpose--delete-window-at purpose-get-top-window] 4 (#$ . 23718) nil]) #@86 Delete window at bottom. FRAME defaults to the selected frame. (fn &optional FRAME) (defalias 'purpose-delete-window-at-bottom #[256 "\300\301\"\207" [purpose--delete-window-at purpose-get-bottom-window] 4 (#$ . 23942) nil]) #@84 Delete window at left. FRAME defaults to the selected frame. (fn &optional FRAME) (defalias 'purpose-delete-window-at-left #[256 "\300\301\"\207" [purpose--delete-window-at purpose-get-left-window] 4 (#$ . 24175) nil]) #@85 Delete window at right. FRAME defaults to the selected frame. (fn &optional FRAME) (defalias 'purpose-delete-window-at-right #[256 "\300\301\"\207" [purpose--delete-window-at purpose-get-right-window] 4 (#$ . 24402) nil]) (provide 'window-purpose-layout)