;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\302\303\304\305\306\307\310\311&\210\312\313\314\315\316DD\317\320\321%\210\312\322\314\315\323DD\324\320\325%\210\312\326\314\315\327DD\330\320\331%\210\312\332\314\315\333DD\334\320\335\336\337\340\341& \207" [require exwm-core custom-declare-group exwm-manage nil "Manage." :version "25.3" :group exwm custom-declare-variable exwm-manage-finish-hook funcall function #[0 "\300\207" [nil] 1] "Normal hook run after a window is just managed, in the context of the\ncorresponding buffer." :type hook exwm-manage-force-tiling #[0 "\300\207" [nil] 1] "Non-nil to force managing all X windows in tiling layout.\nYou can still make the X windows floating afterwards." boolean exwm-manage-ping-timeout #[0 "\300\207" [3] 1] "Seconds to wait before killing a client." integer exwm-manage-configurations #[0 "\300\207" [nil] 1] "Per-application configurations.\n\nConfiguration options allow to override various default behaviors of EXWM\nand only take effect when they are present. Note for certain options\nspecifying nil is not exactly the same as leaving them out. Currently\npossible choices:\n* floating: Force floating (non-nil) or tiling (nil) on startup.\n* x/y/width/height: Override the initial geometry (floating X window only).\n* border-width: Override the border width (only visible when floating).\n* fullscreen: Force full screen (non-nil) on startup.\n* floating-mode-line: `mode-line-format' used when floating.\n* tiling-mode-line: `mode-line-format' used when tiling.\n* floating-header-line: `header-line-format' used when floating.\n* tiling-header-line: `header-line-format' used when tiling.\n* char-mode: Force char-mode (non-nil) on startup.\n* prefix-keys: `exwm-input-prefix-keys' local to this X window.\n* simulation-keys: `exwm-input-simulation-keys' local to this X window.\n* workspace: The initial workspace.\n* managed: Force to manage (non-nil) or not manage (nil) the X window.\n\nFor each X window managed for the first time, matching criteria (sexps) are\nevaluated sequentially and the first configuration with a non-nil matching\ncriterion would be applied. Apart from generic forms, one would typically\nwant to match against EXWM internal variables such as `exwm-title',\n`exwm-class-name' and `exwm-instance-name'." (alist :key-type (sexp :tag "Matching criterion" nil) :value-type (plist :tag "Configurations" :options (((const :tag "Floating" floating) boolean) ((const :tag "X" x) number) ((const :tag "Y" y) number) ((const :tag "Width" width) number) ((const :tag "Height" height) number) ((const :tag "Border width" border-width) integer) ((const :tag "Fullscreen" fullscreen) boolean) ((const :tag "Floating mode-line" floating-mode-line) sexp) ((const :tag "Tiling mode-line" tiling-mode-line) sexp) ((const :tag "Floating header-line" floating-header-line) sexp) ((const :tag "Tiling header-line" tiling-header-line) sexp) ((const :tag "Char-mode" char-mode) boolean) ((const :tag "Prefix keys" prefix-keys) (repeat key-sequence)) ((const :tag "Simulation keys" simulation-keys) (alist :key-type (key-sequence :tag "From") :value-type (key-sequence :tag "To"))) ((const :tag "Workspace" workspace) integer) ((const :tag "Managed" managed) boolean) ((other) sexp)))) :get #[257 "\300\301\302!\"\207" [mapcar #[257 "\211@A\300\301\"\211\203\302!\262\303\301\304\305\"#\262B\207" [plist-get prefix-keys copy-tree plist-put mapcar #[257 "\300!\203\207\301!\207" [sequencep vector] 3 "\n\n(fn I)"]] 10 "\n\n(fn PAIR)"] default-value] 5 "\n\n(fn SYMBOL)"] :set #[514 "\300\301\"L\207" [mapcar #[257 "\211@A\300\301\"\211\203\302!\262\303\301\304\305\"#\262B\207" [plist-get prefix-keys copy-tree plist-put mapcar #[257 "\300!\203\n\211\301H\207\207" [sequencep 0] 3 "\n\n(fn I)"]] 10 "\n\n(fn PAIR)"]] 6 "\n\n(fn SYMBOL VALUE)"]] 10) (defconst exwm-manage--height-delta-min 5) (defconst exwm-manage--width-delta-min 5) #@23 _MOTIF_WM_HINTS atom. (defvar exwm-manage--_MOTIF_WM_HINTS nil (#$ . 4329)) #@23 The desktop X window. (defvar exwm-manage--desktop nil (#$ . 4411)) #@42 List of window-outer-id's of all frames. (defvar exwm-manage--frame-outer-id-list nil (#$ . 4485)) #@45 Non-nil indicates EXWM is pinging a window. (defvar exwm-manage--ping-lock nil (#$ . 4590)) #@50 Update window geometry. (fn ID &optional FORCE) (defalias 'exwm-manage--update-geometry #[513 "\203\305\306 \203 \202\307\310$\210r\311\n\"A\262q\210 \205%\211??\205Q\312\f\313\f\314\315\316#\"\317#@\211\206M\314\320\321\322\323\322\324\325 \326\245\327\330 \326\245& \211\262)\207" [exwm-debug exwm-debug-log-time-function exwm--id-buffer-alist exwm--geometry exwm--connection xcb-debug:message "%s%s: id=#x%x\n" "" "exwm-manage--update-geometry" assoc xcb:-+reply xcb:-+request-unchecked make-instance xcb:GetGeometry :drawable nil xcb:RECTANGLE :x 0 :y :width x-display-pixel-width 2 :height x-display-pixel-height] 14 (#$ . 4688)]) #@32 Update _NET_WM_STATE. (fn ID) (defalias 'exwm-manage--update-ewmh-state #[257 "\203\305\306 \203 \202\307\310$\210r\211\311\n\"A\262q\210 ?\205A\312\f\313\f\314\315\316#\"\317#@\211\205?\320\321\322\"\317\"\211\262)\207" [exwm-debug exwm-debug-log-time-function exwm--id-buffer-alist exwm--ewmh-state exwm--connection xcb-debug:message "%s%s: id=#x%x\n" "" "exwm-manage--update-ewmh-state" assoc xcb:-+reply xcb:-+request-unchecked make-instance xcb:ewmh:get-_NET_WM_STATE :window nil append slot-value value] 9 (#$ . 5350)]) #@50 Update _MOTIF_WM_HINTS. (fn ID &optional FORCE) (defalias 'exwm-manage--update-mwm-hints #[513 "\203\306\307 \203 \202\310\311$\210r\312\n\"A\262q\210 ?\205&\211??\205{\313\f\314\f\315\316\317\320 \321 \322\323& \"\324#@\211\205y\211\211\325\326\327\330\326\"\324\"#\266\330\326\"\205w\331\330\326\"\332\234\333\"\332U?\205w\330\326\"\333\234\332U\205w\324\211\262\262)\207" [exwm-debug exwm-debug-log-time-function exwm--id-buffer-alist exwm--mwm-hints-decorations exwm--connection exwm-manage--_MOTIF_WM_HINTS xcb-debug:message "%s%s: id=#x%x\n" "" "exwm-manage--update-mwm-hints" assoc xcb:-+reply xcb:-+request-unchecked make-instance xcb:icccm:-GetProperty :window :property :type :long-length 5 nil eieio-oset value append slot-value logand 0 2] 16 (#$ . 5901)]) #@23 Set _NET_CLIENT_LIST. (defalias 'exwm-manage--set-client-list #[0 "\203\305\306 \203 \202\307\310#\210\311\n\312\313\314 \315\316\317\320\f\"!%\"\207" [exwm-debug exwm-debug-log-time-function exwm--connection exwm--root exwm--id-buffer-alist xcb-debug:message "%s%s: \n" "" "exwm-manage--set-client-list" xcb:-+request make-instance xcb:ewmh:set-_NET_CLIENT_LIST :window :data vconcat mapcar car] 11 (#$ . 6707)]) #@42 Retrieve configurations for this buffer. (defalias 'exwm-manage--get-configurations #[0 "\3032N\203\304\305 \203 \202\306\307#\210\310\311!\205M\n\211\205K\211@r\31212\313@\314\"0\202:\315\316\"\210\317\262\203C\320\303A\"\210)A\266\202\202\2620\207" [exwm-debug exwm-debug-log-time-function exwm-manage-configurations --cl-block-exwm-manage--get-configurations-- xcb-debug:message "%s%s: \n" "" "exwm-manage--get-configurations" derived-mode-p exwm-mode (debug error) eval t message "Problematic configuration: %S" nil throw] 6 (#$ . 7135)]) #@28 Manage window ID. (fn ID) (defalias 'exwm-manage--manage-window #[257 "\203\306\307 \203 \202\310\311$\210\3122R\313\n\314\n\315\316\317\320 \321\322 &\"\"\2032\323\312\324\"\210\325\n\315\326\327\f\317%\"\210r\330\331\332!)q\210@pBC\244@\333 \210\211ABC\334!\210\335!\210\336!\210\337!\210\340!\210\341!\210\342!\210\343!\210\344!\210\345 D\346D\347\"\204\350D\347\"\204\311E\203\245\351EFGHE\"\203\311I\204J\204K\204\311L\204\311FE>\204\311GE>\203\203\335\306\352 \203\330 \202\331\310\311$\210ME>\203\351\353!\210\325\n\315\316\317\320 \321ME>\203\377\322 \202N&\"\210\325\n\315\354\317#\"\210OPE>\203IQ\355C!\234\211\356H\357H\360H\361H\362\363\n\364\"Z\360\245\\\363 \365\"Z\360\245\\\366\211%\266\210RE>\203e\211S\325\n\315\367\317\320T\370U&\"\210\371\n!\210\372@\"@\366\330V\373p!\210*\323\312\374\"\210\346D\375\"\211\203\226\211WGW\203\226W\234C\210\203\253\306\376 \203\246 \202\247\310\311$\210\325\n\315\367\317\320X\377\356&\"\210YZ[E\211\203\211@\325\n\315\201g\201h\356\201i \321\\\201j]\201k^\201l_\201m`\201n\201oa&\"\210A\266\202\202\301\210\201p \210\371\n!\210\350D\201q\"\203_\346D\201q\"\203)\201r!\210\202\272\201s\201tC!!r\201u\356\201v\201w\201x!\201y\"\360$\216\201z@\201{\"\210\201|!\210*\210\202\272b\204\207K\204~L\204~FE>\204~GE>\203\207\201r!\210\202\272\201s\201tC!!r\201u\356\201v\201w\201x!\201}\"\360$\216\201z@\201{\"\210\201|!\210*\210\346D\201~\"\203\315\201!\210\202\323\201\200!\210\346D\201\201\"\346D\201\202\"r\201\203@\"A\262q\210\203\371\201\204!\210\211\203\201\205\201c!\210\211c)\266\330d\201\206!\210\201\207!\210r\211\201\203@\"A\262q\210\346D\201\210\"\2049\201\211 \203I\201\212ef\"f\201\213!\210\201\214\201\215!*0\207" [exwm-debug exwm-debug-log-time-function exwm--connection xcb:CW:EventMask xcb:SetMode:Insert exwm-input--skip-buffer-list-update xcb-debug:message "%s%s: Try to manage #x%x\n" "" "exwm-manage--manage-window" return xcb:-request-check xcb:-+request-checked make-instance xcb:ChangeWindowAttributes :window :value-mask :event-mask exwm--get-client-event-mask throw dead xcb:-+request xcb:ChangeSaveSet :mode t generate-new-buffer "*EXWM*" exwm-mode exwm--update-window-type exwm--update-class exwm--update-transient-for exwm--update-normal-hints exwm--update-hints exwm-manage--update-geometry exwm-manage--update-mwm-hints exwm--update-title exwm--update-protocols exwm-manage--get-configurations plist-get managed plist-member cl-intersection "%s%s: No need to manage #x%x\n" exwm--update-struts xcb:MapWindow exwm-workspace--position 0 1 2 3 exwm--set-geometry slot-value width height nil xcb:ConfigureWindow :stack-mode xcb:flush assq-delete-all kill-buffer ignored workspace "%s%s: Manage #x%x\n" :border-width exwm--id-buffer-alist exwm--id exwm-workspace--current exwm--frame exwm--configurations exwm-window-type xcb:Atom:_NET_WM_WINDOW_TYPE_UTILITY xcb:Atom:_NET_WM_WINDOW_TYPE_DIALOG xcb:Atom:_NET_WM_WINDOW_TYPE_NORMAL exwm--mwm-hints-decorations exwm--hints-input exwm-transient-for exwm--fixed-size xcb:Atom:_NET_WM_WINDOW_TYPE_DOCK xcb:EventMask:NoEvent exwm--geometry xcb:Atom:_NET_WM_WINDOW_TYPE_SPLASH exwm-workspace--workareas xcb:Atom:_NET_WM_WINDOW_TYPE_DESKTOP exwm-manage--desktop xcb:ConfigWindow:StackMode xcb:StackMode:Below kill-buffer-query-functions exwm-workspace--list xcb:ConfigWindow:BorderWidth xcb:ButtonIndex:1 xcb:ButtonIndex:2 xcb:ButtonIndex:3 xcb:EventMask:ButtonPress xcb:GrabMode:Sync xcb:GrabMode:Async xcb:Window:None xcb:Cursor:None xcb:ModMask:Any exwm-manage-force-tiling exwm-input-prefix-keys exwm-workspace--switch-history-outdated xcb:Atom:_NET_WM_STATE_FULLSCREEN exwm--ewmh-state xcb:GrabButton :owner-events :grab-window :pointer-mode :keyboard-mode :confine-to :cursor :button :modifiers exwm-manage--set-client-list floating exwm-floating--set-floating internal--before-with-selected-window frame-selected-window make-byte-code "\301\300!\207" vconcat vector [internal--after-with-selected-window] select-window norecord exwm-floating--unset-floating [internal--after-with-selected-window] char-mode exwm-input-release-keyboard exwm-input-grab-keyboard simulation-keys prefix-keys assoc exwm-input-set-local-simulation-keys make-local-variable exwm--update-desktop exwm-manage--update-ewmh-state fullscreen exwm-layout--fullscreen-p delq exwm-layout-set-fullscreen run-hooks exwm-manage-finish-hook] 25 (#$ . 7706)]) #@238 Unmanage window ID. If WITHDRAW-ONLY is non-nil, the X window will be properly placed back to the root window. Set WITHDRAW-ONLY to 'quit if this functions is used when window manager is shutting down. (fn ID &optional WITHDRAW-ONLY) (defalias 'exwm-manage--unmanage-window #[513 "\306\"A\262 \203!\307\310\n\203\n \202\311\312&\210\313\"\204N \236\203N\313 \"\314 \210\315 \210\f\211\203M\211@\316!\210A\266\202\202<\210\317!\205r\211q\210\320 \321\322\323#\"\210\3242\203\247\320 \321\325\323\3263\3274&\"\210\320 \321\330\323\3315%\"\210\332=\203\232\320 \321\333\323#\"\210\202\247\320 \321\330\323\3316%\"\2107\203\334\3347\335\"\3347\336\"\320 \321\322\323#\"\210\320 \321\337\323\3408\341\342\343\342& \"\210\320 \321\344\323#\"\266\345 \203\355\346 \211\203\354\347\350\"\210\210\351 \210\352 !\210)\353\354\355\356 \206\357\342!!\342\\\350$\210\360 \205\361 \262\207" [exwm--id-buffer-alist exwm-debug exwm-debug-log-time-function exwm-workspace--id-struts-alist exwm-workspace--list exwm--connection assoc xcb-debug:message "%s%s: Unmanage #x%x (buffer: %s, widthdraw: %s)\n" "" "exwm-manage--unmanage-window" assq-delete-all exwm-workspace--update-struts exwm-workspace--update-workareas exwm-workspace--set-fullscreen buffer-live-p xcb:-+request make-instance xcb:UnmapWindow :window t xcb:ChangeWindowAttributes :value-mask :event-mask xcb:DeleteProperty :property quit xcb:MapWindow frame-parameter exwm-outer-id exwm-container xcb:ReparentWindow :parent :x 0 :y xcb:DestroyWindow exwm-layout--fullscreen-p get-buffer-window set-window-dedicated-p nil exwm-manage--set-client-list xcb:flush #[257 "\302\303\"\203 \304\305!!\210r\211q\210\306\307!*\207" [exwm-workspace--current kill-buffer-query-functions buffer-local-value exwm--floating-frame select-window frame-selected-window nil kill-buffer] 4 "\n\n(fn BUFFER)"] run-with-idle-timer float-time current-idle-time seconds-to-time active-minibuffer-window exit-minibuffer exwm-workspace--switch-history-outdated xcb:CW:EventMask xcb:EventMask:NoEvent xcb:Atom:WM_STATE xcb:Atom:_NET_WM_DESKTOP exwm--floating-frame exwm--root] 17 (#$ . 12317)]) #@53 Search for existing windows and try to manage them. (defalias 'exwm-manage--scan #[0 "\203\305\306 \203 \202\307\310#\210\311\n\312\n\313\314\315 #\"\316#@\316\317\320\"\211\205l\211@\311\n\312\n\313\321\315#\"\316#@\262\203e\317\322\"\323U\203d\f\317\324\"U\203d\325\n\313\326\315#\"\210\327\n!\210\330!\210\210A\266\202\202%\262\207" [exwm-debug exwm-debug-log-time-function exwm--connection exwm--root xcb:MapState:Viewable xcb-debug:message "%s%s: \n" "" "exwm-manage--scan" xcb:-+reply xcb:-+request-unchecked make-instance xcb:QueryTree :window nil slot-value children xcb:GetWindowAttributes override-redirect 0 map-state xcb:-+request xcb:UnmapWindow xcb:flush exwm-manage--manage-window] 12 (#$ . 14517)]) #@39 Run in `kill-buffer-query-functions'. (defalias 'exwm-manage--kill-buffer-query-function #[0 "\203\306\307 \203 \202\310\311\np%\210\31227\n\2031\313 \314 \315\316\317\n\320\f\321\322 &\"\"\203l \203c\323 \324\"\323 \325\"\326 \315\327\317#\"\210\326 \315\330\317\331=\332\333\334\333& \"\210\326 \315\335\317#\"\266\336 !\210\337\312\340\"\210>?>\204\206\326 \315\335\317\n#\"\210\336 !\210\337\312\341\"\210\n\326 \315\342\343\344\345\315\346\317 # \"%\"\210\336 !\210@?>\204\253\337\312\341\"\210\340A\326 \315\347\350\333\343\321B\344\345\315\351\317\352\333\353& \"& \"\210\336 !\210\3542\355C\341\356#\211DBD\357\333\360\361\362!\363\"\364$\216A\203\365E\"A\262\203\366\341\367\"\210\202\356\337\312\341\"*\2620\211\354=\2031\370\371\372\373 \"!\203*\374!\210\337\312\341\"\2022\337\312\341\"\2022\211\262\2620\207" [exwm-debug exwm-debug-log-time-function exwm--id exwm--connection xcb:CW:EventMask exwm--floating-frame xcb-debug:message "%s%s: id=#x%x; buffer=%s\n" "" "exwm-manage--kill-buffer-query-function" return xcb:-request-check xcb:-+request-checked make-instance xcb:ChangeWindowAttributes :window :value-mask :event-mask exwm--get-client-event-mask frame-parameter exwm-outer-id exwm-container xcb:-+request xcb:UnmapWindow xcb:ReparentWindow :parent :x 0 :y xcb:DestroyWindow xcb:flush throw t nil xcb:icccm:SendEvent :destination :event xcb:marshal xcb:icccm:WM_DELETE_WINDOW xcb:SendEvent :propagate xcb:ewmh:_NET_WM_PING :timestamp :client-window #1=#:timeout run-with-timer #[0 "\300\301\211\"\207" [throw #1#] 3] make-byte-code "\301\300!\207" vconcat vector [cancel-timer] 2 assoc accept-process-output 0.1 y-or-n-p format "'%s' is not responding. Would you like to kill it? " buffer-name exwm-manage--kill-client exwm--root xcb:Atom:WM_DELETE_WINDOW exwm--protocols xcb:Atom:_NET_WM_PING exwm-manage--ping-lock xcb:EventMask:NoEvent exwm-manage-ping-timeout with-timeout-timers exwm--id-buffer-alist] 21 (#$ . 15264)]) #@38 Kill an X client. (fn &optional ID) (defalias 'exwm-manage--kill-client #[256 "\211\204p\305\"@\262\262 \203\"\306\307\n\203\n \202\310\311$\210\312 \313 \314\315\316#\"\317#@\211\2058\320\321\"\314\322\323#\204I\324 \"\210\202_\325\326\"\210\327\f\317\330\331\332\333\334!\335\"\336$#\210\337 !\207" [exwm--id-buffer-alist exwm-debug exwm-debug-log-time-function exwm--connection exwm-manage-ping-timeout rassoc xcb-debug:message "%s%s: id=#x%x\n" "" "exwm-manage--kill-client" xcb:-+reply xcb:-+request-unchecked make-instance xcb:ewmh:get-_NET_WM_PID :window nil slot-value value xcb:KillClient :resource xcb:-+request signal-process SIGKILL run-with-timer make-byte-code 0 "\302 \300\"\207" vconcat vector [exwm--connection xcb:-+request] 3 xcb:flush] 13 (#$ . 17278)]) #@50 Run in `after-make-frame-functions'. (fn FRAME) (defalias 'exwm-manage--add-frame #[257 "\203\303\304 \203 \202\305\306$\210\307!\205$\310\311\312\"!\nB\211\207" [exwm-debug exwm-debug-log-time-function exwm-manage--frame-outer-id-list xcb-debug:message "%s%s: frame=%s\n" "" "exwm-manage--add-frame" display-graphic-p string-to-number frame-parameter outer-window-id] 6 (#$ . 18083)]) #@46 Run in `delete-frame-functions'. (fn FRAME) (defalias 'exwm-manage--remove-frame #[257 "\203\303\304 \203 \202\305\306$\210\307!\205%\310\311\312\313\"!\n\"\211\207" [exwm-debug exwm-debug-log-time-function exwm-manage--frame-outer-id-list xcb-debug:message "%s%s: frame=%s\n" "" "exwm-manage--remove-frame" display-graphic-p delq string-to-number frame-parameter outer-window-id] 6 (#$ . 18489)]) #@53 Handle ConfigureRequest event. (fn DATA SYNTHETIC) (defalias 'exwm-manage--on-ConfigureRequest #[514 "\203\306\307 \203 \202\310\311#\210\312\313!\314\211\211\211\315\"\210\203a\306\316 \2030 \2021\310\311\317\320\"\317\321\"\317\322\"\317\323\"\317 \324\"\317\n\325\"\317 \326\"\317\f\327\"\317 \330\"&\f\210\317\320\"\331\n\"A\262\211\262\203grq\210\332 \206\320 ?\206\320\333\334\335\"!\262\317\322\"\336\234\337\234ZZ\262\317\323\"\340\234\341\234ZZ\262\342\317\321\"\f\"\337U\204\271\343! W\205\320\342\317\321\"@\"\337U\203\312\335\202\320\343!AW)\203grq\210\332 \203\367\344B!\317\324\"\317\325\"\317\322\"\317\323\"F\262\202\376\345\334\335\"!\262\203\306\346 \203 \202\310\311$\210\347C\312\350\351\337\352\317\320\"\353D\354\355\312\356\354\317\320\"\357\317\320\"\360E\361\337\234\362\341\234\363\336\234\337\234Z\364\340\234\341\234Z\365\337\366\337&C\"& \"\210)\202\373\203\233rq\210\203\202\306\367 \203~ \202\310\311#\210\370\371 \372\"\314\211\373 !\\\374 !\\%\210)\202\373\203\256\306\375 \203\252 \202\253\310\311#\210\317\320\"F>\204\373\347C\312\376\357\317\320\"\377\317\321\"\361\317\n\324\"\362\317\f\325\"\363\317\322\"\364\317\323\"\365\317\326\"\201G\317\327\"\201H\317\330\"&\"\210\266\201IC!\207" [exwm-debug exwm-debug-log-time-function exwm--id-buffer-alist exwm--floating-frame xcb:ConfigWindow:Width exwm-manage--width-delta-min xcb-debug:message "%s%s: \n" "" "exwm-manage--on-ConfigureRequest" make-instance xcb:ConfigureRequest nil xcb:unmarshal "%s%s: #x%x (#x%x) @%dx%d%+d%+d; border-width: %d; sibling: #x%x; stack-mode: %d\n" slot-value window value-mask width height x y border-width sibling stack-mode assoc exwm-layout--fullscreen-p window-inside-pixel-edges get-buffer-window t 2 0 3 1 logand abs exwm-workspace--get-geometry window-inside-absolute-pixel-edges "%s%s: Reply with ConfigureNotify (edges): %s\n" xcb:-+request xcb:SendEvent :propagate :destination :event-mask :event xcb:marshal xcb:ConfigureNotify :window :above-sibling :x :y :width :height :border-width :override-redirect "%s%s: ConfigureWindow (resize floating X window)\n" exwm--set-geometry frame-parameter exwm-outer-id frame-pixel-width frame-pixel-height "%s%s: ConfigureWindow (preserve geometry)\n" xcb:ConfigureWindow :value-mask xcb:ConfigWindow:Height exwm-manage--height-delta-min exwm--frame exwm--connection xcb:EventMask:StructureNotify xcb:Window:None exwm-manage--frame-outer-id-list :sibling :stack-mode xcb:flush] 40 (#$ . 18907)]) #@47 Handle MapRequest event. (fn DATA SYNTHETIC) (defalias 'exwm-manage--on-MapRequest #[514 "\306\307!\310\"\210\211\203%\311\312 \203 \202\313\314\315\316\"\315\317\"%\210\320\315\316\"\n\"\203jr\315\316\"\320\n\"A\262q\210\321 \203N \f=\205f\322p!\202f\205f\311\323 \203] \202^\313\314\315\316\"$\210\324)\202\245 \315\317\"U\204\210\325\306\326\327\315\316\"#\"\210\330!\202\245\203\237\311\331 \203\227 \202\230\313\314\315\316\"$\210\332\315\316\"!\262\207" [exwm-debug exwm-debug-log-time-function exwm--id-buffer-alist exwm--frame exwm-workspace--current exwm--root make-instance xcb:MapRequest xcb:unmarshal xcb-debug:message "%s%s: id=#x%x parent=#x%x\n" "" "exwm-manage--on-MapRequest" slot-value window parent assoc exwm-layout--iconic-state-p pop-to-buffer-same-window "%s%s: #x%x is already managed\n" nil xcb:-+request xcb:MapWindow :window xcb:flush "%s%s: #x%x\n" exwm-manage--manage-window exwm--connection] 12 (#$ . 21526)]) #@48 Handle UnmapNotify event. (fn DATA SYNTHETIC) (defalias 'exwm-manage--on-UnmapNotify #[514 "\302\303!\304\"\210\211\203 \305\306 \203 \202\307\310\311\312\"$\210\313\311\312\"\314\"\262\207" [exwm-debug exwm-debug-log-time-function make-instance xcb:UnmapNotify xcb:unmarshal xcb-debug:message "%s%s: id=#x%x\n" "" "exwm-manage--on-UnmapNotify" slot-value window exwm-manage--unmanage-window t] 11 (#$ . 22517)]) #@46 Handle MapNotify event. (fn DATA SYNTHETIC) (defalias 'exwm-manage--on-MapNotify #[514 "\306\307!\310\"\210\211\311\312\313\"\"\205p \203*\314\315\n\203\"\n \202#\316\317\312\313\"$\210r\312\313\"\311\"A\262q\210 \203R\320\f\306\321\322\312\313\"\323 \324&\"\210\202l\320\f\306\321\322\312\313\"\323\325 \"\326\324& \"\210)\327\f!\262\207" [exwm--id-buffer-alist exwm-debug exwm-debug-log-time-function exwm--floating-frame exwm--connection xcb:ConfigWindow:StackMode make-instance xcb:MapNotify xcb:unmarshal assoc slot-value window xcb-debug:message "%s%s: id=#x%x\n" "" "exwm-manage--on-MapNotify" xcb:-+request xcb:ConfigureWindow :window :value-mask :stack-mode logior :sibling xcb:flush xcb:StackMode:Above xcb:ConfigWindow:Sibling exwm--guide-window] 16 (#$ . 22949)]) #@50 Handle DestroyNotify event. (fn DATA SYNTHETIC) (defalias 'exwm-manage--on-DestroyNotify #[514 "\211?\205?\203\302\303 \203 \202\304\305#\210\306\307!\310\"\210\2037\302\311 \203/ \2020\304\305\312\313\"$\210\314\312\313\"!\262\207" [exwm-debug exwm-debug-log-time-function xcb-debug:message "%s%s: \n" "" "exwm-manage--on-DestroyNotify" make-instance xcb:DestroyNotify xcb:unmarshal "%s%s: #x%x\n" slot-value window exwm-manage--unmanage-window] 10 (#$ . 23761)]) #@27 Initialize manage module. (defalias 'exwm-manage--init #[0 "\203\304\305 \203 \202\306\307#\210\310\311!\312\313\314\"\210\312\315\316\"\210\317 \320\321#\210\317 \322\323#\210\317 \324\325#\210\317 \326\327#\210\317 \330\331#\207" [exwm-debug exwm-debug-log-time-function exwm-manage--_MOTIF_WM_HINTS exwm--connection xcb-debug:message "%s%s: \n" "" "exwm-manage--init" exwm--intern-atom "_MOTIF_WM_HINTS" add-hook after-make-frame-functions exwm-manage--add-frame delete-frame-functions exwm-manage--remove-frame xcb:+event xcb:ConfigureRequest exwm-manage--on-ConfigureRequest xcb:MapRequest exwm-manage--on-MapRequest xcb:UnmapNotify exwm-manage--on-UnmapNotify xcb:MapNotify exwm-manage--on-MapNotify xcb:DestroyNotify exwm-manage--on-DestroyNotify] 4 (#$ . 24252)]) #@25 Exit the manage module. (defalias 'exwm-manage--exit #[0 "\203\304\305 \203 \202\306\307#\210\n\211\203'\211@\310@\311\"\210A\266\202\202\210\312\313\314\"\210\312\315\316\"\210\317\211\207" [exwm-debug exwm-debug-log-time-function exwm--id-buffer-alist exwm-manage--_MOTIF_WM_HINTS xcb-debug:message "%s%s: \n" "" "exwm-manage--exit" exwm-manage--unmanage-window quit remove-hook after-make-frame-functions exwm-manage--add-frame delete-frame-functions exwm-manage--remove-frame nil] 5 (#$ . 25039)]) (provide 'exwm-manage)