diff options
author | Chris Feng <chris.w.feng@gmail.com> | 2016-02-07T02·45+0800 |
---|---|---|
committer | Chris Feng <chris.w.feng@gmail.com> | 2016-02-07T02·45+0800 |
commit | e2edf81271e1a7dd148aa7386b730ae2838c2860 (patch) | |
tree | eb89d010d631444cd2ac8cce377f2724092e6a5e /exwm-layout.el | |
parent | 3d643fafbe58d9b3e2dc9e864cbf05a2d911e1b2 (diff) |
Add some useful key bindings
* exwm-core.el (exwm--floating-mode-line-format, exwm--mode-line-format) (exwm-mode-map): * exwm-floating.el (exwm-floating-hide-mode-line) (exwm-floating-show-mode-line): * exwm-layout.el (exwm-layout-hide-mode-line, exwm-layout-show-mode-line) (exwm-layout-toggle-mode-line): Allow hide/show mode-line for all `exwm-mode' buffers with 'C-c M'. * exwm-config.el (exwm-config-default): Add simulation keys for 'C-d' and 'C-k'.
Diffstat (limited to 'exwm-layout.el')
-rw-r--r-- | exwm-layout.el | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/exwm-layout.el b/exwm-layout.el index 871438f9f6e0..df603f709a12 100644 --- a/exwm-layout.el +++ b/exwm-layout.el @@ -392,6 +392,39 @@ See also `exwm-layout-enlarge-window'." (interactive "p") (exwm-layout-enlarge-window (- delta) t)) +(defun exwm-layout-hide-mode-line () + "Hide mode-line." + (interactive) + (when (and (eq major-mode 'exwm-mode) mode-line-format) + (setq exwm--mode-line-format mode-line-format + mode-line-format nil) + (if (not exwm--floating-frame) + (exwm-layout--show exwm--id) + (exwm-floating--fit-frame-to-window) + (xcb:flush exwm--connection) + (setq window-size-fixed exwm--fixed-size)))) + +(defun exwm-layout-show-mode-line () + "Show mode-line." + (interactive) + (when (and (eq major-mode 'exwm-mode) (not mode-line-format)) + (setq mode-line-format exwm--mode-line-format + exwm--mode-line-format nil) + (if (not exwm--floating-frame) + (exwm-layout--show exwm--id) + (exwm-floating--fit-frame-to-window) + (exwm-input-grab-keyboard) + (xcb:flush exwm--connection) + (setq window-size-fixed exwm--fixed-size)))) + +(defun exwm-layout-toggle-mode-line () + "Toggle the display of mode-line." + (interactive) + (when (eq major-mode 'exwm-mode) + (if mode-line-format + (exwm-layout-hide-mode-line) + (exwm-layout-show-mode-line)))) + (defun exwm-layout--init () "Initialize layout module." ;; Auto refresh layout |