Add header-line format support in per-application configurations
* exwm-manage.el (exwm-manage-configurations): * exwm-floating.el (exwm-floating--set-floating) (exwm-floating--unset-floating): Allow customizing header-line format for floating/tiling X windows.
This commit is contained in:
		
							parent
							
								
									cc974555db
								
							
						
					
					
						commit
						7013b0122a
					
				
					 2 changed files with 21 additions and 2 deletions
				
			
		| 
						 | 
				
			
			@ -216,7 +216,9 @@ This is also used by X window containers.")
 | 
			
		|||
           (frame-height (+ height (- (frame-pixel-height frame)
 | 
			
		||||
                                      (- (elt edges 3) (elt edges 1)))))
 | 
			
		||||
           (floating-mode-line (plist-get exwm--configurations
 | 
			
		||||
                                          'floating-mode-line)))
 | 
			
		||||
                                          'floating-mode-line))
 | 
			
		||||
           (floating-header-line (plist-get exwm--configurations
 | 
			
		||||
                                            'floating-header-line)))
 | 
			
		||||
      (if floating-mode-line
 | 
			
		||||
          (setq exwm--mode-line-format (or exwm--mode-line-format
 | 
			
		||||
                                           mode-line-format)
 | 
			
		||||
| 
						 | 
				
			
			@ -231,6 +233,16 @@ This is also used by X window containers.")
 | 
			
		|||
                exwm--mode-line-format (or exwm--mode-line-format
 | 
			
		||||
                                           mode-line-format)
 | 
			
		||||
                mode-line-format nil)))
 | 
			
		||||
      (if floating-header-line
 | 
			
		||||
          (setq header-line-format floating-header-line)
 | 
			
		||||
        (if (and (not (plist-member exwm--configurations
 | 
			
		||||
                                    'floating-header-line))
 | 
			
		||||
                 exwm--mwm-hints-decorations)
 | 
			
		||||
            (setq header-line-format nil)
 | 
			
		||||
          ;; The header-line need to be hidden in floating header.
 | 
			
		||||
          (setq frame-height (- frame-height (window-header-line-height
 | 
			
		||||
                                              (frame-root-window frame)))
 | 
			
		||||
                header-line-format nil)))
 | 
			
		||||
      (set-frame-size frame frame-width frame-height t)
 | 
			
		||||
      ;; Create the frame container as the parent of the frame.
 | 
			
		||||
      (xcb:+request exwm--connection
 | 
			
		||||
| 
						 | 
				
			
			@ -375,7 +387,11 @@ This is also used by X window containers.")
 | 
			
		|||
        (setq exwm--mode-line-format (or exwm--mode-line-format
 | 
			
		||||
                                         mode-line-format)
 | 
			
		||||
              mode-line-format (plist-get exwm--configurations
 | 
			
		||||
                                          'tiling-mode-line))))
 | 
			
		||||
                                          'tiling-mode-line)))
 | 
			
		||||
      (if (not (plist-member exwm--configurations 'tiling-header-line))
 | 
			
		||||
          (setq header-line-format nil)
 | 
			
		||||
        (setq header-line-format (plist-get exwm--configurations
 | 
			
		||||
                                            'tiling-header-line))))
 | 
			
		||||
    ;; Only show X windows in normal state.
 | 
			
		||||
    (unless (exwm-layout--iconic-state-p)
 | 
			
		||||
      (pop-to-buffer-same-window buffer)))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -63,6 +63,9 @@ You can still make the X windows floating afterwards."
 | 
			
		|||
                        (const :tag "Fullscreen" fullscreen)
 | 
			
		||||
                        (const :tag "Floating mode-line" floating-mode-line)
 | 
			
		||||
                        (const :tag "Tiling mode-line" tiling-mode-line)
 | 
			
		||||
                        (const :tag "Floating header-line"
 | 
			
		||||
                               floating-header-line)
 | 
			
		||||
                        (const :tag "Tiling header-line" tiling-header-line)
 | 
			
		||||
                        (const :tag "Char-mode" char-mode)
 | 
			
		||||
                        (const :tag "Prefix keys" prefix-keys)
 | 
			
		||||
                        (const :tag "Simulation keys" simulation-keys)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue