;ELC ;;; Compiled ;;; in Emacs version 26.3 ;;; with all optimizations. ;;; This file uses dynamic docstrings, first added in Emacs 19.29. ;;; This file does not contain utf-8 non-ASCII characters, ;;; and so can be loaded in Emacs versions earlier than 23. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (byte-code "\300\301!\210\300\302!\210\303\304\305\306\307\310\311\312&\210\313\314\315\316\317DD\320\321\322%\210\313\323\315\316\324DD\325\321\322%\210\313\326\315\316\327DD\330\321\331%\210\313\332\315\316\333DD\334\321\331%\210\313\335\315\316\336DD\337\321\340%\210\313\341\315\316\342DD\343\321\316%\210\313\344\315\316\345DD\346\321\347%\210\313\350\315\316\351DD\352\321\340%\210\313\353\315\316\354DD\355\321\340%\207" [require server exwm-core custom-declare-group exwm-workspace nil "Workspace." :version "25.3" :group exwm custom-declare-variable exwm-workspace-switch-hook funcall function #[0 "\300\207" [nil] 1] "Normal hook run after switching workspace." :type hook exwm-workspace-list-change-hook #[0 "\300\207" [nil] 1] "Normal hook run when the workspace list is changed (workspace added,\ndeleted, moved, etc)." exwm-workspace-show-all-buffers #[0 "\300\207" [nil] 1] "Non-nil to show buffers on other workspaces." boolean exwm-workspace-warp-cursor #[0 "\300\207" [nil] 1] "Non-nil to warp cursor automatically after workspace switch." exwm-workspace-number #[0 "\300\207" [1] 1] "Initial number of workspaces." integer exwm-workspace-index-map #[0 "\300\207" [number-to-string] 1] "Function for mapping a workspace index to a string for display.\n\nBy default `number-to-string' is applied which yields 0 1 2 ... ." exwm-workspace-minibuffer-position #[0 "\300\207" [nil] 1] "Position of the minibuffer frame.\n\nA restart is required for this change to take effect." (choice (const :tag "Bottom (fixed)" nil) (const :tag "Bottom (auto-hide)" bottom) (const :tag "Top (auto-hide)" top)) exwm-workspace-display-echo-area-timeout #[0 "\300\207" [1] 1] "Timeout for displaying echo area." exwm-workspace-switch-create-limit #[0 "\300\207" [10] 1] "Number of workspaces `exwm-workspace-switch-create' allowed to create\neach time."] 8) #@36 Index of current active workspace. (defvar exwm-workspace-current-index 0 (#$ . 2264)) #@96 Height (in pixel) of the attached minibuffer. If the minibuffer is detached, this value is 0. (defvar exwm-workspace--attached-minibuffer-height 0 (#$ . 2357)) #@53 The 'client' frame parameter of emacsclient frames. (defvar exwm-workspace--client nil (#$ . 2524)) #@150 When non-nil workspaces are created in the background (not switched to). Please manually run the hook `exwm-workspace-list-change-hook' afterwards. (defvar exwm-workspace--create-silently nil (#$ . 2631)) #@27 Current active workspace. (defvar exwm-workspace--current nil (#$ . 2843)) #@34 Timer for auto-hiding echo area. (defvar exwm-workspace--display-echo-area-timer nil (#$ . 2924)) #@31 Alist of X window and struts. (defvar exwm-workspace--id-struts-alist nil (#$ . 3028)) #@40 Count the fullscreen workspace frames. (defvar exwm-workspace--fullscreen-frame-count 0 (#$ . 3121)) #@40 List of all workspaces (Emacs frames). (defvar exwm-workspace--list nil (#$ . 3228)) #@47 The minibuffer frame shared among all frames. (defvar exwm-workspace--minibuffer nil (#$ . 3319)) (defvar exwm-workspace--original-handle-focus-in (symbol-function 'handle-focus-in)) (defvar exwm-workspace--original-handle-focus-out (symbol-function 'handle-focus-out)) #@52 Non-nil to allow adding workspace from the prompt. (defvar exwm-workspace--prompt-add-allowed nil (#$ . 3595)) #@54 Non-nil to allow deleting workspace from the prompt. (defvar exwm-workspace--prompt-delete-allowed nil (#$ . 3712)) #@27 Areas occupied by struts. (defvar exwm-workspace--struts nil (#$ . 3834)) #@71 History for `read-from-minibuffer' to interactively switch workspace. (defvar exwm-workspace--switch-history nil (#$ . 3914)) #@67 Non-nil to indicate `exwm-workspace--switch-history' is outdated. (defvar exwm-workspace--switch-history-outdated nil (#$ . 4046)) #@40 Timer used to track echo area changes. (defvar exwm-workspace--timer nil (#$ . 4183)) #@45 Normal hook run when workareas get updated. (defvar exwm-workspace--update-workareas-hook nil (#$ . 4275)) #@30 Workareas (struts excluded). (defvar exwm-workspace--workareas nil (#$ . 4388)) #@48 Offset between Emacs inner & outer frame in Y. (defvar exwm-workspace--frame-y-offset 0 (#$ . 4474)) #@55 Offset between Emacs first window & outer frame in Y. (defvar exwm-workspace--window-y-offset 0 (#$ . 4581)) #@95 Retrieve index of given FRAME in workspace list. NIL if FRAME is not a workspace (fn FRAME) (defalias 'exwm-workspace--position #[257 "\301\"\207" [exwm-workspace--list cl-position] 4 (#$ . 4696)]) (put 'exwm-workspace--position 'byte-optimizer 'byte-compile-inline-expand) #@38 Retrieve total number of workspaces. (defalias 'exwm-workspace--count #[0 "G\207" [exwm-workspace--list] 1 (#$ . 4980)]) (put 'exwm-workspace--count 'byte-optimizer 'byte-compile-inline-expand) #@47 Return t if FRAME is a workspace. (fn FRAME) (defalias 'exwm-workspace--workspace-p #[257 "\211>\207" [exwm-workspace--list] 3 (#$ . 5181)]) (put 'exwm-workspace--workspace-p 'byte-optimizer 'byte-compile-inline-expand) #@72 Return non-nil if FRAME is an emacsclient frame. (fn &optional FRAME) (defalias 'exwm-workspace--client-p #[256 "\300\301\"\206 \302!?\207" [frame-parameter client display-graphic-p] 4 (#$ . 5409)]) (put 'exwm-workspace--client-p 'byte-optimizer 'byte-compile-inline-expand) #@52 Keymap used for interactively selecting workspace. (defvar exwm-workspace--switch-map nil (#$ . 5694)) (defalias 'exwm-workspace--init-switch-map #[0 "\302 \303\304\305#\210\303\306\307#\210\303\310\311#\210\312\313\211W\203-\211\303\314!\315#\266\211T\262\202\266\316=\204v\312\313\211W\203t\211!\211;\203k\211G\317U\203k\320\313\313\234\321#\203k\303\322\313\323\324\325 !\326\"\327\330\211&#\210\266\211T\262\2027\266\303\331\332#\210\303\333\334#\210\303\335\336#\210\303\337\336#\210\303\340\341#\210\303\342\341#\210\303\343\341#\210\303\344\345#\210\303\346\347#\210\303\350\345#\210\303\351\347#\210\211\211\207" [exwm-workspace-index-map exwm-workspace--switch-map make-sparse-keymap define-key [t] #[0 "\300\207" [nil] 1 nil nil] "+" exwm-workspace--prompt-add "-" exwm-workspace--prompt-delete 10 0 int-to-string exwm-workspace--switch-map-nth-prefix number-to-string 1 <= 127 make-byte-code "\301\300!\207" vconcat vector [exwm-workspace--switch-map-select-nth] 2 nil "" #[0 "\300\301!\207" [goto-history-element 1] 2 nil nil] "" #[0 "\301G!\207" [exwm-workspace--list goto-history-element] 2 nil nil] "" abort-recursive-edit "" "\n" exit-minibuffer [return] " " "" previous-history-element "" next-history-element [right] [left]] 15]) #@72 Retrieve the workspace frame from FRAME-OR-INDEX. (fn FRAME-OR-INDEX) (defalias 'exwm-workspace--workspace-from-frame-or-index #[257 "\301!\203\211\302\"\262\204\303\304\"\210\207\211\250\2031\305X\203(\211GW\204-\303\306\"\210\234\207\303\307\"\207" [exwm-workspace--list framep cl-position user-error "[EXWM] Frame is not a workspace %S" 0 "[EXWM] Workspace index out of range: %d" "[EXWM] Invalid workspace: %s"] 5 (#$ . 6997)]) #@79 Prompt for a workspace, returning the workspace frame. (fn &optional PROMPT) (defalias 'exwm-workspace--prompt-for-workspace #[256 "\305 \210\306 \"\262\307\310\206\311 \234\f\307\303TB%\306 \312\313$ \234)\207" [exwm-workspace--current exwm-workspace--list history-add-new-input exwm-workspace--switch-history exwm-workspace--switch-map exwm-workspace--update-switch-history cl-position nil read-from-minibuffer "Workspace: " :test equal] 9 (#$ . 7454)]) #@32 Add workspace from the prompt. (defalias 'exwm-workspace--prompt-add #[0 "\205\303\304 \210\305\306!\210)\307 \210\310\n!\207" [exwm-workspace--prompt-add-allowed exwm-workspace--create-silently minibuffer-history-position t make-frame run-hooks exwm-workspace-list-change-hook exwm-workspace--update-switch-history goto-history-element] 2 (#$ . 7929) nil]) #@35 Delete workspace from the prompt. (defalias 'exwm-workspace--prompt-delete #[0 "\205?\304 GW\205? \nS\234\305!\210\211 =\2030\306\307\310 \206#\311\312!!\312\\\313\314$\210\315 \202=\314!\210\316 \210\317\n G^!\262\207" [exwm-workspace--prompt-delete-allowed exwm-workspace--list minibuffer-history-position exwm-workspace--current 1 exwm-workspace--get-remove-frame-next-workspace run-with-idle-timer float-time current-idle-time seconds-to-time 0 nil delete-frame abort-recursive-edit exwm-workspace--update-switch-history goto-history-element] 6 (#$ . 8297) nil]) #@74 Update the history for switching workspace to reflect the latest status. (defalias 'exwm-workspace--update-switch-history #[0 "\205N\305 G\306\307S\"\310\305\"\n\211\2037\211@r\211Aq\210 \203/ \311 \"\262\312I\266)A\266\202\202\210\313\314\315\316\317\320\"\321\"\322\323%\"\211\266\203\207" [exwm-workspace--switch-history-outdated exwm-workspace--list exwm--id-buffer-alist exwm--frame exwm-workspace--switch-history nil number-sequence 0 make-vector cl-position t mapcar make-byte-code 257 "\302\303\304\305\306\307\301\"\310\"\311\312%\300\313#\207" vconcat vector [mapconcat make-byte-code 257 "\304\301U\203 \305\202\f\306\307\310\nC\"\311\312 \234\313\"\203!\314\202-\300H\203,\315\202-\316#\"\207" vconcat vector [exwm-workspace-index-map exwm-workspace--list format "[%s]" " %s " propertize apply face frame-parameter exwm-urgency (:foreground "orange") (:foreground "green") nil] 9 "\n\n(fn J)" ""] 9 "\n\n(fn I)"] 11 (#$ . 8880)]) #@49 Return the geometry of frame FRAME. (fn FRAME) (defalias 'exwm-workspace--get-geometry #[257 "\300\301\"\206\302\303\304\305\306\305\307\310 \311\312 & \207" [frame-parameter exwm-geometry make-instance xcb:RECTANGLE :x 0 :y :width x-display-pixel-width :height x-display-pixel-height] 11 (#$ . 9864)]) #@41 Return the height of current workspace. (defalias 'exwm-workspace--current-height #[0 "\301\302\"\211\203\303\304\"\202\305 \207" [exwm-workspace--current frame-parameter exwm-geometry slot-value height x-display-pixel-height] 4 (#$ . 10177)]) #@63 Reports whether the minibuffer is displayed in its own frame. (defalias 'exwm-workspace--minibuffer-own-frame-p #[0 "\301>\207" [exwm-workspace-minibuffer-position (top bottom)] 2 (#$ . 10433)]) #@34 Update `exwm-workspace--struts'. (defalias 'exwm-workspace--update-struts #[0 "\304\211\304 \211\203n\211@\211A\262\203g\305\306\211W\203e\211H\306U\204]\307\310HH G\311U\205C \305\312_\\\313\312_\\O#\262\314\312\"\306U\203VB\202]\315C\"\210\211T\262\202\266A\266\202\202\210\n\205\204\316\317 \203~ \202\320\321$\210\304\207" [exwm-workspace--struts exwm-workspace--id-struts-alist exwm-debug exwm-debug-log-time-function nil 4 0 vector [left right top bottom] 12 2 6 mod append xcb-debug:message "%s%s: %s\n" "" "exwm-workspace--update-struts"] 16 (#$ . 10635)]) #@37 Update `exwm-workspace--workareas'. (defalias 'exwm-workspace--update-workareas #[0 "\306 \307 \310\211\211\211\211\311@\312\"\203C\211\203?\211@\311\312\"\313\314\315\316\"\315\317\"\315\320\"\315\321\"$C\"\262\210A\266\202\202\210\202S\314\322\211  $\323G\"\262\210 \211\203\225\211@\211\322H\262\211\324H\262\211\325H\262\211\203\215\211@\326=\203\270\211\322HZ\262\322W\203\206\203\241\322H\324H]\324H\324H\327H\\^W\203\206\211\211\325\325H\\I\266\211\211\322 I\266\202\206\330=\203\375\331 \322H\325H\n$\262\322W\203\206\203\356\322H\324H]\324H\324H\327H\\^W\203\206\211\211\325\325H\\I\266\202\206\332=\203D\211\324HZ\262\322W\203\206\203-\322H\322H]\324H\322H\325H\\^W\203\206\211\211\327\327H\\I\266\211\211\324 I\266\202\206\333=\203\206\331\n\324H\327H\n$\262\322W\203\206\203z\322H\322H]\324H\322H\325H\\^W\203\206\211\211\327\327H\\I\266A\266\202\202k\210A\266\202\202T\210\334 !\266\f\203\261\335\336 \203\254 \202\255\337\340\n$\210\341\342!\207" [exwm-workspace--list exwm-workspace--struts exwm-workspace--workareas exwm--connection exwm-debug exwm-debug-log-time-function x-display-pixel-width x-display-pixel-height nil frame-parameter exwm-geometry append vector slot-value x y width height 0 make-list 1 2 left 3 right - top bottom xcb:flush xcb-debug:message "%s%s: %s\n" "" "exwm-workspace--update-workareas" run-hooks exwm-workspace--update-workareas-hook] 19 (#$ . 11251)]) #@76 Update `exwm-workspace--frame-y-offset'/`exwm-workspace--window-y-offset'. (defalias 'exwm-workspace--update-offsets #[0 "\203\306\307 \203 \202\310\311#\210\n\203 \204&\f\204&\312\211\211\207\313\314!\210\n\312\234\315\316!!\317\320\321\322\323\324 \325\"#\"\326#@\317\320\321\322\323\324\n\327\"#\"\326#@\317\320\321\322\323\324 \330\"#\"\326#@\331\332\"\331\332\"Z\333\234\331\332\"Z\211\262\262\262\207" [exwm-debug exwm-debug-log-time-function exwm-workspace--list menu-bar-mode tool-bar-mode exwm-workspace--frame-y-offset xcb-debug:message "%s%s: \n" "" "exwm-workspace--update-offsets" 0 redisplay t window-inside-absolute-pixel-edges frame-first-window xcb:-+reply xcb:-+request-unchecked make-instance xcb:GetGeometry :drawable frame-parameter exwm-container nil exwm-outer-id exwm-id slot-value y 1 exwm-workspace--window-y-offset exwm--connection] 15 (#$ . 12791)]) #@60 Make frame FRAME active on its monitor. (fn FRAME ACTIVE) (defalias 'exwm-workspace--set-active #[514 "\203\303\304 \203 \202\305\306%\210\307\310#\210\211\203&\311!\210\2021\312\313\314\"\315\211\316\211%\210\317!\210\320\n!\207" [exwm-debug exwm-debug-log-time-function exwm--connection xcb-debug:message "%s%s: active=%s; frame=%s\n" "" "exwm-workspace--set-active" set-frame-parameter exwm-active exwm-workspace--set-fullscreen exwm--set-geometry frame-parameter exwm-container nil 1 exwm-layout--refresh xcb:flush] 8 (#$ . 13716)]) #@47 Return non-nil if FRAME is active (fn FRAME) (defalias 'exwm-workspace--active-p #[257 "\300\301\"\207" [frame-parameter exwm-active] 4 (#$ . 14277)]) #@83 Make frame FRAME fullscreen according to `exwm-workspace--workareas'. (fn FRAME) (defalias 'exwm-workspace--set-fullscreen #[257 "\203\306\307 \203 \202\310\311$\210\n\312 \"\262\234\313\314\"\313\315\"\316\211\211\211\317H\262\320H\262\321H\262\322H\262\203]\306\323 \203P \202Q\310\311&\210\f=\203l\324 \203l\325 \210\326!\203~\327%\210\202\206\327\320\211%\210\327\316\211%\210\330 !\266\205\237T\211\207" [exwm-debug exwm-debug-log-time-function exwm-workspace--workareas exwm-workspace--list exwm-workspace--current exwm--connection xcb-debug:message "%s%s: frame=%s\n" "" "exwm-workspace--set-fullscreen" cl-position frame-parameter exwm-outer-id exwm-container nil 0 1 2 3 "%s%s: x=%s; y=%s; w=%s; h=%s\n" exwm-workspace--minibuffer-own-frame-p exwm-workspace--resize-minibuffer-frame exwm-workspace--active-p exwm--set-geometry xcb:flush exwm-workspace--fullscreen-frame-count] 16 (#$ . 14436)]) #@69 Resize minibuffer (and its container) to fit the size of workspace. (defalias 'exwm-workspace--resize-minibuffer-frame #[0 "\306 \204 \307\310!\210 \234\311\n\312\"\313\211 \314=\203 \315H\fZ\2025\316\n\315\"\210\317 \210\320\315H\321H\322\n![\f$\262\323H\262\324 \325\326\327\330\331%&'(\203U)\202V\332*%\333\f\332H\334\f\335 \336(\337(\203r+\202t,&\"\210\324 \325\326\327\311\n\340\"\330'\335 &\"\210-\205\244\341\342.\203\235. \202\236\343\344%\210\313\207" [exwm-workspace--workareas exwm-workspace-current-index exwm-workspace--minibuffer exwm-workspace-minibuffer-position exwm-workspace--attached-minibuffer-height exwm--connection exwm-workspace--minibuffer-own-frame-p cl--assertion-failed (exwm-workspace--minibuffer-own-frame-p) frame-parameter exwm-container nil top 1 set-frame-height redisplay + 3 frame-pixel-height 2 xcb:-+request make-instance xcb:ConfigureWindow :window :value-mask logior 0 :x :y :width :sibling :stack-mode exwm-outer-id xcb-debug:message "%s%s: y: %s, width: %s\n" "" "exwm-workspace--resize-minibuffer-frame" xcb:ConfigWindow:X xcb:ConfigWindow:Y xcb:ConfigWindow:Width exwm-manage--desktop xcb:ConfigWindow:Sibling xcb:ConfigWindow:StackMode xcb:StackMode:Above xcb:StackMode:Below exwm-debug exwm-debug-log-time-function] 22 (#$ . 15415)]) #@128 Allow selecting a workspace by number. PREFIX-DIGITS is a list of the digits introduced so far. (fn &optional PREFIX-DIGITS) (defalias 'exwm-workspace--switch-map-nth-prefix #[256 "\301 \302\303O\304H\211\305Z\306C\307\310\311\312\313\314\315\316!\317\"\320\321%\"\"\211\\\303\211\211\304U\204XGS\211\262V\204XG\211\262\322\323\324\"!\211\262Y\204X\325\324Z\"_V\203^\326!\202\252\327\330  B\312\304\331\315\316!\332\"\333\303\211&\262\324\304\211W\203\220\211\334\335!#\266\211T\262\202x\266\334\336\312\304\331\315\316!\337\"\333\303\211&#\210\266\202!\207" [exwm-workspace--list this-command-keys-vector -1 nil 0 48 1 apply + mapcar make-byte-code 257 "\300\211\242\301_\240\210\300\242_\207" vconcat vector [10] 4 "\n\n(fn X)" floor log 10 expt exwm-workspace--switch-map-select-nth set-transient-map make-sparse-keymap "\301\300!\207" [exwm-workspace--switch-map-nth-prefix] 2 define-key int-to-string [return] [exwm-workspace--switch-map-select-nth]] 22 (#$ . 16744) nil]) #@31 Select Nth workspace. (fn N) (defalias 'exwm-workspace--switch-map-select-nth #[257 "\300T!\210\301 \207" [goto-history-element exit-minibuffer] 3 (#$ . 17777) nil]) #@248 Switch to workspace INDEX (0-based). Query for the index if not specified when called interactively. Passing a workspace frame as the first option or making use of the rest options are for internal use only. (fn FRAME-OR-INDEX &optional FORCE) (defalias 'exwm-workspace-switch #[513 "\203\306\307 \203 \202\310\311#\210\312!\n\313 \"\262\314\315\"\204,\n=\204\267\316!\2047\317!\262=\204d\320!\203d\321 p\322\323\324\325\326\"\327\"\330$\216\331\332\"\210\f\333D!\210)\266\334 \335\336\337\314 \340\"\341\342@A\"\343B\344C& \"\210D\321 \211 >\262\204\231\345\346\347\350 \"\315\351 #\210\314\352\"\314\352\"\353!\353!\354\204\266\355 \356\"\210\202\f\232\203\330\355 \356\"\210=\204\f\355\354\"\210C\262\202\f\204\f \211\203\211@\353!\203\376\314\352\"\232\203\376\355\354\"\210\357C\"\262A\266\202\202\335\210\355 \356\"\210E\211\203G\211@r\211Aq\210'>\203(\360F!\210\202?\n'=\203?\361\354\356\"\211\203>\362F\"\210\210)A\266\202\202\266\363!\210\364\365!!\210\345\315\354#\210\366 \203d\367 \210\202gGH\204\233E\211\203\232\211@r\211Aq\210\370\371\310\372 #\373'=\203\214\202\217\374P!\266)A\266\202\202n\210\345\375\354#\210\356I\334 \335\376\337J\377%\"\210\201N !\210K\203]\201O \201P \335\201Q\337\314 \201R\"#\"\354#@\201S\201T\"\323W\204\201S\201U\"\323W\204\201S\201T\"\201V!V\204\201S\201U\"\201W!V\203\\\334 \335\201X\201YL\201Z\314\f\201R\"\201[\323\201\\\323\201]\323\201^\323\201_\201V!\201`\245\201a\201W!\201`\245&\"\210\201N !\210\210M\201bD!\210\201c\201d!\207" [exwm-debug exwm-debug-log-time-function exwm-workspace--current exwm-workspace--list exwm-workspace--original-handle-focus-out exwm--connection xcb-debug:message "%s%s: \n" "" "exwm-workspace-switch" exwm-workspace--workspace-from-frame-or-index cl-position frame-parameter exwm-selected-window window-live-p frame-selected-window frame-live-p selected-frame make-byte-code 0 "\302\300!\203 \303\300\304\"\210\305\301!\205\301q\207" vconcat vector [frame-live-p select-frame norecord buffer-live-p] 3 select-frame norecord focus-out xcb:-+request make-instance xcb:ConfigureWindow :window exwm-container :value-mask logior :sibling :stack-mode set-frame-parameter buffer-local-value exwm--frame window-buffer selected-window exwm-randr-monitor exwm-workspace--active-p nil exwm-workspace--set-active t append exwm-layout--hide get-buffer-window exwm-layout--show select-window x-focus-frame window-frame exwm-workspace--minibuffer-own-frame-p exwm-workspace--resize-minibuffer-frame replace-regexp-in-string "^\\s-*" buffer-name exwm-workspace-rename-buffer " " exwm-urgency xcb:ewmh:set-_NET_CURRENT_DESKTOP :data xcb:ConfigWindow:Sibling xcb:ConfigWindow:StackMode exwm--guide-window xcb:StackMode:Below exwm-workspace-current-index exwm--id-buffer-alist exwm--id default-minibuffer-frame exwm-workspace-show-all-buffers exwm-workspace--switch-history-outdated exwm--root exwm-workspace-warp-cursor xcb:Window:None exwm-workspace--original-handle-focus-in xcb:flush xcb:-+reply xcb:-+request-unchecked xcb:QueryPointer exwm-outer-id slot-value win-x win-y frame-pixel-width frame-pixel-height xcb:WarpPointer :src-window :dst-window :src-x :src-y :src-width :src-height :dst-x 2 :dst-y focus-in run-hooks exwm-workspace-switch-hook] 28 (#$ . 17952) (byte-code "\204\304\305!\205\f\306 ?\205.\307\211\310\311!*\202.\250\203-\312\313 G#\203-\202.\313C\207" [current-prefix-arg exwm-workspace--prompt-delete-allowed exwm-workspace--prompt-add-allowed exwm-workspace--list derived-mode-p exwm-mode exwm-layout--fullscreen-p t exwm-workspace--prompt-for-workspace "Switch to [+/-]: " <= 0] 4)]) #@168 Switch to workspace INDEX or creating it first if it does not exist yet. Passing a workspace frame as the first option is for internal use only. (fn FRAME-OR-INDEX) (defalias 'exwm-workspace-switch-create #[257 "\211\204\305\262\203\306\307 \203 \202\310\311$\210\312!\204(\211\nGW\203,\313!\207\314\f\nGZT^\305\211W\203H\211\315 \266\211T\262\2026\266\316\317!\210)\313!\207" [exwm-debug exwm-debug-log-time-function exwm-workspace--list exwm-workspace--create-silently exwm-workspace-switch-create-limit 0 xcb-debug:message "%s%s: %s\n" "" "exwm-workspace-switch-create" framep exwm-workspace-switch t make-frame run-hooks exwm-workspace-list-change-hook] 6 (#$ . 21740) (byte-code "\250\203 \202\n\301C\207" [current-prefix-arg 0] 1)]) #@89 Interchange position of WORKSPACE1 with that of WORKSPACE2. (fn WORKSPACE1 WORKSPACE2) (defalias 'exwm-workspace-swap #[514 "\203\306\307 \203 \202\310\311#\210\312\n\"\262\312\n\"\262\203/\211\203/U\2037\313\314#\202\245\n<\203G\211\233\240\210\202MI\210\266\n<\203`\211\233\240\210\202fI\210\266 \211\203\211\211@\315\316A\"D>\203\202\317@!\210A\266\202\202i\210\320\f!\210 D>\203\242\321 \322\323 #\210\324 \325\"\210\326\327!\207" [exwm-debug exwm-debug-log-time-function exwm-workspace--list exwm--id-buffer-alist exwm--connection exwm-workspace--current xcb-debug:message "%s%s: \n" "" "exwm-workspace-swap" cl-position user-error "[EXWM] Cannot swap %s and %s" buffer-local-value exwm--frame exwm-workspace--set-desktop xcb:flush set-frame-parameter exwm-selected-window selected-window exwm-workspace-switch t run-hooks exwm-workspace-list-change-hook] 9 (#$ . 22516) (byte-code "\303\304!\205\305 ?\205+\306\211\307\211\310\311!\262*\310\312\313\314\n\"\262\"!\262D\266\202\207" [exwm-workspace--prompt-delete-allowed exwm-workspace--prompt-add-allowed exwm-workspace--list derived-mode-p exwm-mode exwm-layout--fullscreen-p nil t exwm-workspace--prompt-for-workspace "Pick a workspace [+/-]: " format "Swap workspace %d with: " cl-position] 9)]) #@145 Move WORKSPACE to the NTH position. When called interactively, prompt for a workspace and move current one just before it. (fn WORKSPACE NTH) (defalias 'exwm-workspace-move #[514 "\203\305\306 \203 \202\307\310#\210\311\n\"\262\312\211\211\211U\203*\313\314!\202\276 =\2067\n\234 =\262\211\n\233\211\315X\203JA\202RS\n\233A\241\210\266\211\315X\203e\n\233B\202q\211S\n\233\n\233B\241\210\210^\262]\262\f\211\203\252\211@\316\317A\"\311\n\"\262\262W\204\243V\204\243\320@!\210A\266\202\202\210\203\273\321 \322\323 #\210\324 \325\"\210\326\327!\207" [exwm-debug exwm-debug-log-time-function exwm-workspace--list exwm-workspace--current exwm--id-buffer-alist xcb-debug:message "%s%s: \n" "" "exwm-workspace-move" cl-position nil user-error "[EXWM] Cannot move to same position" 0 buffer-local-value exwm--frame exwm-workspace--set-desktop set-frame-parameter exwm-selected-window selected-window exwm-workspace-switch t run-hooks exwm-workspace-list-change-hook] 13 (#$ . 23851) (byte-code "\204\303\304!\205\f\305 ?\2051 \306\307!\310\n\"\262D\207\250\203.\311\312\nG#\203. D\207 \312D\207" [current-prefix-arg exwm-workspace--current exwm-workspace--list derived-mode-p exwm-mode exwm-layout--fullscreen-p exwm-workspace--prompt-for-workspace "Move workspace to: " cl-position <= 0] 5)]) #@156 Add a workspace as the INDEX-th workspace, or the last one if INDEX is nil. INDEX must not exceed the current number of workspaces. (fn &optional INDEX) (defalias 'exwm-workspace-add #[256 "\203\303\304 \203 \202\305\306$\210\211\203%\211\nGW\203%\307\310 \"\207\310 \207" [exwm-debug exwm-debug-log-time-function exwm-workspace--list xcb-debug:message "%s%s: %s\n" "" "exwm-workspace-add" exwm-workspace-move make-frame] 6 (#$ . 25225) nil]) #@69 Delete the workspace FRAME-OR-INDEX. (fn &optional FRAME-OR-INDEX) (defalias 'exwm-workspace-delete #[256 "\203\304\305 \203 \202\306\307$\210\310\nGW\205/\211\203%\311!\202& \312!\210\313!\262\207" [exwm-debug exwm-debug-log-time-function exwm-workspace--list exwm-workspace--current xcb-debug:message "%s%s: %s\n" "" "exwm-workspace-delete" 1 exwm-workspace--workspace-from-frame-or-index exwm-workspace--get-remove-frame-next-workspace delete-frame] 6 (#$ . 25688) nil]) #@47 Set _NET_WM_DESKTOP for X window ID. (fn ID) (defalias 'exwm-workspace--set-desktop #[257 "\203\306\307 \203 \202\310\311$\210r\211\312\n\"A\262q\210 \313\f\"\262\211\314\315\316\317\320%\"\262)\207" [exwm-debug exwm-debug-log-time-function exwm--id-buffer-alist exwm--frame exwm-workspace--list exwm--desktop xcb-debug:message "%s%s: #x%x\n" "" "exwm-workspace--set-desktop" assoc cl-position xcb:-+request make-instance xcb:ewmh:set-_NET_WM_DESKTOP :window :data exwm--connection] 10 (#$ . 26185)]) #@79 Move window ID to workspace FRAME-OR-INDEX. (fn FRAME-OR-INDEX &optional ID) (defalias 'exwm-workspace-move-window #[513 "\3062\302\307!\310\211\204\311 \312\"@\262\262\204!\313\306\310\"\210 \2038\314\315\n\2030\n \2021\316\317 %\210r\320\"A\262q\210 =\204\272\f\204d\321\322\316\323 #\324 =\203^\202a\325P!\266 \262@\204\303\326\310\"\203\202 =\203\255\327!\210\202\255\330\326\310\331\"\332\310\331\"\"\210 =\204\231\333\334\310#\210\330\335!\320\"A\262\"\210 =\203\266\336\335!!\210\202\255\337!\204\255\340!\210\202\255\341@\342\"\262\341\343\"\341\343\"\232\2049\344A\345A\346\347\350#\"\310#@\351!\351!\352\353\354\353\"\354\353\"\354\353\"Z\\#\266\352\355\354\355\"\354\355\"\354\355\"Z\\#\266\356\354\353\"\354\355\"\310\211%\210\356\354\353\"\354\355\"\310\211%\266\357 \203a =\203N\336\360@!!\210\202\222\336\335 !!\210\337!\204\222\340!\210\202\222@r\361\362!\206s\363\364\362!!\210\361\362!q\210\365\366\367!B\370B\371_B\372C\371_B\373BB\374CB\375BBBBB!)\376\341\377\"!\376\341\201F\"!\360!\333\201G#\210\333\201H#\210\333\342#\210\201I!\210\201J\201K!\201L!\331$\210\201MA\346\201N\201O\201P\f\201Q\201R\201S\201R& \"\210\201TA!\210r\320\"A\262q\210\310D@\201U\360!\310\"\210\201V\201W\327\"\210\330p\"\210\201X\201W\327\"\210\201U\331\"\210)\336\335 !!\210\201Y!\210\201Z!\210\356\201R\211\310\211%\210\201TA!\210\201[ \210 =\203\204r\320\"A\262q\210\336\360@!!\210)\202\220\337!\204\220\340 !\210\266 =\204\255r\320\"A\262q\210\333\334\360@!#\210)\201\\!\210\201TA!\210)\331\211E\266\2030\207" [exwm--id-buffer-alist exwm-debug exwm-debug-log-time-function exwm--frame exwm-workspace-show-all-buffers exwm-workspace--current --cl-block-exwm-workspace-move-window-- exwm-workspace--workspace-from-frame-or-index nil window-buffer rassoc throw xcb-debug:message "%s%s: Moving #x%x to %s\n" "" "exwm-workspace-move-window" assoc replace-regexp-in-string "^\\s-*" buffer-name exwm-workspace-rename-buffer " " get-buffer-window exwm-layout--refresh set-window-buffer t other-buffer set-frame-parameter exwm-selected-window frame-selected-window select-window exwm-workspace--active-p exwm-layout--hide frame-parameter exwm-container exwm-randr-monitor xcb:-+reply xcb:-+request-unchecked make-instance xcb:GetGeometry :drawable exwm-workspace--get-geometry eieio-oset x slot-value y exwm--set-geometry exwm-workspace--minibuffer-own-frame-p frame-root-window get-buffer "*scratch*" set-buffer-major-mode get-buffer-create make-frame minibuffer minibuffer-window left -100 top width height ((unsplittable . t)) string-to-number outer-window-id exwm--floating-frame exwm--connection window-min-width window-min-height window-size-fixed exwm-workspace--switch-history-outdated window-id exwm-outer-id exwm-id make-frame-invisible set-frame-size frame-pixel-width frame-pixel-height xcb:-+request xcb:ReparentWindow :window :parent :x 0 :y xcb:flush set-window-dedicated-p remove-hook window-configuration-change-hook add-hook delete-frame make-frame-visible redisplay exwm-workspace--set-desktop] 22 (#$ . 26714) (byte-code "\204\304\211\305\306!*\202\"\250\203!\307\310 G#\203!\202\"\310C\207" [current-prefix-arg exwm-workspace--prompt-delete-allowed exwm-workspace--prompt-add-allowed exwm-workspace--list t exwm-workspace--prompt-for-workspace "Move to [+/-]: " <= 0] 4)]) #@76 Make the current Emacs window display another buffer. (fn BUFFER-OR-NAME) (defalias 'exwm-workspace-switch-to-buffer #[257 "\203\306\307 \203 \202\310\311#\210\211\205lr\211q\210\312\313!\203h\n =\203=\f\2041\314!\202k\315\f!\210\316\317\f!!\202k \203I\320 \"\202k\321\n\"\211\203Z\322\n\323#\210\202a\324\325\n!\"\210\210\326\n!\202k\314!)\207" [exwm-debug exwm-debug-log-time-function exwm--frame exwm-workspace--current exwm--floating-frame exwm-layout-show-all-buffers xcb-debug:message "%s%s: \n" "" "exwm-workspace-switch-to-buffer" derived-mode-p exwm-mode switch-to-buffer select-frame-set-input-focus select-window frame-root-window exwm-workspace-move-window get-buffer-window set-frame-parameter exwm-selected-window set-window-buffer frame-selected-window exwm-workspace-switch exwm--id] 6 (#$ . 30220) (byte-code "\306 \2042\n\211\2031\211@r\211Aq\210\307 \310H\311U\203)\312\313 \"\314\307 \315\316O!\210))A\266\202\202\210\3171C\316\320\321\322!!)C0\202I\210\306\323\324! \204\n\211\203~\211@r\211Aq\210 =\204v\307 \310H\311U\204v\312\313 \"\314\325\307 P!\210))A\266\202\202N\210)\207" [inhibit-quit exwm-workspace-show-all-buffers exwm--id-buffer-alist buffer-list-update-hook quit-flag exwm--frame t buffer-name 0 32 remq exwm-input--on-buffer-list-update rename-buffer 1 nil (quit) get-buffer read-buffer-to-switch "Switch to buffer: " eval (ignore nil) " " exwm-workspace--current] 6)]) #@32 Rename a buffer. (fn NEWNAME) (defalias 'exwm-workspace-rename-buffer #[257 "\211\301H\302U\303\304\305#\306\307\203\306\307O\262\262\310!\206%\310\311P!\211\262\203?\211p=\204?\312\313T\211\262#\262\202\314\315\"\316\205J\311P!)\207" [buffer-list-update-hook 0 32 replace-regexp-in-string "<[0-9]+>$" "" 1 nil get-buffer " " format "%s<%d>" remq exwm-input--on-buffer-list-update rename-buffer] 10 (#$ . 31682)]) #@87 Set override-redirect on the frame created by `x-create-frame'. (fn ORIG-FUN PARAMS) (defalias 'exwm-workspace--x-create-frame #[514 "\203\304\305 \203 \202\306\307#\210!\310\n\311\312\313\314\315\316\"!\317 \320\321&\"\210\322\n!\210\211\207" [exwm-debug exwm-debug-log-time-function exwm--connection xcb:CW:OverrideRedirect xcb-debug:message "%s%s: \n" "" "exwm-workspace--x-create-frame" xcb:-+request make-instance xcb:ChangeWindowAttributes :window string-to-number frame-parameter outer-window-id :value-mask :override-redirect 1 xcb:flush] 13 (#$ . 32130)]) #@109 Return non-nil if the minibuffer is attached. Please check `exwm-workspace--minibuffer-own-frame-p' first. (defalias 'exwm-workspace--minibuffer-attached-p #[0 "\302\303\" \236\207" [exwm-workspace--minibuffer exwm-workspace--id-struts-alist frame-parameter exwm-container] 3 (#$ . 32716)]) (put 'exwm-workspace--minibuffer-attached-p 'byte-optimizer 'byte-compile-inline-expand) #@48 Attach the minibuffer so that it always shows. (defalias 'exwm-workspace-attach-minibuffer #[0 "\203\306\307 \203 \202\310\311#\210\312 \205l\313\n\314\" \236?\205l\315\n\316\"\210\317 \210\320\n!\321 \210\313\n\314\"\211 \322=\203E\323\324\211\f\324$\202K\323\324\211\211\f$B B\325 \210\326 \210\211\205h\211@\327!\210A\266\202\202W\262\262\207" [exwm-debug exwm-debug-log-time-function exwm-workspace--minibuffer exwm-workspace--id-struts-alist exwm-workspace--attached-minibuffer-height exwm-workspace-minibuffer-position xcb-debug:message "%s%s: \n" "" "exwm-workspace-attach-minibuffer" exwm-workspace--minibuffer-own-frame-p frame-parameter exwm-container set-frame-height 1 redisplay frame-pixel-height exwm-workspace--show-minibuffer top vector 0 exwm-workspace--update-struts exwm-workspace--update-workareas exwm-workspace--set-fullscreen exwm-workspace--list] 7 (#$ . 33104) nil]) #@55 Detach the minibuffer so that it automatically hides. (defalias 'exwm-workspace-detach-minibuffer #[0 "\203\306\307 \203 \202\310\311#\210\312 \205I\313\n\314\" \236\205I\315\313\n\314\"\316 \"\317 \210\320 \210 \211\203D\211@\321!\210A\266\202\2023\210\322 \262\207" [exwm-debug exwm-debug-log-time-function exwm-workspace--minibuffer exwm-workspace--id-struts-alist exwm-workspace--attached-minibuffer-height exwm-workspace--list xcb-debug:message "%s%s: \n" "" "exwm-workspace-detach-minibuffer" exwm-workspace--minibuffer-own-frame-p frame-parameter exwm-container 0 assq-delete-all exwm-workspace--update-struts exwm-workspace--update-workareas exwm-workspace--set-fullscreen exwm-workspace--hide-minibuffer] 5 (#$ . 34024) nil]) #@72 Attach the minibuffer if it's detached, or detach it if it's attached. (defalias 'exwm-workspace-toggle-minibuffer #[0 "\203\304\305 \203 \202\306\307#\210\310 \205&\311\n\312\" \236\203$\313 \207\314 \207" [exwm-debug exwm-debug-log-time-function exwm-workspace--minibuffer exwm-workspace--id-struts-alist xcb-debug:message "%s%s: \n" "" "exwm-workspace-toggle-minibuffer" exwm-workspace--minibuffer-own-frame-p frame-parameter exwm-container exwm-workspace-detach-minibuffer exwm-workspace-attach-minibuffer] 4 (#$ . 34783) nil]) #@63 Update the minibuffer frame height. (fn &optional ECHO-AREA) (defalias 'exwm-workspace--update-minibuffer-height #[256 "\304\305\306\"\206\f\307!?\262?\205rr\310\311!!q\210\312\203F\313!\314C\315\316\317\320\321\322\"\323\"\324\325%\326\327 \206;\330\331\"\"\210\211\242\266\202\202H\332 ]) \250\203X\211 V\203X \262\n\203l\333\334 \203g \202h\330\335$\210\336\"\262\207" [exwm-workspace--minibuffer max-mini-window-height exwm-debug exwm-debug-log-time-function nil frame-parameter client display-graphic-p window-buffer minibuffer-window 1 frame-width 0 mapc make-byte-code 257 "\301\211\242\302GT\300\"\\\240\207" vconcat vector [ceiling] 6 "\n\n(fn I)" split-string current-message "" "\n" count-screen-lines xcb-debug:message "%s%s: %s\n" "exwm-workspace--update-minibuffer-height" set-frame-height] 12 (#$ . 35331)]) #@72 Adjust the container to fit the minibuffer frame. (fn DATA SYNTHETIC) (defalias 'exwm-workspace--on-ConfigureNotify #[514 "\306\307!\310\211\311\"\210\312\313\"\314\315\"=\205\264 \203+\316\317\n\203'\n \202(\320\321#\210\322 !\203`\314\323\" \324 _V\203`\211\325\323\326 \324 _!#\266\327\f\306\330\331\314\315\"\332 \333\314\n\323\"&\"\210%G&GU\204m\334 \210&'\234\262(\335=\203\204\336H)Z\202\223\337\336H\340H\314\323\"[)$\262\327\f\306\330\331\312\341\"\332\342* \"\343\n\333\314\f\323\"& \"\210\344\f!\262\207" [exwm-workspace--minibuffer exwm-debug exwm-debug-log-time-function max-mini-window-height exwm--connection xcb:ConfigWindow:Height make-instance xcb:ConfigureNotify nil xcb:unmarshal frame-parameter exwm-outer-id slot-value window xcb-debug:message "%s%s: \n" "" "exwm-workspace--on-ConfigureNotify" floatp height exwm-workspace--current-height eieio-oset floor xcb:-+request xcb:ConfigureWindow :window :value-mask :height exwm-workspace--update-workareas top 1 + 3 exwm-container logior :y xcb:flush exwm-workspace--list exwm-workspace--workareas exwm-workspace-current-index exwm-workspace-minibuffer-position exwm-workspace--attached-minibuffer-height xcb:ConfigWindow:Y] 20 (#$ . 36188)]) #@76 Display BUFFER as if the current workspace is selected. (fn BUFFER ALIST) (defalias 'exwm-workspace--display-buffer #[514 "\302 =\205%\302 p\303\304\305\306\307\"\310\"\311$\216\312 \313\"\210\314\")\266\202\207" [exwm-workspace--minibuffer exwm-workspace--current selected-frame make-byte-code 0 "\302\300!\203 \303\300\304\"\210\305\301!\205\301q\207" vconcat vector [frame-live-p select-frame norecord buffer-live-p] 3 select-frame norecord display-buffer] 11 (#$ . 37446)]) #@28 Show the minibuffer frame. (defalias 'exwm-workspace--show-minibuffer #[0 "\203\306\307 \203 \202\310\311#\210\n\203\312\n!\210\313\314 \315\"\f\236\2045\316\314 \315\"\313\211\317 !\320 !%\210\321 \322\323\324\314 \315\"\325\326&\"\210\327 !\207" [exwm-debug exwm-debug-log-time-function exwm-workspace--display-echo-area-timer exwm-workspace--minibuffer exwm-workspace--id-struts-alist exwm--connection xcb-debug:message "%s%s: \n" "" "exwm-workspace--show-minibuffer" cancel-timer nil frame-parameter exwm-container exwm--set-geometry frame-pixel-width frame-pixel-height xcb:-+request make-instance xcb:ConfigureWindow :window :value-mask :stack-mode xcb:flush xcb:ConfigWindow:StackMode xcb:StackMode:Above] 10 (#$ . 37942)]) #@28 Hide the minibuffer frame. (defalias 'exwm-workspace--hide-minibuffer #[0 "\203\306\307 \203 \202\310\311#\210\312\n\313\" \236\203I\314\f\315\316\317\312\n\313\"\320\321 \2030\2021\322\"\323 \324 \203@\202B& \"\210\202T\325\312\n\313\"\326\211\327\211%\210\330\f!\207" [exwm-debug exwm-debug-log-time-function exwm-workspace--minibuffer exwm-workspace--id-struts-alist exwm--connection exwm-manage--desktop xcb-debug:message "%s%s: \n" "" "exwm-workspace--hide-minibuffer" frame-parameter exwm-container xcb:-+request make-instance xcb:ConfigureWindow :window :value-mask logior 0 :sibling :stack-mode exwm--set-geometry nil 1 xcb:flush xcb:ConfigWindow:Sibling xcb:ConfigWindow:StackMode xcb:StackMode:Above xcb:StackMode:Below] 12 (#$ . 38696)]) #@72 Run in minibuffer-setup-hook to show the minibuffer and its container. (defalias 'exwm-workspace--on-minibuffer-setup #[0 "\203\303\304 \203 \202\305\306#\210\307 \310U\2033\311\312\313\"\206&\314!?\262\2043\315\316\317\"\210\320 \210\321\322!\205J\323\324\n\"\211\205H\325!\210\322!\262\207" [exwm-debug exwm-debug-log-time-function exwm-workspace--current xcb-debug:message "%s%s: \n" "" "exwm-workspace--on-minibuffer-setup" minibuffer-depth 1 nil frame-parameter client display-graphic-p add-hook post-command-hook exwm-workspace--update-minibuffer-height exwm-workspace--show-minibuffer fboundp window-preserve-size get-buffer-window "*Completions*" fit-window-to-buffer] 4 (#$ . 39473)]) #@63 Run in minibuffer-exit-hook to hide the minibuffer container. (defalias 'exwm-workspace--on-minibuffer-exit #[0 "\203\302\303 \203 \202\304\305#\210\306 \307U\2053\310\311\312\"\206&\313!?\262?\2053\314\315\316\"\210\317 \207" [exwm-debug exwm-debug-log-time-function xcb-debug:message "%s%s: \n" "" "exwm-workspace--on-minibuffer-exit" minibuffer-depth 1 nil frame-parameter client display-graphic-p remove-hook post-command-hook exwm-workspace--update-minibuffer-height exwm-workspace--hide-minibuffer] 4 (#$ . 40192)]) #@71 Run when new message arrives to show the echo area and its container. (defalias 'exwm-workspace--on-echo-area-dirty #[0 "\305 ?\205=\306\307\310\"\206\311!?\262?\205=\312 \204!\205=\313\314!\210\315 \210 ?\2062\n\2062 ?\205=\316 \306\317#\211\207" [cursor-in-echo-area exwm-workspace-display-echo-area-timeout exwm-input--during-command input-method-use-echo-area exwm-workspace--display-echo-area-timer active-minibuffer-window nil frame-parameter client display-graphic-p current-message exwm-workspace--update-minibuffer-height t exwm-workspace--show-minibuffer run-with-timer exwm-workspace--echo-area-maybe-clear] 4 (#$ . 40734)]) #@43 Eventually clear the echo area container. (defalias 'exwm-workspace--echo-area-maybe-clear #[0 "\203\304\305 \203 \202\306\307#\210\310 \204\311 \207\312\n!\210\313 \314\315#\211\207" [exwm-debug exwm-debug-log-time-function exwm-workspace--display-echo-area-timer exwm-workspace-display-echo-area-timeout xcb-debug:message "%s%s: \n" "" "exwm-workspace--echo-area-maybe-clear" current-message exwm-workspace--on-echo-area-clear cancel-timer run-with-timer nil exwm-workspace--echo-area-maybe-clear] 4 (#$ . 41390)]) #@58 Run in echo-area-clear-hook to hide echo area container. (defalias 'exwm-workspace--on-echo-area-clear #[0 "\301\302\303\"\206\f\304!?\262?\205%\305 \204\306 \210\205%\307!\210\301\211\207" [exwm-workspace--display-echo-area-timer nil frame-parameter client display-graphic-p active-minibuffer-window exwm-workspace--hide-minibuffer cancel-timer] 4 (#$ . 41924)]) #@28 Set _NET_DESKTOP_GEOMETRY. (defalias 'exwm-workspace--set-desktop-geometry #[0 "\203\304\305 \203 \202\306\307#\210\310\n\311\312\313 \314\315 \316\317 &\"\207" [exwm-debug exwm-debug-log-time-function exwm--connection exwm--root xcb-debug:message "%s%s: \n" "" "exwm-workspace--set-desktop-geometry" xcb:-+request make-instance xcb:ewmh:set-_NET_DESKTOP_GEOMETRY :window :width x-display-pixel-width :height x-display-pixel-height] 10 (#$ . 42305)]) #@65 Configure frame FRAME to be treated as a workspace. (fn FRAME) (defalias 'exwm-workspace--add-frame-as-workspace #[257 "\203\306\307 \203 \202\310\311$\210\nC\244\312\313\314\"!\312\313\315\"!\316 !\317\320#\210\317\321#\210\317\322#\210\317\323\324#\210\n@\325\211\203[\211@\317\313\"#\210A\266\202\202C\266\326 \327\330\331\332\333\334\f\335\336\337\336\340\341\342\341\343\332\344 \345\332\346\347@A\"\350B\351\341&\"\210\326 \327\352\353\346C\354D&\"\210\326 \327\355\353\356\357\360\f\361\n\"\262\"%\"\210\326 \327\362\353\334\335\332\337\332& \"\210\326 \327\363\353#\"\266\364 !\210\365\366\367 \206\325\370\332!!\332\\\324\317\371\372&\210\373 \210E\203\355\374\211F\207G\375\374\"\210\376\377G$\266\201H\201I!\207" [exwm-debug exwm-debug-log-time-function exwm-workspace--list exwm--connection exwm--root xcb:WindowClass:InputOutput xcb-debug:message "%s%s: %s\n" "" "exwm-workspace--add-frame-as-workspace" string-to-number frame-parameter outer-window-id window-id xcb:generate-id set-frame-parameter exwm-outer-id exwm-id exwm-container client nil (exwm-randr-monitor exwm-geometry) xcb:-+request make-instance xcb:CreateWindow :depth 0 :wid :parent :x -1 :y :width 1 :height :border-width :class :visual :value-mask logior :background-pixmap :override-redirect xcb:ConfigureWindow :window :stack-mode xcb:ewmh:set-_NET_WM_NAME :data format "EXWM workspace %d frame container" cl-position xcb:ReparentWindow xcb:MapWindow xcb:flush run-with-idle-timer float-time current-idle-time seconds-to-time fullscreen fullboth exwm-workspace--update-ewmh-props t exwm-workspace-switch message "Created %s as workspace %d; switched from %d" xcb:CW:BackPixmap xcb:CW:OverrideRedirect xcb:BackPixmap:ParentRelative xcb:ConfigWindow:StackMode xcb:StackMode:Below exwm-workspace--create-silently exwm-workspace--switch-history-outdated exwm-workspace-current-index run-hooks exwm-workspace-list-change-hook] 34 (#$ . 42771)]) #@165 Return the next workspace if workspace FRAME is removed. All X windows currently on workspace FRAME will be automatically moved to the next workspace. (fn FRAME) (defalias 'exwm-workspace--get-remove-frame-next-workspace #[257 "\211\304\"\262\211GSU\203\305\202\306\\\234 \211\2039\211@r\211Aq\210\n=\2031\307 \"\210)A\266\202\202\210\207" [exwm-workspace--list exwm--id-buffer-alist exwm--frame exwm--id cl-position -1 1 exwm-workspace-move-window] 9 (#$ . 44766)]) #@55 Stop treating frame FRAME as a workspace. (fn FRAME) (defalias 'exwm-workspace--remove-frame-as-workspace #[257 "\203\306\307 \203 \202\310\311$\210\211\312\n\"\262\313!\314\n\" \211\203G\211@S\315\316A\"\312\n\"\262X\203@\317@!\210A\266\202\202$\210\f=\203R\320!\210\266\321\322\"\323 \324\325\326#\"\210\323 \324\327\326\330*\331\332\333\332& \"\210\323 \324\334\326\335+\336\332&\"\210\323 \324\337\326\340\341%\"\210\323 \324\342\326#\"\266\323 \324\343\326\321\344\"#\"\210\345 !\210\346 \210\347,\350\351!\207" [exwm-debug exwm-debug-log-time-function exwm-workspace--list exwm--id-buffer-alist exwm-workspace--current exwm--connection xcb-debug:message "%s%s: Removing frame `%s' as workspace\n" "" "exwm-workspace--remove-frame-as-workspace" cl-position exwm-workspace--get-remove-frame-next-workspace delete buffer-local-value exwm--frame exwm-workspace--set-desktop exwm-workspace-switch frame-parameter exwm-outer-id xcb:-+request make-instance xcb:UnmapWindow :window xcb:ReparentWindow :parent :x 0 :y xcb:ChangeWindowAttributes :value-mask :override-redirect xcb:ewmh:set-_NET_WM_STATE :data nil xcb:MapWindow xcb:DestroyWindow exwm-container xcb:flush exwm-workspace--update-ewmh-props t run-hooks exwm-workspace-list-change-hook exwm--root xcb:CW:OverrideRedirect exwm-workspace--switch-history-outdated] 14 (#$ . 45260)]) #@96 Hook run upon `delete-frame' that tears down FRAME's configuration as a workspace. (fn FRAME) (defalias 'exwm-workspace--on-delete-frame #[257 "\211\211>\262\204 \205B\304\305\n\203\n \202\306\307$\210\310\207G\311U\203? \2039\304\312\n\2035\n \2026\306\307#\210\313\314 \210)\315!\207" [exwm-workspace--list exwm-debug exwm-debug-log-time-function exwm-workspace--create-silently xcb-debug:message "%s%s: Frame `%s' is not a workspace\n" "" "exwm-workspace--on-delete-frame" nil 1 "%s%s: Last workspace deleted; create a new one\n" t make-frame exwm-workspace--remove-frame-as-workspace] 6 (#$ . 46646)]) #@78 Hook run upon `make-frame' that configures FRAME as a workspace. (fn FRAME) (defalias 'exwm-workspace--on-after-make-frame #[257 "\211\211>\262\203 \205\243\304\305\n\203\n \202\306\307$\210\310\207\311!\204; \205\243\304\312\n\2034\n \2025\306\307$\210\310\207\313\314\306\315 \316\"#\313\314\306\317\316\"#\230\204o \205\243\304\320\n\203^\n \202_\306\307\317\316\"\315 \316\"&\210\310\207\317\321\"\203\214 \205\243\304\322\n\203\205\n \202\206\306\307$\210\310\207 \203\240\304\323\n\203\233\n \202\234\306\307$\210\324!\207" [exwm-workspace--list exwm-debug exwm-debug-log-time-function exwm--connection xcb-debug:message "%s%s: Frame `%s' is already a workspace\n" "" "exwm-workspace--on-after-make-frame" nil display-graphic-p "%s%s: Frame `%s' is not graphical\n" replace-regexp-in-string "\\.0$" slot-value display frame-parameter "%s%s: Frame `%s' is on a different DISPLAY (%S instead of %S)\n" unsplittable "%s%s: Frame `%s' is floating\n" "%s%s: Adding frame `%s' as workspace\n" exwm-workspace--add-frame-as-workspace] 10 (#$ . 47276)]) #@53 Update EWMH properties to match the workspace list. (defalias 'exwm-workspace--update-ewmh-props #[0 "\203\305\306 \203 \202\307\310#\210\nG\211\311U\203\312\262\313 \314\315\316\f\317%\"\210\320 \210\321 \266\322 !\207" [exwm-debug exwm-debug-log-time-function exwm-workspace--list exwm--connection exwm--root xcb-debug:message "%s%s: \n" "" "exwm-workspace--update-ewmh-props" 0 1 xcb:-+request make-instance xcb:ewmh:set-_NET_NUMBER_OF_DESKTOPS :window :data exwm-workspace--set-desktop-geometry exwm-workspace--update-workareas xcb:flush] 9 (#$ . 48370)]) #@291 Modifies `window-system-default-frame-alist' for the X Window System. NEW-X-PARAMETERS is an alist of frame parameters, merged into current `window-system-default-frame-alist' for the X Window System. The parameters are applied to all subsequently created X frames. (fn NEW-X-PARAMETERS) (defalias 'exwm-workspace--modify-all-x-frames-parameters #[257 "\203\303\304 \203 \202\305\306#\210\307\n\236\206!\310\211\nB\211\262\211\211\311A\"\241\262\207" [exwm-debug exwm-debug-log-time-function window-system-default-frame-alist xcb-debug:message "%s%s: \n" "" "exwm-workspace--modify-all-x-frames-parameters" x (x) append] 7 (#$ . 48951)]) #@58 Replacement for `handle-focus-in'. (fn ORIG-FUNC EVENT) (defalias 'exwm-workspace--handle-focus-in #[514 "\300\207" [nil] 3 (#$ . 49611) "e"]) #@59 Replacement for `handle-focus-out'. (fn ORIG-FUNC EVENT) (defalias 'exwm-workspace--handle-focus-out #[514 "\300\207" [nil] 3 (#$ . 49761) "e"]) (defalias 'exwm-workspace--init-minibuffer-frame #[0 "\203\306\307 \203 \202\310\311#\210\312\313!\211\314\315!\210\316\317\n\320\"!\316\317\n\321\"!\322\f!\323\n\324#\210\323\n\325#\210\323\n\326#\210\327\f\330\331\332\333\334\335 \336\333\337\333\340\341\342\341\343\333\344@\345\333\346\347AB\"\350C\351\341&\"\210\327\f\330\352\353\354\355%\"\210\327\f\330\356\353\335\336\333\337\333& \"\210\327\f\330\357\353#\"\210\327\f\330\360\353\346D\361E&\"\210\362\f\363\364#\266\365\366\367\"\210\365\370\371\"\210\372\333\373\374#F\365\375\376\"\210\377G\235\203\310G\202\314\377GB\211G\207" [exwm-debug exwm-debug-log-time-function exwm-workspace--minibuffer default-minibuffer-frame exwm--connection exwm--root xcb-debug:message "%s%s: \n" "" "exwm-workspace--init-minibuffer-frame" make-frame ((window-system . x) (minibuffer . only) (left . 10000) (right . 10000) (width . 1) (height . 1) (client)) exwm-workspace--modify-all-x-frames-parameters ((minibuffer)) string-to-number frame-parameter outer-window-id window-id xcb:generate-id set-frame-parameter exwm-outer-id exwm-id exwm-container xcb:-+request make-instance xcb:CreateWindow :depth 0 :wid :parent :x :y :width 1 :height :border-width :class :visual :value-mask logior :background-pixmap :override-redirect xcb:ewmh:set-_NET_WM_NAME :window :data "EXWM minibuffer container" xcb:ReparentWindow xcb:MapWindow xcb:ChangeWindowAttributes :event-mask xcb:+event xcb:ConfigureNotify exwm-workspace--on-ConfigureNotify add-hook minibuffer-setup-hook exwm-workspace--on-minibuffer-setup minibuffer-exit-hook exwm-workspace--on-minibuffer-exit run-with-idle-timer t exwm-workspace--on-echo-area-dirty echo-area-clear-hook exwm-workspace--on-echo-area-clear (exwm-workspace--display-buffer) xcb:WindowClass:InputOutput xcb:CW:BackPixmap xcb:CW:OverrideRedirect xcb:BackPixmap:ParentRelative xcb:CW:EventMask xcb:EventMask:StructureNotify exwm-workspace--timer display-buffer-alist] 34]) (defalias 'exwm-workspace--exit-minibuffer-frame #[0 "\203\306\307 \203 \202\310\311#\210\312\313\314\"\210\312\315\316\"\210\312\317\320\"\210\n\203,\321\n!\210\322\323\324 \325\326$\322\327 \330\" \203S\211\203S\331!\332\333\334\335\"\336\337\340\337& \"\210\322\211\207" [exwm-debug exwm-debug-log-time-function exwm-workspace--timer display-buffer-alist default-minibuffer-frame exwm-workspace--minibuffer xcb-debug:message "%s%s: \n" "" "exwm-workspace--exit-minibuffer-frame" remove-hook minibuffer-setup-hook exwm-workspace--on-minibuffer-setup minibuffer-exit-hook exwm-workspace--on-minibuffer-exit echo-area-clear-hook exwm-workspace--on-echo-area-clear cancel-timer nil cl-delete (exwm-workspace--display-buffer) :test equal frame-parameter exwm-outer-id xcb:-+request make-instance xcb:ReparentWindow :window :parent :x 0 :y exwm--connection exwm--root] 13]) #@30 Initialize workspace module. (defalias 'exwm-workspace--init #[0 "\203\306\307 \203 \202\310\311#\210\312 \210\313\314\315!\210\316 \317 \204^\320GW\203\231\211\211\203E\211@\321\322\"\204>\323\"\262A\266\202\202+\210\321@\324\"\211@\325\326\313#\210\325\324\327#\266\202\231\330 \210\211\211\203\222\211@\321\324\"\203 \204x\321\324\"\331!\210\202\213\332!\333=\203\213\334!\210A\266\202\202b\210\335\336!C\262\337\340!\210\fGZ\313\211W\203\270\211\335\341!C\244\266\211T\262\202\242\266\342\211\211\203\316\211@\343!\210A\266\202\202\275\210)\210\3447!\210\345\346\347\350#\210\345\351\347\352#\210\345\353\347\354#\210\355\356\357\"\210\355\360\361\"\210\317 \203\374\355\362\363\"\210\364\313\342\"\210\365\211\205\211@\2118\236\204\211\366B8B8A\266\202\202\207" [exwm-debug exwm-debug-log-time-function exwm-workspace--fullscreen-frame-count exwm-workspace--client exwm-workspace-number exwm-workspace--create-silently xcb-debug:message "%s%s: \n" "" "exwm-workspace--init" exwm-workspace--init-switch-map 0 exwm-workspace--modify-all-x-frames-parameters ((internal-border-width . 0)) frame-list exwm-workspace--minibuffer-own-frame-p 1 frame-parameter window-id delq client set-frame-parameter internal-border-width nil exwm-workspace--init-minibuffer-frame make-frame-invisible framep x delete-frame make-frame ((window-system . x) (client)) modify-all-frames-parameters ((buffer-predicate . exwm-layout--other-buffer-predicate)) ((window-system . x) (client)) t exwm-workspace--add-frame-as-workspace xcb:flush advice-add x-create-frame :around exwm-workspace--x-create-frame handle-focus-in exwm-workspace--handle-focus-in handle-focus-out exwm-workspace--handle-focus-out add-hook after-make-frame-functions exwm-workspace--on-after-make-frame delete-frame-functions exwm-workspace--on-delete-frame exwm-input--event-hook exwm-workspace--on-echo-area-clear exwm-workspace-switch (exwm-active exwm-outer-id exwm-id exwm-container exwm-geometry exwm-selected-window exwm-urgency fullscreen) :never exwm--connection frameset-filter-alist] 7 (#$ . 52783)]) #@28 Exit the workspace module. (defalias 'exwm-workspace--exit #[0 "\203\306\307 \203 \202\310\311#\210\312 \203\313 \210\314\315\316\"\210\314\317\320\"\210\314\321\322\"\210\323\324\325\"\210\323\326\327\"\210\312 \203>\323\330\331\"\210\332 \211\203W\211@\333!\210\334\335\"\210A\266\202\202A\210\f\205 \211\203p\211@\336\337\f#\210A\266\202\202]\210\312 \203|\336 \337\f#\210\332\211\207" [exwm-debug exwm-debug-log-time-function exwm-workspace--current exwm-workspace--list exwm-workspace--client exwm-workspace--minibuffer xcb-debug:message "%s%s: \n" "" "exwm-workspace--exit" exwm-workspace--minibuffer-own-frame-p exwm-workspace--exit-minibuffer-frame advice-remove x-create-frame exwm-workspace--x-create-frame handle-focus-in exwm-workspace--handle-focus-in handle-focus-out exwm-workspace--handle-focus-out remove-hook after-make-frame-functions exwm-workspace--on-after-make-frame delete-frame-functions exwm-workspace--on-delete-frame exwm-input--event-hook exwm-workspace--on-echo-area-clear nil exwm-workspace--remove-frame-as-workspace modify-frame-parameters ((exwm-selected-window) (exwm-urgency) (exwm-outer-id) (exwm-id) (exwm-container) (fullscreen) (buffer-predicate)) set-frame-parameter client] 6 (#$ . 54918)]) #@65 The second stage in the initialization of the workspace module. (defalias 'exwm-workspace--post-init #[0 "\203\306\307 \203 \202\310\311#\210\n\2032 \211\2031\211@\312\313\314#\210\312\313\315#\210A\266\202\202\210\3162^\317\320\314\321#\211\fB\322\323\324\325\326!\327\"\330$\216 GW\205Z\331\314\332\"\210\202K*\2620\210\314\211\207" [exwm-debug exwm-debug-log-time-function exwm-workspace--client exwm-workspace--list with-timeout-timers exwm-workspace--fullscreen-frame-count xcb-debug:message "%s%s: \n" "" "exwm-workspace--post-init" set-frame-parameter fullscreen nil fullboth #1=#:timeout run-with-timer 1 #[0 "\300\301\211\"\207" [throw #1#] 3] make-byte-code 0 "\301\300!\207" vconcat vector [cancel-timer] 2 accept-process-output 0.1] 7 (#$ . 56182)]) (provide 'exwm-workspace)