;ELC ;;; Compiled ;;; in Emacs version 28.0.50 ;;; with all optimizations. #@34 Name of all window configuration (defvar windata-named-winconf nil (#$ . 87)) #@72 Function to save window data. The data should be persistent permanent. (defvar windata-data-function 'windata-data-default (#$ . 171)) #@34 Function to restore window data. (defvar windata-data-restore-function 'windata-data-restore-default (#$ . 312)) #@20 Internal variable. (defvar windata-total-width nil (#$ . 431)) #@20 Internal variable. (defvar windata-total-height nil (#$ . 500)) #@71 Round the ARG with FIX decimal. (windata-fix 0.123456 4) => 0.1234 (defalias 'windata-fix #[(arg fix) "\303\304\"\305\306\n _!! \245)\207" [fix n arg expt 10 float floor] 4 (#$ . 570)]) (defalias 'windata-window-width #[(win) "\304!\203\f\305!\202A@\306 8 @Z)\307\n \245\310\")\207" [win edge width windata-total-width windowp window-width 2 windata-fix 4] 3]) (defalias 'windata-window-height #[(win) "\304!\203\f\305!\202A@\306 8 A@Z)\307\n \245\310\")\207" [win edge height windata-total-height windowp window-height 3 windata-fix 4] 3]) (defalias 'windata-data-default #[(win) "\301\302!!\207" [win buffer-name window-buffer] 3]) (defalias 'windata-data-restore-default #[(win name) "\302\303!!\205\304 \303!\"\207" [name win buffer-live-p get-buffer set-window-buffer] 4]) (defalias 'windata-window-tree->list #[(tree) "\304!\203\n !\207@AA\211\203\305\202\306 \203%\307\n@!\202)\310\n@!\311\n@!\nG\312V\203?\311 \313\nABB!\202D\311\nA@!F*\207" [tree windata-data-function children dir windowp vertical horizontal windata-window-height windata-window-width windata-window-tree->list 2 nil] 8]) (defalias 'windata-list->window-tree #[(conf) "<\2036@\305=\203\306\307\310A@ _!\311#\202$\306\307\310A@\n_!\"\312\3138!\210\314 !\210\312\3158!)\207\f\316 \"\207" [conf windata-total-width windata-total-height newwin windata-data-restore-function horizontal split-window nil floor t windata-list->window-tree 2 select-window 3 selected-window] 5]) (defalias 'windata-window-path #[(tree win &optional path) "\306!\203 =\205;\n\207AA\307\310\211\2039\311 @ \312\n\fC\"#\211\203/\310\211\202\fT A\211\204 +\207" [tree win path conf i children windowp 0 nil windata-window-path append] 7]) (defalias 'windata-current-winconf #[nil "\303 @\304\305 !\304\306 !\307\n!\310\n\311 \"+B\207" [windata-total-height windata-total-width tree window-tree float frame-width frame-height windata-window-tree->list windata-window-path selected-window] 4]) #@194 Restore window configuration from `windata-current-winconf'. When INSIDE-P is non-nil, that mean the window configuration is restore in current window, that is to say not delete other windows. (defalias 'windata-restore-winconf #[(winconf &optional inside-p) "A\306\211\211 \203\307\310 !\307\311 !\202'\307\312 !\307\313 !\314 \210\315@!\210 ?\205J\316 @\f\203G\f@ AA8\fA\211\2049\317 !,\207" [winconf tree windata-total-height windata-total-width path inside-p nil float window-width window-height frame-width frame-height delete-other-windows windata-list->window-tree window-tree select-window] 5 (#$ . 2592)]) #@140 Save window configuration with NAME. After save the window configuration you can restore it by NAME using `windata-restore-named-winconf'. (defalias 'windata-name-winconf #[(name) "\302 B\303\304 \" \"B\211\207" [name windata-named-winconf windata-current-winconf delq assoc] 5 (#$ . 3233) "sName of window configuration: "]) #@37 Restore saved window configuration. (defalias 'windata-restore-named-winconf #[(name) "\302\303 \"!\207" [name windata-named-winconf windata-restore-winconf assoc-default] 4 (#$ . 3568) (list (completing-read "Save named window configuration: " windata-named-winconf nil t))]) #@599 Display buffer more precisely. FRAME-P is non-nil and not window, the displayed buffer affect the whole frame, that is to say, if DIR is right or left, the displayed buffer will show on the right or left in the frame. If it is nil, the buf will share space with current window. DIR can be one of member of (right left top bottom). SIZE is the displayed windowed size in width(if DIR is left or right) or height(DIR is top or bottom). It can be a decimal which will stand for percentage of window(frame) width(heigth) DELETE-P is non-nil, the other window will be deleted before display the BUF. (defalias 'windata-display-buffer #[(buf frame-p dir size &optional delete-p) "\306!\206\317\307 \310\211\211 \311=\203\310\312=\203!\310\313>\203*\314\2043 \203A\n\203<\315 \202L\316 \202L\n\203J\317 \202L\320 \321W\203\\\322 _!\323>\203i Z\204r \204\231\203z\324 \210\325\310\n#\326>\203\215 \307 \327 \"\210\330\f!\210\202\315\331 p \324 \210\325\310\n#\332>\203\272 \307 \330\f!\210\333 \314\"\210\327 \"\210\330\306!!\210* ,\207" [buf total horflag newwin win frame-p get-buffer-window selected-window nil window no-delete (left right) t frame-width frame-height window-width window-height 1 floor (right bottom) delete-other-windows split-window (left top) set-window-buffer select-window windata-current-winconf (left top) windata-restore-winconf delete-p dir size curbuf conf] 4 (#$ . 3853)]) (provide 'windata)