summaryrefslogtreecommitdiff
path: root/window.lisp
diff options
context:
space:
mode:
Diffstat (limited to 'window.lisp')
-rw-r--r--window.lisp24
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)))