about summary refs log tree commit diff
path: root/exwm-systemtray.el
diff options
context:
space:
mode:
authorChris Feng <chris.w.feng@gmail.com>2016-07-30T11·01+0800
committerChris Feng <chris.w.feng@gmail.com>2016-07-30T11·01+0800
commit1e78045f958edbb2f3ef7c21953f8b55b3bbae42 (patch)
treeddfd21401efb21e2e435622f8747c846b7178571 /exwm-systemtray.el
parentb87f4fbd7170ec156d6fa575584f55c25dd1da1b (diff)
Add restart support
* exwm-input.el (exwm-input--exit): Cancel timers.

* exwm-manage.el (exwm-manage--manage-window): Add reparented X windows
to save-set.
* exwm-systemtray.el (exwm-systemtray--embed): Add embeded icons to
save-set.

* exwm-workspace.el (exwm-workspace--confirm-kill-emacs): No need to
unmanage; also hide Emacs frames; always call `exwm--exit'.

* exwm.el (exwm-restart): New command for restarting EXWM.
(exwm--exit-icccm-ewmh): New function for cleaning up ICCCM/EWMH
properties.
(exwm-exit-hook): Update doc string.
(exwm--exit): Call `exwm--exit-icccm-ewmh' and do not reset variables.
Diffstat (limited to 'exwm-systemtray.el')
-rw-r--r--exwm-systemtray.el5
1 files changed, 5 insertions, 0 deletions
diff --git a/exwm-systemtray.el b/exwm-systemtray.el
index 56e5fb8eb7..25f5fa584c 100644
--- a/exwm-systemtray.el
+++ b/exwm-systemtray.el
@@ -89,6 +89,11 @@ You shall use the default value if using auto-hide minibuffer.")
                 height* (round (* height (/ (float width*) width)))))
         (exwm--log "(System Tray) Resize from %dx%d to %dx%d"
                    width height width* height*))
+      ;; Add this icon to save-set.
+      (xcb:+request exwm-systemtray--connection
+          (make-instance 'xcb:ChangeSaveSet
+                         :mode xcb:SetMode:Insert
+                         :window icon))
       ;; Reparent to the embedder.
       (xcb:+request exwm-systemtray--connection
           (make-instance 'xcb:ReparentWindow