mirror of
https://github.com/emacs-exwm/exwm.git
synced 2024-11-30 16:07:59 +01:00
Refresh the tray icon background when updating the background color
* exwm-systemtray.el (exwm-systemtray--refresh-background-color): Add optional parameter REMAP to force redrawing of the background. (exwm-systemtray--on-theme-change): Use it.
This commit is contained in:
parent
b3766e52d6
commit
e95b9ebf1d
1 changed files with 14 additions and 4 deletions
|
@ -258,11 +258,21 @@ using 32-bit depth. Using `workspace-background' instead.")
|
||||||
:window exwm-systemtray--embedder-window))))
|
:window exwm-systemtray--embedder-window))))
|
||||||
(xcb:flush exwm-systemtray--connection))
|
(xcb:flush exwm-systemtray--connection))
|
||||||
|
|
||||||
(defun exwm-systemtray--refresh-background-color ()
|
(defun exwm-systemtray--refresh-background-color (&optional remap)
|
||||||
"Refresh background color after theme change or workspace switch."
|
"Refresh background color after theme change or workspace switch.
|
||||||
|
If REMAP is not nil, map and unmap the embedder window so that the background is
|
||||||
|
redrawn."
|
||||||
;; Only `workspace-background' is dependent on current theme and workspace.
|
;; Only `workspace-background' is dependent on current theme and workspace.
|
||||||
(when (eq 'workspace-background exwm-systemtray-background-color)
|
(when (eq 'workspace-background exwm-systemtray-background-color)
|
||||||
(exwm-systemtray--set-background-color)))
|
(exwm-systemtray--set-background-color)
|
||||||
|
(when remap
|
||||||
|
(xcb:+request exwm-systemtray--connection
|
||||||
|
(make-instance 'xcb:UnmapWindow
|
||||||
|
:window exwm-systemtray--embedder-window))
|
||||||
|
(xcb:+request exwm-systemtray--connection
|
||||||
|
(make-instance 'xcb:MapWindow
|
||||||
|
:window exwm-systemtray--embedder-window))
|
||||||
|
(xcb:flush exwm-systemtray--connection))))
|
||||||
|
|
||||||
(defun exwm-systemtray--set-background-color ()
|
(defun exwm-systemtray--set-background-color ()
|
||||||
"Change the background color of the embedder.
|
"Change the background color of the embedder.
|
||||||
|
@ -453,7 +463,7 @@ indicate how to support actual transparency."
|
||||||
|
|
||||||
(defun exwm-systemtray--on-theme-change (_theme)
|
(defun exwm-systemtray--on-theme-change (_theme)
|
||||||
"Refresh system tray upon theme change."
|
"Refresh system tray upon theme change."
|
||||||
(exwm-systemtray--refresh-background-color))
|
(exwm-systemtray--refresh-background-color 'remap))
|
||||||
|
|
||||||
(defun exwm-systemtray--refresh-all ()
|
(defun exwm-systemtray--refresh-all ()
|
||||||
"Reposition/Refresh the system tray."
|
"Reposition/Refresh the system tray."
|
||||||
|
|
Loading…
Reference in a new issue