Support displaying floating X windows on all workspaces
; Setting _NET_WM_DESKTOP to 0xffffffff makes an X windows appearing ; on all desktops (EWMH). It's tricky to do it for tiling X windows ; so it's not implemented. * exwm-core.el (exwm--desktop): New buffer-local variable recording the value of _NET_WM_DESKTOP. * exwm-layout.el (exwm-layout--hide): Do not hide X windows with this property set to 0xffffffff. * exwm.el (exwm--update-desktop): New function for fetching the value of _NET_WM_DESKTOP and setting `exwm--desktop'. * exwm-manage.el (exwm-manage--manage-window): Use it. * exwm-workspace.el (exwm-workspace--set-desktop): Also update `exwm--desktop'.
This commit is contained in:
		
							parent
							
								
									d22e6740d7
								
							
						
					
					
						commit
						b8ce20b4f3
					
				
					 5 changed files with 38 additions and 18 deletions
				
			
		|  | @ -102,7 +102,9 @@ | |||
| (defun exwm-layout--hide (id) | ||||
|   "Hide window ID." | ||||
|   (with-current-buffer (exwm--id->buffer id) | ||||
|     (unless (exwm-layout--iconic-state-p) ;already hidden | ||||
|     (unless (or (exwm-layout--iconic-state-p) | ||||
|                 (and exwm--floating-frame | ||||
|                      (eq #xffffffff exwm--desktop))) | ||||
|       (exwm--log "Hide #x%x" id) | ||||
|       (when exwm--floating-frame | ||||
|         (let* ((container (frame-parameter exwm--floating-frame | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue