;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\300\303!\210\300\304!\210\300\305!\210\300\306!\210\300\307!\210\310\311\312\313\314\315\316\317\320\321\322\323& \210\324\325\326\327\330DD\331\332\333%\210\324\334\326\327\335DD\336\332\333%\210\324\337\326\327\340DD\341\332\333%\210\324\342\326\327\343DD\344\332\333%\210\324\345\326\327\346DD\347\332\350%\210\324\351\326\327\352DD\353\332\354%\207" [require server exwm-core exwm-workspace exwm-layout exwm-floating exwm-manage exwm-input custom-declare-group exwm nil "Emacs X Window Manager." :tag "EXWM" :version "25.3" :group applications :prefix "exwm-" custom-declare-variable exwm-init-hook funcall function #[0 "\300\207" [nil] 1] "Normal hook run when EXWM has just finished initialization." :type hook exwm-exit-hook #[0 "\300\207" [nil] 1] "Normal hook run just before EXWM exits." exwm-update-class-hook #[0 "\300\207" [nil] 1] "Normal hook run when window class is updated." exwm-update-title-hook #[0 "\300\207" [nil] 1] "Normal hook run when window title is updated." exwm-blocking-subrs #[0 "\300\207" [(x-file-dialog x-popup-dialog x-select-font)] 1] "Subrs (primitives) that would normally block EXWM." (repeat function) exwm-replace #[0 "\300\207" [ask] 1] "Whether to replace existing window manager." (radio (const :tag "Ask" ask) (const :tag "Replace by default" t) (const :tag "Do not replace" nil))] 12) #@39 Name of the subordinate Emacs server. (defconst exwm--server-name "server-exwm" (#$ . 1780)) #@42 Process of the subordinate Emacs server. (defvar exwm--server-process nil (#$ . 1879)) #@74 Reset the state of the selected window (non-fullscreen, line-mode, etc). (defalias 'exwm-reset #[0 "\203\302\303 \203 \202\304\305#\210r\306 q\210\307\310!\205,\311 \203&\312 \210\313 \210\314\315!)\207" [exwm-debug exwm-debug-log-time-function xcb-debug:message "%s%s: \n" "" "exwm-reset" window-buffer derived-mode-p exwm-mode exwm-layout--fullscreen-p exwm-layout-unset-fullscreen exwm-layout--refresh call-interactively exwm-input-grab-keyboard] 4 (#$ . 1972) nil]) #@15 Restart EXWM. (defalias 'exwm-restart #[0 "\203\303\304 \203 \202\305\306#\210\307\310\311\"\205p\312\313 !\314\236A\315\236A\314\312!\236A\316U\203<\317\n@!\210\320 \202n\230\203H\320\321!\202n\322\323!\210\324\325!r\211q\210\326\327\330\331\332!\333\"\334$\216\335``#\321U\204_*\210\320 \266\204\207" [exwm-debug exwm-debug-log-time-function command-line-args xcb-debug:message "%s%s: \n" "" "exwm-restart" exwm--confirm-kill-emacs "[EXWM] Restart? " no-check process-attributes emacs-pid args ppid 1 call-process kill-emacs 82 run-hooks kill-emacs-hook generate-new-buffer " *temp*" make-byte-code 0 "\301\300!\205 \302\300!\207" vconcat vector [buffer-name kill-buffer] 2 shell-command-on-region] 11 (#$ . 2458) nil]) #@36 Update _NET_WM_DESKTOP. (fn XWIN) (defalias 'exwm--update-desktop #[257 "\203\306\307 \203 \202\310\311$\210r\211\312\n\"A\262q\210\313 \314 \315\316\317#\"\320#@\320\205\224\321\322\"\262\211\323=\203c\f\203\\ =\204\\\203U\211U\204\\\324\325\f!\"\210\211\211\202\224\211\203\221\211GW\203\221\203|\211U?\202\207\211 \326\"\262U?\203\221\327\"\202\224\330!\266\202)\207" [exwm-debug exwm-debug-log-time-function exwm--id-buffer-alist exwm--connection exwm--floating-frame exwm--frame xcb-debug:message "%s%s: #x%x\n" "" "exwm--update-desktop" assoc xcb:-+reply xcb:-+request-unchecked make-instance xcb:ewmh:get-_NET_WM_DESKTOP :window nil slot-value value 4294967295 exwm-layout--show frame-root-window cl-position exwm-workspace-move-window exwm-workspace--set-desktop exwm-workspace--current exwm--desktop exwm-workspace--list] 9 (#$ . 3210)]) #@54 Update _NET_WM_WINDOW_TYPE. (fn ID &optional FORCE) (defalias 'exwm--update-window-type #[513 "\203\305\306 \203 \202\307\310$\210r\311\n\"A\262q\210 \205%\211??\205F\312\f\313\f\314\315\316#\"\317#@\211\205D\320\321\322\"\317\"\211\262)\207" [exwm-debug exwm-debug-log-time-function exwm--id-buffer-alist exwm-window-type exwm--connection xcb-debug:message "%s%s: #x%x\n" "" "exwm--update-window-type" assoc xcb:-+reply xcb:-+request-unchecked make-instance xcb:ewmh:get-_NET_WM_WINDOW_TYPE :window nil append slot-value value] 10 (#$ . 4115)]) #@43 Update WM_CLASS. (fn ID &optional FORCE) (defalias 'exwm--update-class #[513 "\203\306\307 \203 \202\310\311$\210r\312\n\"A\262q\210 \205)\f\205)\211??\205V\313 \314 \315\316\317#\"\320#@\211\205T\321\322\"\321\323\" \205T\f\205T\324\325!\262)\207" [exwm-debug exwm-debug-log-time-function exwm--id-buffer-alist exwm-instance-name exwm-class-name exwm--connection xcb-debug:message "%s%s: #x%x\n" "" "exwm--update-class" assoc xcb:-+reply xcb:-+request-unchecked make-instance xcb:icccm:get-WM_CLASS :window nil slot-value instance-name class-name run-hooks exwm-update-class-hook] 10 (#$ . 4688)]) #@47 Update _NET_WM_NAME. (fn ID &optional FORCE) (defalias 'exwm--update-utf8-title #[513 "\203\306\307 \203 \202\310\311$\210r\312\n\"A\262q\210\211\204( ?\205J\313\f\314\f\315\316\317#\"\320#@\211\205H\321\322\"\211\205H\323\324\325!\262)\207" [exwm-debug exwm-debug-log-time-function exwm--id-buffer-alist exwm-title exwm--connection exwm--title-is-utf8 xcb-debug:message "%s%s: #x%x\n" "" "exwm--update-utf8-title" assoc xcb:-+reply xcb:-+request-unchecked make-instance xcb:ewmh:get-_NET_WM_NAME :window nil slot-value value t run-hooks exwm-update-title-hook] 11 (#$ . 5319)]) #@42 Update WM_NAME. (fn ID &optional FORCE) (defalias 'exwm--update-ctext-title #[513 "\203\306\307 \203 \202\310\311$\210r\312\n\"A\262q\210 \206)\f\205)\211??\205M\313 \314 \315\316\317#\"\320#@\211\205K\321\322\"\211\205K\323\324!\262)\207" [exwm-debug exwm-debug-log-time-function exwm--id-buffer-alist exwm--title-is-utf8 exwm-title exwm--connection xcb-debug:message "%s%s: #x%x\n" "" "exwm--update-ctext-title" assoc xcb:-+reply xcb:-+request-unchecked make-instance xcb:icccm:get-WM_NAME :window nil slot-value value run-hooks exwm-update-title-hook] 11 (#$ . 5927)]) #@42 Update _NET_WM_NAME or WM_NAME. (fn ID) (defalias 'exwm--update-title #[257 "\203\302\303 \203 \202\304\305$\210\306!\210\307!\207" [exwm-debug exwm-debug-log-time-function xcb-debug:message "%s%s: #x%x\n" "" "exwm--update-title" exwm--update-utf8-title exwm--update-ctext-title] 6 (#$ . 6528)]) #@51 Update WM_TRANSIENT_FOR. (fn ID &optional FORCE) (defalias 'exwm--update-transient-for #[513 "\203\305\306 \203 \202\307\310$\210r\311\n\"A\262q\210 \205%\211??\205C\312\f\313\f\314\315\316#\"\317#@\211\205A\320\321\"\211\262)\207" [exwm-debug exwm-debug-log-time-function exwm--id-buffer-alist exwm-transient-for exwm--connection xcb-debug:message "%s%s: #x%x\n" "" "exwm--update-transient-for" assoc xcb:-+reply xcb:-+request-unchecked make-instance xcb:icccm:get-WM_TRANSIENT_FOR :window nil slot-value value] 10 (#$ . 6842)]) #@50 Update WM_NORMAL_HINTS. (fn ID &optional FORCE) (defalias 'exwm--update-normal-hints #[513 "\203\306\307 \203 \202\310\311$\210r\312\n\"A\262q\210\211?\205F \206F\f\206F \206F\206F \206F!\206F\"\206F#?\205\313$\314$\315\316\317#\"\320#@\211\205\321\322\"\205\211\323\321\322\"%\"\324U\204}\321\325\"\321\326\"\323\321\322\"&\"\324U\204\225\321\327\"\321\330\"\323\321\322\"'\"\324U\204\256\321\331\" \321\332\"!\323\321\322\"(\"\324U\204\307\321\333\"\"\321\334\"# \204\345\323\321\322\")\"\324U\204\345\321\335\" \321\336\"! \205!\205\"\205#\205 \324U?\205!\324U?\205 \"U\205!#U\211*\262\262)\207" [exwm-debug exwm-debug-log-time-function exwm--id-buffer-alist exwm--normal-hints-x exwm--normal-hints-y exwm--normal-hints-width xcb-debug:message "%s%s: #x%x\n" "" "exwm--update-normal-hints" assoc xcb:-+reply xcb:-+request-unchecked make-instance xcb:icccm:get-WM_NORMAL_HINTS :window nil slot-value flags logand 0 x y width height min-width min-height max-width max-height base-width base-height exwm--normal-hints-height exwm--normal-hints-min-width exwm--normal-hints-min-height exwm--normal-hints-max-width exwm--normal-hints-max-height exwm--connection xcb:icccm:WM_SIZE_HINTS:USPosition xcb:icccm:WM_SIZE_HINTS:USSize xcb:icccm:WM_SIZE_HINTS:PMinSize xcb:icccm:WM_SIZE_HINTS:PMaxSize xcb:icccm:WM_SIZE_HINTS:PBaseSize exwm--fixed-size] 10 (#$ . 7399)]) #@43 Update WM_HINTS. (fn ID &optional FORCE) (defalias 'exwm--update-hints #[513 "\203\306\307 \203 \202\310\311$\210r\312\n\"A\262q\210\211?\205) \205)\f?\205\257\313 \314 \315\316\317#\"\320#@\211\205\255\321\322\"\205\255\211\321\322\"\203\213\323\321\322\"\"\324U\204i\321\325\"\205h\321\325\"\326U\323\321\322\"\"\324U\204|\321\327\"\323\321\322\"\"\324U\204\213\330\210\f\205\255 !=?\205\255\331 \332\"?\205\255\333 \332\330#\210\330\211\"\262)\207" [exwm-debug exwm-debug-log-time-function exwm--id-buffer-alist exwm--hints-input exwm--hints-urgency exwm--connection xcb-debug:message "%s%s: #x%x\n" "" "exwm--update-hints" assoc xcb:-+reply xcb:-+request-unchecked make-instance xcb:icccm:get-WM_HINTS :window nil slot-value flags logand 0 input 1 initial-state t frame-parameter exwm-urgency set-frame-parameter xcb:icccm:WM_HINTS:InputHint xcb:icccm:WM_HINTS:StateHint exwm-state xcb:icccm:WM_HINTS:UrgencyHint exwm--frame exwm-workspace--current exwm-workspace--switch-history-outdated] 10 (#$ . 8869)]) #@47 Update WM_PROTOCOLS. (fn ID &optional FORCE) (defalias 'exwm--update-protocols #[513 "\203\305\306 \203 \202\307\310$\210r\311\n\"A\262q\210 \205%\211??\205F\312\f\313\f\314\315\316#\"\317#@\211\205D\320\321\322\"\317\"\211\262)\207" [exwm-debug exwm-debug-log-time-function exwm--id-buffer-alist exwm--protocols exwm--connection xcb-debug:message "%s%s: #x%x\n" "" "exwm--update-protocols" assoc xcb:-+reply xcb:-+request-unchecked make-instance xcb:icccm:get-WM_PROTOCOLS :window nil append slot-value value] 10 (#$ . 9938)]) #@32 Update _NET_WM_STRUT. (fn ID) (defalias 'exwm--update-struts-legacy #[257 "\203\305\306 \203 \202\307\310$\210\211\n\236\311\211\205\"\312AGW?\205k\313 \314 \315\316\317\n#\"\311#@\262\203T\320\321\"\262\203K\241\210\202QB\nB\322 \210\323 \210\f\211\205i\211@\324!\210A\266\202\202X\262\207" [exwm-debug exwm-debug-log-time-function exwm-workspace--id-struts-alist exwm--connection exwm-workspace--list xcb-debug:message "%s%s: #x%x\n" "" "exwm--update-struts-legacy" nil 4 xcb:-+reply xcb:-+request-unchecked make-instance xcb:ewmh:get-_NET_WM_STRUT :window slot-value value exwm-workspace--update-struts exwm-workspace--update-workareas exwm-workspace--set-fullscreen] 12 (#$ . 10493)]) #@40 Update _NET_WM_STRUT_PARTIAL. (fn ID) (defalias 'exwm--update-struts-partial #[257 "\203\305\306 \203 \202\307\310$\210\311\n\312\n\313\314\315#\"\316#@\316\211\203G\317\320\"\262 \236\262\211\203>\211\241\210\202DB B\321 \210\322 \210\f\211\205\\\211@\323!\210A\266\202\202K\262\207" [exwm-debug exwm-debug-log-time-function exwm--connection exwm-workspace--id-struts-alist exwm-workspace--list xcb-debug:message "%s%s: #x%x\n" "" "exwm--update-struts-partial" xcb:-+reply xcb:-+request-unchecked make-instance xcb:ewmh:get-_NET_WM_STRUT_PARTIAL :window nil slot-value value exwm-workspace--update-struts exwm-workspace--update-workareas exwm-workspace--set-fullscreen] 9 (#$ . 11221)]) #@57 Update _NET_WM_STRUT_PARTIAL or _NET_WM_STRUT. (fn ID) (defalias 'exwm--update-struts #[257 "\203\302\303 \203 \202\304\305$\210\306!\210\307!\207" [exwm-debug exwm-debug-log-time-function xcb-debug:message "%s%s: #x%x\n" "" "exwm--update-struts" exwm--update-struts-partial exwm--update-struts-legacy] 6 (#$ . 11944)]) #@51 Handle PropertyNotify event. (fn DATA SYNTHETIC) (defalias 'exwm--on-PropertyNotify #[514 "\306\307!\310\211\211\311\"\210\312\313\"\262\312\314\"\262\2032\315\316 \203' \202(\317\320\321\n\"%\210\322 \"A\262\262\323!\204Z\fU\203N\324!\202\361 U\205\361\325!\202\361r\211q\210 U\203l\326\327\"\202\360!U\203z\330\327\"\202\360\"U\203\210\331\327\"\202\360#U\203\226\332\327\"\202\360$U\203\244\333\327\"\202\360%U\203\262\334\327\"\202\360&U\203\300\335\327\"\202\360'U\203\316\336\327\"\202\360(U\206\360\205\360\315\337 \203\344 \202\345\317\320\321\n\"%\210\310)\207" [exwm-debug exwm-debug-log-time-function exwm-workspace--current exwm--id-buffer-alist xcb:Atom:_NET_WM_STRUT xcb:Atom:_NET_WM_STRUT_PARTIAL make-instance xcb:PropertyNotify nil xcb:unmarshal slot-value window atom xcb-debug:message "%s%s: atom=%s(%s)\n" "" "exwm--on-PropertyNotify" x-get-atom-name assoc buffer-live-p exwm--update-struts-legacy exwm--update-struts-partial exwm--update-window-type t exwm--update-class exwm--update-utf8-title exwm--update-ctext-title exwm--update-transient-for exwm--update-normal-hints exwm--update-hints exwm--update-protocols "%s%s: Unhandled: %s(%d)\n" xcb:Atom:_NET_WM_WINDOW_TYPE xcb:Atom:WM_CLASS xcb:Atom:_NET_WM_NAME xcb:Atom:WM_NAME xcb:Atom:WM_TRANSIENT_FOR xcb:Atom:WM_NORMAL_HINTS xcb:Atom:WM_HINTS xcb:Atom:WM_PROTOCOLS xcb:Atom:_NET_WM_USER_TIME] 13 (#$ . 12282)]) #@54 Handle ClientMessage event. (fn RAW-DATA SYNTHETIC) (defalias 'exwm--on-ClientMessage #[514 "\306\307!\310\211\211\311\"\210\312\313\"\262\312\314\"\262\312\211\315\"\316\"\262\203;\317\320 \2030 \2021\321\322\323\n\"%\210 U\203o\fG\324\234W\203Q\325 \202jV\205j\326V\205j\327\f!@\330!\210\331!\262\266\202\202\256 U\203}\332\324\234!\202\256@U\203\327\333A\"A\262\310\211\334!\205\322rq\210B\n=\205\321,\203\254\335,!\202\321\336 \262\203\274\337\340B!p\"\210\341\310\342\"\262\204\316\211\343 =?\205\321\344!)\266\203\202\256CU\203\333A\"A\262\334!\205\376\345\346\347 \206\367\350\324!!\324\\\310\351$\262\202\256DU\203\274\211\352\234\333A\"A\262\211\205\353\354\"??\205\267EU\206\267FU\206\267GU\203=\355 \202\267\211\204p\3562m\f\211\203j\211@\357\360\"=\204^\357\361\"=\203c\362\356\342\"\210A\266\202\202F\210\3100\206\267\211\204\263\3562\262A\211\205\257\211@r\211Aq\210,\203\247\357,\360\"=\204\236\357,\361\"=\203\247H\262\362\356\310\"\210)A\266\202\202z\2620\210\363\"\266\202\202\256IU\203\333A\"A\262\310\211\203\331\353\354\"\204\342\324\262\324\262\202\352\364 \262\365 \262\366J\306\367\370 \371\324\372\324\373\f\374 & \"\266\375J!\202\256KU\203)\333A\"A\262\334!\205$\376\324\234\"\262\202\256LU\203!\211\324\234\326\234\352\234D\333A\"A\262\310\204oM>\203oNU\203o\366J\306\377\370\n\201Y\201ZM!%\"\210\375J!\210\205rq\210M>\204\205O>\203\340NU\203\243\201[ \204\232\201\\!\210MB\262\202\340PU\203\273\201[ \203\340\201]!\210\202\340QU\203\340\201[ \203\323\201]!\210\202\340\201\\!\210MB\262R>\203NU\203B\n=\204\201^B\201_\342#\210\342S\366J\306\377\370\n\201Y\201`!%\"\210\375J!)\266\204\202\256TU\203U\211\324\234\211UU\2039\310\211V\202P\205P\317\201a \203J \202K\321\322$\210\310\262\202\256WU\203\221\333A\"A\262\334!\205\214\324\234XU\205\214r\211q\210,\203\207\201b\201c!\202\213\201d )\262\202\256\205\256\317\201e \203\242 \202\243\321\322\323\n\"%\210\310\207" [exwm-debug exwm-debug-log-time-function exwm-workspace--current xcb:Atom:_NET_NUMBER_OF_DESKTOPS exwm-workspace--list xcb:Atom:_NET_CURRENT_DESKTOP make-instance xcb:ClientMessage nil xcb:unmarshal slot-value type window data data32 xcb-debug:message "%s%s: atom=%s(%s)\n" "" "exwm--on-ClientMessage" x-get-atom-name 0 make-frame 1 last exwm-workspace--get-remove-frame-next-workspace delete-frame exwm-workspace-switch assoc buffer-live-p select-frame exwm-layout--iconic-state-p set-window-buffer frame-selected-window get-buffer-window t selected-window select-window run-with-idle-timer float-time current-idle-time seconds-to-time kill-buffer 2 buffer-local-value exwm--floating-frame exwm-floating--stop-moveresize break frame-parameter exwm-outer-id exwm-id throw exwm-floating--start-moveresize window-header-line-height window-mode-line-height xcb:-+request xcb:ewmh:set-_NET_FRAME_EXTENTS :window :left :right :top :bottom xcb:flush exwm-workspace-move-window xcb:ewmh:set-_NET_WM_STATE xcb:Atom:_NET_ACTIVE_WINDOW exwm--id-buffer-alist exwm--frame xcb:Atom:_NET_CLOSE_WINDOW xcb:Atom:_NET_WM_MOVERESIZE xcb:ewmh:_NET_WM_MOVERESIZE_SIZE_KEYBOARD xcb:ewmh:_NET_WM_MOVERESIZE_MOVE_KEYBOARD xcb:ewmh:_NET_WM_MOVERESIZE_CANCEL exwm--id xcb:Atom:_NET_REQUEST_FRAME_EXTENTS exwm--connection xcb:Atom:_NET_WM_DESKTOP xcb:Atom:_NET_WM_STATE xcb:Atom:_NET_WM_STATE_FULLSCREEN xcb:ewmh:_NET_WM_STATE_ADD xcb:Atom:_NET_WM_STATE_ABOVE xcb:ewmh:_NET_WM_STATE_REMOVE xcb:ewmh:_NET_WM_STATE_TOGGLE xcb:Atom:_NET_WM_STATE_DEMANDS_ATTENTION exwm-workspace--switch-history-outdated xcb:Atom:WM_PROTOCOLS xcb:Atom:_NET_WM_PING exwm-manage--ping-lock xcb:Atom:WM_CHANGE_STATE xcb:icccm:WM_STATE:IconicState :data vector exwm-layout--fullscreen-p exwm-layout-set-fullscreen exwm-layout-unset-fullscreen set-frame-parameter exwm-urgency vconcat "%s%s: Unhandled WM_PROTOCOLS of type: %d\n" call-interactively exwm-floating-hide bury-buffer "%s%s: Unhandled: %s(%d)\n"] 23 (#$ . 13758)]) #@52 Handle SelectionClear events. (fn DATA SYNTHETIC) (defalias 'exwm--on-SelectionClear #[514 "\203\304\305 \203 \202\306\307#\210\310\311!\312\211\313\"\210\314\315\"\262\314\316\"\262\n=\2058\211 =\2058\317 \207" [exwm-debug exwm-debug-log-time-function exwm--wmsn-window xcb:Atom:WM_S0 xcb-debug:message "%s%s: \n" "" "exwm--on-SelectionClear" make-instance xcb:SelectionClear nil xcb:unmarshal slot-value owner selection exwm-exit] 8 (#$ . 17940)]) #@32 Initialize ICCCM/EWMH support. (defalias 'exwm--init-icccm-ewmh #[0 "\203\306\307 \203 \202\310\311#\210\312\n\313\314#\210\312\n\315\316#\210\312\n\317\320#\210\321\n\322\323\324 \325\326\f ./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWX&-%\"\210\327\n!\211Y\321\n\322\330\331\332\333\334 \335\336\337\336\340\341\342\341\343\332\344Z\345\332\346[\347\341&\"\210\321\n\322\350\324\325\351%\"\210 D\211\203\332\211@\321\n\322\352\324\325 %\"\210A\266\202\202\301\266\321\n\322\353\324 \325\354%\"\210\355\n!\207" [exwm-debug exwm-debug-log-time-function exwm--connection exwm--root xcb:Atom:_NET_SUPPORTED xcb:Atom:_NET_CLIENT_LIST xcb-debug:message "%s%s: \n" "" "exwm--init-icccm-ewmh" xcb:+event xcb:PropertyNotify exwm--on-PropertyNotify xcb:ClientMessage exwm--on-ClientMessage xcb:SelectionClear exwm--on-SelectionClear xcb:-+request make-instance xcb:ewmh:set-_NET_SUPPORTED :window :data vector xcb:generate-id xcb:CreateWindow :depth 0 :wid :parent :x -1 :y :width 1 :height :border-width :class :visual :value-mask :override-redirect xcb:ewmh:set-_NET_WM_NAME "EXWM" xcb:ewmh:set-_NET_SUPPORTING_WM_CHECK xcb:ewmh:set-_NET_DESKTOP_VIEWPORT [0 0] xcb:flush xcb:Atom:_NET_CLIENT_LIST_STACKING xcb:Atom:_NET_NUMBER_OF_DESKTOPS xcb:Atom:_NET_DESKTOP_GEOMETRY xcb:Atom:_NET_DESKTOP_VIEWPORT xcb:Atom:_NET_CURRENT_DESKTOP xcb:Atom:_NET_ACTIVE_WINDOW xcb:Atom:_NET_SUPPORTING_WM_CHECK xcb:Atom:_NET_CLOSE_WINDOW xcb:Atom:_NET_WM_MOVERESIZE xcb:Atom:_NET_REQUEST_FRAME_EXTENTS xcb:Atom:_NET_WM_NAME xcb:Atom:_NET_WM_DESKTOP xcb:Atom:_NET_WM_WINDOW_TYPE xcb:Atom:_NET_WM_WINDOW_TYPE_DOCK xcb:Atom:_NET_WM_WINDOW_TYPE_TOOLBAR xcb:Atom:_NET_WM_WINDOW_TYPE_MENU xcb:Atom:_NET_WM_WINDOW_TYPE_UTILITY xcb:Atom:_NET_WM_WINDOW_TYPE_SPLASH xcb:Atom:_NET_WM_WINDOW_TYPE_DIALOG xcb:Atom:_NET_WM_WINDOW_TYPE_DROPDOWN_MENU xcb:Atom:_NET_WM_WINDOW_TYPE_POPUP_MENU xcb:Atom:_NET_WM_WINDOW_TYPE_TOOLTIP xcb:Atom:_NET_WM_WINDOW_TYPE_NOTIFICATION xcb:Atom:_NET_WM_WINDOW_TYPE_COMBO xcb:Atom:_NET_WM_WINDOW_TYPE_DND xcb:Atom:_NET_WM_WINDOW_TYPE_NORMAL xcb:Atom:_NET_WM_STATE xcb:Atom:_NET_WM_STATE_HIDDEN xcb:Atom:_NET_WM_STATE_FULLSCREEN xcb:Atom:_NET_WM_STATE_DEMANDS_ATTENTION xcb:Atom:_NET_WM_ALLOWED_ACTIONS xcb:Atom:_NET_WM_ACTION_MOVE xcb:Atom:_NET_WM_ACTION_RESIZE xcb:Atom:_NET_WM_ACTION_MINIMIZE xcb:Atom:_NET_WM_ACTION_FULLSCREEN xcb:Atom:_NET_WM_ACTION_CHANGE_DESKTOP xcb:Atom:_NET_WM_ACTION_CLOSE xcb:Atom:_NET_WM_STRUT xcb:Atom:_NET_WM_STRUT_PARTIAL xcb:Atom:_NET_WM_PID xcb:Atom:_NET_FRAME_EXTENTS xcb:Atom:_NET_WM_PING xcb:Atom:_NET_WM_FULL_PLACEMENT exwm--guide-window xcb:WindowClass:InputOnly xcb:CW:OverrideRedirect] 53 (#$ . 18415)]) #@177 Acquire the WM_Sn selection. REPLACE specifies what to do in case there already is a window manager. If t, replace it, if nil, abort and ask the user if `ask'. (fn REPLACE) (defalias 'exwm--wmsn-acquire #[257 "\203\306\307 \203 \202\310\311$\210\312\n\313\n\314\315\316 #\"\317#@\320\321\"\fU\204=\322=\2035\323\324!\262\204=\325\326!\210\327\n!\330\n\314\331\332\333\334\335 \336\337\340\337\341\342\343\342\344\333\345@\346\333\347\333\350\333&\"\210\330\n\314\351\352\353\354%\"\210\355\n\356\n\314\357\316 \360 \361A&\"\"\210\312\n\313\n\314\315\316 #\"\317#@\320\321\"=\204\232\362\363!\210\210\320\321\"\fU\204\355\317\3642\343B\333\211W\205\340\211\312\n\313\n\314\365\366\320 \321\"#\"\317#@\262\204\317\367\364\317\"\210\370\371\"\210\372\342!\266\211T\262\202\254\266\2020\210\211\203\354\362\373!\210\210\314\374\375\376A \333\211%#\314\377\352 \201F\201G\201HC\353 & \314\201I\201J\333\201K \201LD\201M\201N\n\n\"& \330\n\"\266\211\211E\262\207" [exwm-debug exwm-debug-log-time-function exwm--connection xcb:Atom:WM_S0 xcb:Window:None exwm--root xcb-debug:message "%s%s: %s\n" "" "exwm--wmsn-acquire" xcb:-+reply xcb:-+request-unchecked make-instance xcb:GetSelectionOwner :selection nil slot-value owner ask yes-or-no-p "Replace existing window manager? " user-error "Other window manager detected" xcb:generate-id xcb:-+request xcb:CreateWindow :depth 0 :wid :parent :x -1 :y :width 1 :height :border-width :class :visual :value-mask :override-redirect xcb:ewmh:set-_NET_WM_NAME :window :data "EXWM: exwm--wmsn-window" xcb:-request-check xcb:-+request-checked xcb:SetSelectionOwner :owner :time error "Could not acquire ownership of WM selection" --cl-block-nil-- xcb:GetGeometry :drawable throw message "Waiting for other window manager to quit... %ds" sleep-for "Other window manager did not release selection in time" xcb:ClientMessageData :data32 vector xcb:ClientMessage xcb:WindowClass:CopyFromParent xcb:Time:CurrentTime exwm--wmsn-acquire-timeout xcb:Atom:MANAGER xcb:EventMask:NoEvent exwm--wmsn-window :format 32 :type xcb:SendEvent :propagate :destination :event-mask :event xcb:marshal] 31 (#$ . 21121)]) #@40 Initialize EXWM. (fn &optional FRAME) (defalias 'exwm-init #[256 "\3062\337\203\307\310 \203 \202\311\312$\210\211\203#\313!\210\202'\314 \262\315!\316=\2048\317\320!\210\321\306\322\"\210\n\203T\203O\307\323 \203K \202L\311\312#\210\321\306\322\"\210\3241\322\3251\313\326\327!\210\330 \331\332\n\333\"\322\"\210\332\211\334\n!\335\"@\336\"\337\n\340\"\210\341\n\340\"\210\342\f!\210\343\n\344\n\345\346\347 \350 \351=&\"\"\203\234\352\353!\210\322>\354?\355 \210\356 \210\357 \210\360 \210\361 \210\362 \210\363 \210\364 \210\365 \210\366 \210\367\370!\210\371 00\202\3360\322\262\202\336\372 \210\373\374@A#\2620\207" [exwm-debug exwm-debug-log-time-function exwm--connection exwm--root exwm-replace xcb:CW:EventMask --cl-block-exwm-init-- xcb-debug:message "%s%s: %s\n" "" "exwm-init" select-frame-set-input-focus selected-frame framep x message "[EXWM] Not running under X environment" throw nil "%s%s: EXWM already running\n" (quit error) (user-error) exwm-enable undo xcb:connect set-process-query-on-exit-flag slot-value process xcb:get-setup roots root xcb:icccm:init t xcb:ewmh:init exwm--wmsn-acquire xcb:-request-check xcb:-+request-checked make-instance xcb:ChangeWindowAttributes :window :value-mask :event-mask error "Other window manager is running" exwm--confirm-kill-emacs exwm--lock exwm--init-icccm-ewmh exwm-layout--init exwm-floating--init exwm-manage--init exwm-workspace--init exwm-input--init exwm--unlock exwm-workspace--post-init exwm-input--post-init run-hooks exwm-init-hook exwm-manage--scan exwm-exit warn "[EXWM] EXWM fails to start (%s: %s)" xcb:EventMask:SubstructureRedirect use-dialog-box confirm-kill-emacs] 13 (#$ . 23323) nil]) #@12 Exit EXWM. (defalias 'exwm-exit #[0 "\203\304\305 \203 \202\306\307#\210\310\311!\210\312\313 \210\314 \210\315 \210\316 \210\317 \210 \2034\320 !\210\321 !\210\312\211\207" [exwm-debug exwm-debug-log-time-function confirm-kill-emacs exwm--connection xcb-debug:message "%s%s: \n" "" "exwm-exit" run-hooks exwm-exit-hook nil exwm-input--exit exwm-manage--exit exwm-workspace--exit exwm-floating--exit exwm-layout--exit xcb:flush xcb:disconnect] 4 (#$ . 25034) nil]) #@43 Enable/Disable EXWM. (fn &optional UNDO) (defalias 'exwm-enable #[256 "\203\306\307 \203 \202\310\311$\210\211\312=\203$\313\314\315\"\210\313\316\315\"\207\211\317=\203M\313\314\315\"\210\313\316\315\"\210\313\320\321\"\210\n\211\205L\211@\322\323\"\210A\266\202\202:\207\324\211\325 B\326\314\315\324#\210\326\316\315\324#\210\326\320\321\"\210\n\211\205z\211@\327\330\323#\210A\266\202\202g\207" [exwm-debug exwm-debug-log-time-function exwm-blocking-subrs frame-resize-pixelwise window-resize-pixelwise command-line-functions xcb-debug:message "%s%s: %s\n" "" "exwm-enable" undo remove-hook window-setup-hook exwm-init after-make-frame-functions undo-all kill-emacs-hook exwm--server-stop advice-remove exwm--server-eval-at t vector add-hook advice-add :around] 8 (#$ . 25516)]) #@36 Stop the subordinate Emacs server. (defalias 'exwm--server-stop #[0 "\203\304\305 \203 \202\306\307#\210\310\n!\210 \205\"\311 !\210\312\211\207" [exwm-debug exwm-debug-log-time-function exwm--server-name exwm--server-process xcb-debug:message "%s%s: \n" "" "exwm--server-stop" server-force-delete delete-process nil] 4 (#$ . 26328)]) #@68 Wrapper of `server-eval-at' used to advice subrs. (fn &rest ARGS) (defalias 'exwm--server-eval-at #[128 "\203\305\306 \203 \202\307\310$\210\311\n!\204B \203\"\312 !\210\313\n\314\f@\315\316\314\317\"\320\321\nP\322\323& \311\n!\204B\324\325!\210\2025\326\n\327\330\331\332\333\334@!!CA\244DC\335BBE\"\207" [exwm-debug exwm-debug-log-time-function exwm--server-name exwm--server-process command-line-args xcb-debug:message "%s%s: %s\n" "" "exwm--server-eval-at" server-running-p delete-process start-process nil "-d" frame-parameter display "-Q" "--daemon=" "--eval" "(make-frame '((window-system . x) (visibility)))" sit-for 0.001 server-eval-at progn (select-frame (car (frame-list))) let result make-symbol subr-name ((pcase (type-of result) (`buffer (buffer-name result)) ((or `font-entity `font-object `font-spec) (font-xlfd-name result)) ((or `compiled-function `finalizer `frame `hash-table `marker `overlay `process `window `window-configuration)) (`subr (make-symbol (subr-name result))) (t result)))] 11 (#$ . 26679)]) #@60 Confirm before exiting Emacs. (fn PROMPT &optional FORCE) (defalias 'exwm--confirm-kill-emacs #[513 "\203\305\306 \203 \202\307\310#\210\211\203\211\311=\203U\211\311=\204'\n\204J\31225\313 \314C\"\315 )0\211\312=\203A\316!\202E\211\211\262\262\202R\317\320\321\nG#!\205t\322\f>\203j\323\322\f\"\324\304!\210\322C\202p\324\304!\210\325\326 \210\327\207" [exwm-debug exwm-debug-log-time-function exwm--id-buffer-alist kill-emacs-query-functions kill-emacs-hook xcb-debug:message "%s%s: \n" "" "exwm--confirm-kill-emacs" no-check break append #[0 "\300\301\211\"\207" [throw break] 3] save-buffers-kill-emacs y-or-n-p yes-or-no-p format "[EXWM] %d window(s) will be destroyed. %s" server-force-stop delq run-hooks nil exwm-exit t] 7 (#$ . 27733)]) (provide 'exwm)