diff options
author | Chris Feng <chris.w.feng@gmail.com> | 2015-08-11T07·06+0800 |
---|---|---|
committer | Chris Feng <chris.w.feng@gmail.com> | 2015-08-11T07·06+0800 |
commit | 1ce18afd0559bacc3a7c43f5a73342814a5b176f (patch) | |
tree | 92e4d2dc95b96761f76b0944bd9cdc378fe0b2b4 /exwm-manage.el | |
parent | 801185c7cc2c257ac2e8ed9a3aa8e8119c56ad1f (diff) |
Center floating windows by default
This commit makes a floating window centered to its leading window if it has a valid WM_TRANSIENT_FOR property set. Other it's placed at the center of the screen.
Diffstat (limited to 'exwm-manage.el')
-rw-r--r-- | exwm-manage.el | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/exwm-manage.el b/exwm-manage.el index 79cff221e0bf..fc61e5074478 100644 --- a/exwm-manage.el +++ b/exwm-manage.el @@ -276,6 +276,8 @@ corresponding buffer.") buffer edges) (xcb:unmarshal obj data) (with-slots (window x y width height border-width) obj + (exwm--log "ConfigureRequest from #x%x @%dx%d%+d%+d, border: %d" + window width height x y border-width) (if (setq buffer (exwm--id->buffer window)) ;; Send client message for managed windows (with-current-buffer buffer @@ -286,6 +288,7 @@ corresponding buffer.") (or exwm--floating-edges (window-inside-absolute-pixel-edges (get-buffer-window))))) + (exwm--log "Reply with ConfigureNotify (edges): %s" edges) (xcb:+request exwm--connection (make-instance 'xcb:SendEvent :propagate 0 :destination window @@ -300,6 +303,7 @@ corresponding buffer.") :height (- (elt edges 3) (elt edges 1)) :border-width 0 :override-redirect 0) exwm--connection)))) + (exwm--log "ConfigureWindow (preserve geometry)") ;; Configure unmanaged windows (xcb:+request exwm--connection (make-instance 'xcb:ConfigureWindow @@ -317,6 +321,7 @@ corresponding buffer.") "Handle MapRequest event." (let ((obj (make-instance 'xcb:MapRequest))) (xcb:unmarshal obj data) + (exwm--log "MapRequest from #x%x" (slot-value obj 'window)) (exwm-manage--manage-window (slot-value obj 'window)))) (defun exwm-manage--on-UnmapNotify (data synthetic) @@ -324,6 +329,7 @@ corresponding buffer.") (unless synthetic (let ((obj (make-instance 'xcb:UnmapNotify))) (xcb:unmarshal obj data) + (exwm--log "UnmapNotify from #x%x" (slot-value obj 'window)) (exwm-manage--unmanage-window (slot-value obj 'window) t)))) (defun exwm-manage--on-DestroyNotify (data synthetic) @@ -331,6 +337,7 @@ corresponding buffer.") (unless synthetic (let ((obj (make-instance 'xcb:DestroyNotify))) (xcb:unmarshal obj data) + (exwm--log "DestroyNotify from #x%x" (slot-value obj 'window)) (exwm-manage--unmanage-window (slot-value obj 'window))))) (defun exwm-manage--init () |