diff options
| -rw-r--r-- | lisp/xwidget.el | 43 | ||||
| -rw-r--r-- | src/xwidget.c | 9 |
2 files changed, 30 insertions, 22 deletions
diff --git a/lisp/xwidget.el b/lisp/xwidget.el index 0f48f2d95b7..8a68fd47a74 100644 --- a/lisp/xwidget.el +++ b/lisp/xwidget.el | |||
| @@ -19,30 +19,31 @@ see xwidget.c for types suitable for TYPE. | |||
| 19 | 19 | ||
| 20 | 20 | ||
| 21 | (defun xwidget-at (pos) | 21 | (defun xwidget-at (pos) |
| 22 | (car (cdr (cdr (get-text-property pos 'display))))) | 22 | (let* ((xw (car (cdr (cdr (get-text-property pos 'display)))))) |
| 23 | (if ( xwidgetp car) xw nil)) | ||
| 23 | 24 | ||
| 24 | 25 | ||
| 25 | 26 | ||
| 26 | 27 | ||
| 27 | (defun xwidget-socket-handler () | 28 | (defun xwidget-socket-handler () |
| 28 | "creates plug for socket. TODO" | 29 | "creates plug for socket. TODO" |
| 29 | (interactive) | 30 | (interactive) |
| 30 | (message "socket handler xwidget %S" last-input-event) | 31 | (message "socket handler xwidget %S" last-input-event) |
| 31 | (let* | 32 | (let* |
| 32 | ((xwidget-event-type (nth 2 last-input-event)) | 33 | ((xwidget-event-type (nth 2 last-input-event)) |
| 33 | (xwidget-id (nth 1 last-input-event))) | 34 | (xwidget-id (nth 1 last-input-event))) |
| 34 | (cond ( (eq xwidget-event-type 'xembed-ready) | 35 | (cond ( (eq xwidget-event-type 'xembed-ready) |
| 35 | (let* | 36 | (let* |
| 36 | ((xembed-id (nth 3 last-input-event))) | 37 | ((xembed-id (nth 3 last-input-event))) |
| 37 | (message "xembed ready event: %S xw-id:%s" xembed-id xwidget-id) | 38 | (message "xembed ready event: %S xw-id:%s" xembed-id xwidget-id) |
| 38 | ;;TODO fetch process data from the xwidget. create it, store process info | 39 | ;;TODO fetch process data from the xwidget. create it, store process info |
| 39 | ;;will start emacs/uzbl in a xembed socket when its ready | 40 | ;;will start emacs/uzbl in a xembed socket when its ready |
| 40 | ;; (cond | 41 | ;; (cond |
| 41 | ;; ((eq 3 xwidget-id) | 42 | ;; ((eq 3 xwidget-id) |
| 42 | ;; (start-process "xembed" "*xembed*" (format "%ssrc/emacs" default-directory) "-q" "--parent-id" (number-to-string xembed-id) ) ) | 43 | ;; (start-process "xembed" "*xembed*" (format "%ssrc/emacs" default-directory) "-q" "--parent-id" (number-to-string xembed-id) ) ) |
| 43 | ;; ((eq 5 xwidget-id) | 44 | ;; ((eq 5 xwidget-id) |
| 44 | ;; (start-process "xembed2" "*xembed2*" "uzbl-core" "-s" (number-to-string xembed-id) "http://www.fsf.org" ) ) | 45 | ;; (start-process "xembed2" "*xembed2*" "uzbl-core" "-s" (number-to-string xembed-id) "http://www.fsf.org" ) ) |
| 45 | ))))) | 46 | )))))) |
| 46 | 47 | ||
| 47 | 48 | ||
| 48 | 49 | ||
diff --git a/src/xwidget.c b/src/xwidget.c index c2dc1ac8cf8..08b16bbbc35 100644 --- a/src/xwidget.c +++ b/src/xwidget.c | |||
| @@ -757,6 +757,13 @@ DEFUN ("xwidget-size-request", Fxwidget_size_request, Sxwidget_size_request, 1, | |||
| 757 | 757 | ||
| 758 | } | 758 | } |
| 759 | 759 | ||
| 760 | DEFUN ("xwidgetp", Fxwidgetp, Sxwidgetp, 1, 1, 0, | ||
| 761 | doc: /* Return t if OBJECT is a xwidget. */) | ||
| 762 | (Lisp_Object object) | ||
| 763 | { | ||
| 764 | return XWIDGETP (object) ? Qt : Qnil; | ||
| 765 | } | ||
| 766 | |||
| 760 | DEFUN("xwidget-info", Fxwidget_info , Sxwidget_info, 1,1,0, doc: /* get xwidget props */) | 767 | DEFUN("xwidget-info", Fxwidget_info , Sxwidget_info, 1,1,0, doc: /* get xwidget props */) |
| 761 | (Lisp_Object xwidget) | 768 | (Lisp_Object xwidget) |
| 762 | { | 769 | { |
| @@ -865,7 +872,7 @@ syms_of_xwidget (void) | |||
| 865 | int i; | 872 | int i; |
| 866 | 873 | ||
| 867 | defsubr (&Smake_xwidget); | 874 | defsubr (&Smake_xwidget); |
| 868 | 875 | defsubr (&Sxwidgetp); | |
| 869 | defsubr (&Sxwidget_info); | 876 | defsubr (&Sxwidget_info); |
| 870 | defsubr (&Sxwidget_view_info); | 877 | defsubr (&Sxwidget_view_info); |
| 871 | defsubr (&Sxwidget_resize); | 878 | defsubr (&Sxwidget_resize); |