diff options
Diffstat (limited to 'window.lisp')
-rw-r--r-- | window.lisp | 24 |
1 files changed, 18 insertions, 6 deletions
diff --git a/window.lisp b/window.lisp index 77d800a..231bba9 100644 --- a/window.lisp +++ b/window.lisp @@ -32,12 +32,16 @@ set-window-geometry)) (export - '( - window-xwin window-width window-height window-x window-y window-gravity - window-group window-number window-parent window-title window-user-title - window-class window-type window-res window-role window-unmap-ignores - window-state window-normal-hints window-marked window-plist - window-fullscreen)) + '(window window-xwin window-width window-height window-x window-y + window-gravity window-group window-number window-parent window-title + window-user-title window-class window-type window-res window-role + window-unmap-ignores window-state window-normal-hints window-marked + window-plist window-fullscreen window-screen + ;; Window utilities + update-configuration no-focus + ;; Window management API + update-decoration focus-window raise-window window-visible-p window-sync + window-head)) (defvar *default-window-name* "Unnamed" "The name given to a window that does not supply its own name.") @@ -334,6 +338,14 @@ _NET_WM_STATE_DEMANDS_ATTENTION set" (xwin-net-wm-name win) (xlib:wm-name win)))) +(defun update-configuration (win) + ;; Send a synthetic configure-notify event so that the window + ;; knows where it is onscreen. + (xwin-send-configuration-notify (window-xwin win) + (xlib:drawable-x (window-parent win)) + (xlib:drawable-y (window-parent win)) + (window-width win) (window-height win) 0)) + (defun window-fullscreen-locked-p (win) (let* ((xwin (window-xwin win)) (hints (xlib:wm-normal-hints xwin))) |