emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/exwm 08bf970 3/4: Minor fixes for system tray


From: Chris Feng
Subject: [elpa] externals/exwm 08bf970 3/4: Minor fixes for system tray
Date: Sat, 20 Feb 2016 01:07:01 +0000

branch: externals/exwm
commit 08bf970b16405d4f6b48559e517ab61339a956bd
Author: Chris Feng <address@hidden>
Commit: Chris Feng <address@hidden>

    Minor fixes for system tray
    
    * exwm-systemtray.el (exwm-systemtray--embed): Default to visible if the
    XEMBED_MAPPED flag is not set.
    (exwm-systemtray--on-ClientMessage): Only embed new icons.  Ignore balloon
    messages.
---
 exwm-systemtray.el |   21 ++++++++++++---------
 1 files changed, 12 insertions(+), 9 deletions(-)

diff --git a/exwm-systemtray.el b/exwm-systemtray.el
index 11d9be6..e9a9745 100644
--- a/exwm-systemtray.el
+++ b/exwm-systemtray.el
@@ -101,8 +101,13 @@ You shall use the default value if using auto-hide 
minibuffer.")
                          :value-mask xcb:CW:EventMask
                          :event-mask (logior xcb:EventMask:ResizeRedirect
                                              xcb:EventMask:PropertyChange)))
-      (when (setq visible
-                  (/= 0 (logand (slot-value info 'flags) xcb:xembed:MAPPED)))
+      (setq visible (slot-value info 'flags))
+      (if visible
+          (setq visible
+                (/= 0 (logand (slot-value info 'flags) xcb:xembed:MAPPED)))
+        ;; Default to visible.
+        (setq visible t))
+      (when visible
         (exwm--log "(System Tray) Map the window")
         (xcb:+request exwm-systemtray--connection
             (make-instance 'xcb:MapWindow :window icon)))
@@ -245,13 +250,11 @@ You shall use the default value if using auto-hide 
minibuffer.")
         (setq data32 (slot-value data 'data32)
               opcode (elt data32 1))
         (cond ((= opcode xcb:systemtray:opcode:REQUEST-DOCK)
-               (exwm-systemtray--embed (elt data32 2)))
-              ((= opcode xcb:systemtray:opcode:BEGIN-MESSAGE)
-               ;; FIXME
-               )
-              ((= opcode xcb:systemtray:opcode:CANCEL-MESSAGE)
-               ;; FIXME
-               )
+               (unless (assoc (elt data32 2) exwm-systemtray--list)
+                 (exwm-systemtray--embed (elt data32 2))))
+              ;; Not implemented (rarely used nowadays).
+              ((or (= opcode xcb:systemtray:opcode:BEGIN-MESSAGE)
+                   (= opcode xcb:systemtray:opcode:CANCEL-MESSAGE)))
               (t
                (exwm--log "(System Tray) Unknown opcode message: %s" obj)))))))
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]