about summary refs log tree commit diff
path: root/exwm-manage.el
diff options
context:
space:
mode:
authorChris Feng <chris.w.feng@gmail.com>2016-07-26T13·39+0800
committerChris Feng <chris.w.feng@gmail.com>2016-07-26T13·39+0800
commitfdeb39dc0831f589e4924e17dad43b31a96b8dfe (patch)
tree4569d7453f135639ea515446722f5d8ee5ef51c5 /exwm-manage.el
parent915ecc8979e8bb531d05c4d239a95b6f2a457ceb (diff)
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.
Diffstat (limited to 'exwm-manage.el')
-rw-r--r--exwm-manage.el13
1 files changed, 10 insertions, 3 deletions
diff --git a/exwm-manage.el b/exwm-manage.el
index 260571b6c0..9e05ea2482 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)