summaryrefslogtreecommitdiff
path: root/lisp/frame.el
diff options
context:
space:
mode:
authorPo Lu <luangruo@yahoo.com>2022-01-04 05:22:56 +0000
committerPo Lu <luangruo@yahoo.com>2022-01-04 05:22:56 +0000
commitf3481f21f710ab41980623728917704bb25b3ae5 (patch)
tree82f9d945da68ba38e2e2dc9007716ea3a9b68bbc /lisp/frame.el
parent6668a7608cac6f09d4adc3282fce9a7c03e56792 (diff)
downloademacs-f3481f21f710ab41980623728917704bb25b3ae5.tar.gz
Find a way to make restacking frames work on Haiku
* doc/lispref/frames.texi (Raising and Lowering): Update documentation to reflect that restacking frames is now supported on Haiku. * lisp/frame.el (haiku-frame-restack): New declaration. (frame-restack): Use `haiku-frame-restack' on Haiku. * src/haiku_support.cc (BWindow_send_behind): * src/haiku_support.h (BWindow_send_behind): * src/haikufns.c (Fhaiku_frame_restack): New functions. (syms_of_haikufns): New subr `haiku-frame-restack'.
Diffstat (limited to 'lisp/frame.el')
-rw-r--r--lisp/frame.el3
1 files changed, 3 insertions, 0 deletions
diff --git a/lisp/frame.el b/lisp/frame.el
index 60ef563e591..62b73f3157b 100644
--- a/lisp/frame.el
+++ b/lisp/frame.el
@@ -2019,6 +2019,7 @@ Return nil if DISPLAY contains no Emacs frame."
(declare-function w32-frame-restack "w32fns.c" (frame1 frame2 &optional above))
(declare-function ns-frame-restack "nsfns.m" (frame1 frame2 &optional above))
(declare-function pgtk-frame-restack "pgtkfns.c" (frame1 frame2 &optional above))
+(declare-function haiku-frame-restack "haikufns.c" (frame1 frame2 &optional above))
(defun frame-restack (frame1 frame2 &optional above)
"Restack FRAME1 below FRAME2.
@@ -2049,6 +2050,8 @@ Some window managers may refuse to restack windows."
(w32-frame-restack frame1 frame2 above))
((eq frame-type 'ns)
(ns-frame-restack frame1 frame2 above))
+ ((eq frame-type 'haiku)
+ (haiku-frame-restack frame1 frame2 above))
((eq frame-type 'pgtk)
(pgtk-frame-restack frame1 frame2 above))))
(error "Cannot restack frames")))