From 5a39c5c2fad643a656c59c0071f0cbea58eb65a9 Mon Sep 17 00:00:00 2001 From: Chris Feng Date: Thu, 25 Feb 2016 12:41:35 +0800 Subject: Allow user to hide floating X windows * exwm-core.el (exwm-mode-map): Add a new key to hide floating X windows. * exwm-floating.el (exwm-floating-hide): New command to hide a floating X window. * exwm-workspace.el: Fix a compile warning. --- exwm-floating.el | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'exwm-floating.el') diff --git a/exwm-floating.el b/exwm-floating.el index 457705322c..ba162f67e1 100644 --- a/exwm-floating.el +++ b/exwm-floating.el @@ -284,6 +284,22 @@ (exwm-floating--unset-floating exwm--id) (exwm-floating--set-floating exwm--id)))) +;;;###autoload +(defun exwm-floating-hide () + "Hide the current floating X window (which would show again when selected)." + (interactive) + (when (and (eq major-mode 'exwm-mode) + exwm--floating-frame) + ;; Put this floating X window at bottom. + (xcb:+request exwm--connection + (make-instance 'xcb:ConfigureWindow + :window exwm--container + :value-mask xcb:ConfigWindow:StackMode + :stack-mode xcb:StackMode:Below)) + ;; FIXME: Should it be put into iconic state? + (xcb:flush exwm--connection) + (select-frame-set-input-focus exwm-workspace--current))) + (define-obsolete-function-alias 'exwm-floating-hide-mode-line 'exwm-layout-hide-mode-line "25.1" "Hide mode-line of a floating frame.") (define-obsolete-function-alias 'exwm-floating-show-mode-line -- cgit 1.4.1