aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoakim Verona2011-08-01 11:56:06 +0200
committerJoakim Verona2011-08-01 11:56:06 +0200
commiteac24b5200ba6fba56aa73b3cc9a8d7c8aa870bb (patch)
tree2947ae01be77a4e01da5cabf21ebf18c7b54056e
parent332f858fd7fa815846cfc48219df8952c75a44ae (diff)
downloademacs-eac24b5200ba6fba56aa73b3cc9a8d7c8aa870bb.tar.gz
emacs-eac24b5200ba6fba56aa73b3cc9a8d7c8aa870bb.zip
xwidgetp
-rw-r--r--lisp/xwidget.el43
-rw-r--r--src/xwidget.c9
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
760DEFUN ("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
760DEFUN("xwidget-info", Fxwidget_info , Sxwidget_info, 1,1,0, doc: /* get xwidget props */) 767DEFUN("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);