| 
					
				 | 
			
			
				@@ -166,6 +166,18 @@ indirectly, for example, through the agenda buffer.") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   :group 'org-mouse 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   :type 'string) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+(defcustom org-mouse-features 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  '(context-menu yank-link activate-stars activate-bullets activate-checkboxes) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  "The features of org-mouse that should be activated. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+Changing this variable requires a restart of Emacs to get activated." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  :group 'org-mouse 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  :type '(set :greedy t 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	      (const :tag "Mouse-3 shows context menu" context-menu) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	      (const :tag "C-mouse-1 and mouse-3 move trees" move-tree) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	      (const :tag "S-mouse-2 and drag-mouse-3 yank link" yank-link) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	      (const :tag "Activate headline stars" activate-stars) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	      (const :tag "Activate item bullets" activate-bullets) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	      (const :tag "Activate checkboxes" activate-checkboxes)))	       
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 (defun org-mouse-re-search-line (regexp) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   "Search the current line for a given regular expression." 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -410,7 +422,7 @@ SCHEDULED: or DEADLINE: or ANYTHINGLIKETHIS:" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 (defun org-mouse-tag-menu ()		;todo 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   (append 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-   (let ((tags (org-split-string (org-get-tags) ":"))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   (let ((tags (org-get-tags))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      (org-mouse-keyword-menu 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       (sort (mapcar 'car (org-get-buffer-tags)) 'string-lessp) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       `(lambda (tag) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -890,26 +902,42 @@ SCHEDULED: or DEADLINE: or ANYTHINGLIKETHIS:" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   '(lambda () 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      (setq org-mouse-context-menu-function 'org-mouse-context-menu) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-;     (define-key org-mouse-map [follow-link] 'mouse-face) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     (define-key org-mouse-map (if (featurep 'xemacs) [button3] [mouse-3]) nil) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     (define-key org-mode-map [mouse-3] 'org-mouse-show-context-menu) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     (when (memq 'context-menu org-mouse-features) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+       (define-key org-mouse-map (if (featurep 'xemacs) [button3] [mouse-3]) nil) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+       (define-key org-mode-map [mouse-3] 'org-mouse-show-context-menu)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      (define-key org-mode-map [down-mouse-1] 'org-mouse-down-mouse) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     (define-key org-mouse-map [C-drag-mouse-1] 'org-mouse-move-tree) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     (define-key org-mouse-map [C-down-mouse-1] 'org-mouse-move-tree-start) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     (define-key org-mode-map [S-mouse-2] 'org-mouse-yank-link) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     (define-key org-mode-map [drag-mouse-3] 'org-mouse-yank-link) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     (define-key org-mouse-map [drag-mouse-3] 'org-mouse-move-tree) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     (define-key org-mouse-map [down-mouse-3] 'org-mouse-move-tree-start) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     (font-lock-add-keywords nil 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     (when (memq 'context-menu org-mouse-features) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+       (define-key org-mouse-map [C-drag-mouse-1] 'org-mouse-move-tree) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+       (define-key org-mouse-map [C-down-mouse-1] 'org-mouse-move-tree-start)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     (when (memq 'yank-link org-mouse-features) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+       (define-key org-mode-map [S-mouse-2] 'org-mouse-yank-link) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+       (define-key org-mode-map [drag-mouse-3] 'org-mouse-yank-link)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     (when (memq 'move-tree org-mouse-features) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+       (define-key org-mouse-map [drag-mouse-3] 'org-mouse-move-tree) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+       (define-key org-mouse-map [down-mouse-3] 'org-mouse-move-tree-start)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     (when (memq 'activate-stars org-mouse-features) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+       (font-lock-add-keywords 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	nil 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	`((,outline-regexp 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	   0 `(face org-link mouse-face highlight keymap ,org-mouse-map) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	   'prepend) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	  ("^[ \t]*\\([-+*]\\|[0-9]+[.)]\\) +" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	   (1 `(face org-link keymap ,org-mouse-map mouse-face highlight) 'prepend)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	  ("^[ \t]*\\([-+*]\\|[0-9]+[.)]\\) +\\(\\[[ X]\\]\\)" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	   'prepend)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 	t)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     (when (memq 'activate-bullets org-mouse-features) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+       (font-lock-add-keywords 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	nil 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	`(("^[ \t]*\\([-+*]\\|[0-9]+[.)]\\) +" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	   (1 `(face org-link keymap ,org-mouse-map mouse-face highlight) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	      'prepend))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 	t)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     (when (memq 'activate-checkboxes org-mouse-features) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+       (font-lock-add-keywords 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	nil 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	`(("^[ \t]*\\([-+*]\\|[0-9]+[.)]\\) +\\(\\[[ X]\\]\\)" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	   (2 `(face bold keymap ,org-mouse-map mouse-face highlight) t))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 	t) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 	t)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      (defadvice org-open-at-point (around org-mouse-open-at-point activate) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        (let ((context (org-context))) 
			 |