From fdeb39dc0831f589e4924e17dad43b31a96b8dfe Mon Sep 17 00:00:00 2001 From: Chris Feng Date: Tue, 26 Jul 2016 21:39:39 +0800 Subject: [PATCH] Add an option to force using tiling layout * exwm-manage.el (exwm-manage-force-tiling): New variable indicating whether X windows should always be managed in tiling layout. (exwm-manage--manage-window): Add a condition. --- exwm-manage.el | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/exwm-manage.el b/exwm-manage.el index 260571b..9e05ea2 100644 --- a/exwm-manage.el +++ b/exwm-manage.el @@ -28,6 +28,11 @@ (require 'exwm-core) +(defvar exwm-manage-force-tiling nil + "Non-nil to force managing all X windows in tiling layout. + +You can still make the X windows floating afterwards.") + (defvar exwm-manage-finish-hook nil "Normal hook run after a window is just managed, in the context of the corresponding buffer.") @@ -233,9 +238,11 @@ corresponding buffer.") (xcb:flush exwm--connection) (exwm--update-title id) (exwm--update-protocols id) - (if (or exwm-transient-for exwm--fixed-size - (memq xcb:Atom:_NET_WM_WINDOW_TYPE_UTILITY exwm-window-type) - (memq xcb:Atom:_NET_WM_WINDOW_TYPE_DIALOG exwm-window-type)) + (if (and (not exwm-manage-force-tiling) + (or exwm-transient-for exwm--fixed-size + (memq xcb:Atom:_NET_WM_WINDOW_TYPE_UTILITY exwm-window-type) + (memq xcb:Atom:_NET_WM_WINDOW_TYPE_DIALOG + exwm-window-type))) (exwm-floating--set-floating id) (exwm-floating--unset-floating id)) (exwm-input-grab-keyboard id)