mirror of
https://github.com/emacs-exwm/exwm.git
synced 2024-11-30 16:07:59 +01:00
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)
|
(frame-height (+ height (- (frame-pixel-height frame)
|
||||||
(- (elt edges 3) (elt edges 1)))))
|
(- (elt edges 3) (elt edges 1)))))
|
||||||
(floating-mode-line (plist-get exwm--configurations
|
(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
|
(if floating-mode-line
|
||||||
(setq exwm--mode-line-format (or exwm--mode-line-format
|
(setq exwm--mode-line-format (or exwm--mode-line-format
|
||||||
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
|
exwm--mode-line-format (or exwm--mode-line-format
|
||||||
mode-line-format)
|
mode-line-format)
|
||||||
mode-line-format nil)))
|
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)
|
(set-frame-size frame frame-width frame-height t)
|
||||||
;; Create the frame container as the parent of the frame.
|
;; Create the frame container as the parent of the frame.
|
||||||
(xcb:+request exwm--connection
|
(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
|
(setq exwm--mode-line-format (or exwm--mode-line-format
|
||||||
mode-line-format)
|
mode-line-format)
|
||||||
mode-line-format (plist-get exwm--configurations
|
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.
|
;; Only show X windows in normal state.
|
||||||
(unless (exwm-layout--iconic-state-p)
|
(unless (exwm-layout--iconic-state-p)
|
||||||
(pop-to-buffer-same-window buffer)))
|
(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 "Fullscreen" fullscreen)
|
||||||
(const :tag "Floating mode-line" floating-mode-line)
|
(const :tag "Floating mode-line" floating-mode-line)
|
||||||
(const :tag "Tiling mode-line" tiling-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 "Char-mode" char-mode)
|
||||||
(const :tag "Prefix keys" prefix-keys)
|
(const :tag "Prefix keys" prefix-keys)
|
||||||
(const :tag "Simulation keys" simulation-keys)
|
(const :tag "Simulation keys" simulation-keys)
|
||||||
|
|
Loading…
Reference in a new issue