[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/exwm 74fba56: Do not wait for WM_STATE property events
From: |
Chris Feng |
Subject: |
[elpa] externals/exwm 74fba56: Do not wait for WM_STATE property events |
Date: |
Fri, 26 Feb 2016 10:21:19 +0000 |
branch: externals/exwm
commit 74fba563b82c1a4d3a589c71041a5bf370709a9e
Author: Chris Feng <address@hidden>
Commit: Chris Feng <address@hidden>
Do not wait for WM_STATE property events
* exwm-layout.el (exwm-layout--show, exwm-layout--hide): Save the state
directly.
---
exwm-layout.el | 43 ++++++++++++++++++++++---------------------
1 files changed, 22 insertions(+), 21 deletions(-)
diff --git a/exwm-layout.el b/exwm-layout.el
index 09428da..76721a0 100644
--- a/exwm-layout.el
+++ b/exwm-layout.el
@@ -103,7 +103,8 @@
(xcb:+request exwm--connection
(make-instance 'xcb:icccm:set-WM_STATE
:window id :state xcb:icccm:WM_STATE:NormalState
- :icon xcb:Window:None)))
+ :icon xcb:Window:None))
+ (setq exwm-state xcb:icccm:WM_STATE:NormalState))
(xcb:+request exwm--connection
(make-instance 'xcb:SendEvent
:propagate 0 :destination id
@@ -122,27 +123,27 @@
(defun exwm-layout--hide (id)
"Hide window ID."
- (unless (eq xcb:icccm:WM_STATE:IconicState ;already hidden
- (with-current-buffer (exwm--id->buffer id) exwm-state))
- (exwm--log "Hide #x%x" id)
- (xcb:+request exwm--connection
- (make-instance 'xcb:ChangeWindowAttributes
- :window id :value-mask xcb:CW:EventMask
- :event-mask xcb:EventMask:NoEvent))
- (xcb:+request exwm--connection (make-instance 'xcb:UnmapWindow :window id))
- (xcb:+request exwm--connection
- (make-instance 'xcb:ChangeWindowAttributes
- :window id :value-mask xcb:CW:EventMask
- :event-mask exwm--client-event-mask))
- (with-current-buffer (exwm--id->buffer id)
+ (with-current-buffer (exwm--id->buffer id)
+ (unless (eq xcb:icccm:WM_STATE:IconicState exwm-state) ;already hidden
+ (exwm--log "Hide #x%x" id)
(xcb:+request exwm--connection
- (make-instance 'xcb:UnmapWindow :window exwm--container)))
- (xcb:+request exwm--connection
- (make-instance 'xcb:icccm:set-WM_STATE
- :window id
- :state xcb:icccm:WM_STATE:IconicState
- :icon xcb:Window:None))
- (xcb:flush exwm--connection)))
+ (make-instance 'xcb:ChangeWindowAttributes
+ :window id :value-mask xcb:CW:EventMask
+ :event-mask xcb:EventMask:NoEvent))
+ (xcb:+request exwm--connection (make-instance 'xcb:UnmapWindow :window
id))
+ (xcb:+request exwm--connection
+ (make-instance 'xcb:ChangeWindowAttributes
+ :window id :value-mask xcb:CW:EventMask
+ :event-mask exwm--client-event-mask))
+ (xcb:+request exwm--connection
+ (make-instance 'xcb:UnmapWindow :window exwm--container))
+ (xcb:+request exwm--connection
+ (make-instance 'xcb:icccm:set-WM_STATE
+ :window id
+ :state xcb:icccm:WM_STATE:IconicState
+ :icon xcb:Window:None))
+ (setq exwm-state xcb:icccm:WM_STATE:IconicState)
+ (xcb:flush exwm--connection))))
(defvar exwm-workspace--current)
(defvar exwm-workspace--list)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [elpa] externals/exwm 74fba56: Do not wait for WM_STATE property events,
Chris Feng <=