]> git.eshelyaron.com Git - emacs.git/commitdiff
* src/xwidget.c (Fset_frame_visible): Hack to force a frame to be
authorGrégoire Jadi <gregoire.jadi@gmail.com>
Thu, 18 Jul 2013 12:12:03 +0000 (14:12 +0200)
committerGrégoire Jadi <gregoire.jadi@gmail.com>
Thu, 18 Jul 2013 12:12:03 +0000 (14:12 +0200)
considered as visible to trigger the display engine.
* lisp/xwidget.el (xwidget-display): Force the display engine to create a
xwidget_view of the given xwidget.

lisp/xwidget.el
src/xwidget.c

index 81589e3d57d758bc38eb72826146b4e30e44bb85..b38f7948c6cb0a5c3ccea59e93688b019945d4e9 100644 (file)
@@ -58,7 +58,13 @@ see `make-xwidget' for types suitable for TYPE."
 ;;               ;;   (start-process "xembed2" "*xembed2*" "uzbl-core"  "-s" (number-to-string xembed-id)  "http://www.fsf.org" )  )
 ;;               )))))
 
-
+(defun xwidget-display (xwidget)
+  "Force xwidget to be displayed to create a xwidget_view."
+  (let* ((buffer (xwidget-buffer xwidget))
+         (window (display-buffer buffer))
+         (frame (window-frame window)))
+    (set-frame-visible frame t)
+    (redisplay t)))
 
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
index 28bb056954e02ac1161462a45a063f3a913aabe2..660c4ef99615cad9ae161e2d1a1c68a6e60619ca 100644 (file)
@@ -1554,6 +1554,17 @@ WINDOW if specified, otherwise it uses the selected window. */)
   return Qnil;
 }
 
+DEFUN ("set-frame-visible", Fset_frame_visible, Sset_frame_visible,
+       2, 2, 0,
+       doc: /* HACKY */)
+  (Lisp_Object frame, Lisp_Object flag)
+{
+  CHECK_FRAME (frame);
+  struct frame *f = XFRAME (frame);
+  SET_FRAME_VISIBLE (f, !NILP (flag));
+  return flag;
+}
+
 DEFUN ("xwidget-plist", Fxwidget_plist, Sxwidget_plist,
        1, 1, 0,
        doc: /* Return the plist of XWIDGET.  */)
@@ -1627,6 +1638,7 @@ syms_of_xwidget (void)
   defsubr (&Sxwidget_view_lookup);
   defsubr (&Sxwidget_query_on_exit_flag);
   defsubr (&Sset_xwidget_query_on_exit_flag);
+  defsubr (&Sset_frame_visible);
 
 #ifdef HAVE_WEBKIT_OSR
   defsubr (&Sxwidget_webkit_goto_uri);