Enable clipboard on the menu bar and make Paste from the menu bar first
authorJan Djärv <jan.h.d@swipnet.se>
Wed, 21 Jan 2004 10:56:29 +0000 (10:56 +0000)
committerJan Djärv <jan.h.d@swipnet.se>
Wed, 21 Jan 2004 10:56:29 +0000 (10:56 +0000)
use clipboard.  For compliance with freedesktop.org.

lisp/ChangeLog
lisp/term/x-win.el

index 4486254..e225d87 100644 (file)
@@ -1,3 +1,8 @@
+2004-01-21  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
+
+       * term/x-win.el: Call menu-bar-enable-clipboard and make Paste
+       use clipboard first.
+
 2004-01-20  Stefan Monnier  <monnier@iro.umontreal.ca>
 
        * outline.el (outline-insert-heading): Tighten up match.
index d6260cb..9e37943 100644 (file)
@@ -2385,12 +2385,6 @@ order until succeed.")
        ;; generated from FONT.
        (create-fontset-from-ascii-font font resolved-name "startup"))))
 
-;; Sun expects the menu bar cut and paste commands to use the clipboard.
-;; This has ,? to match both on Sunos and on Solaris.
-(if (string-match "Sun Microsystems,? Inc\\."
-                 (x-server-vendor))
-    (menu-bar-enable-clipboard))
-
 ;; Apply a geometry resource to the initial frame.  Put it at the end
 ;; of the alist, so that anything specified on the command line takes
 ;; precedence.
@@ -2456,5 +2450,22 @@ order until succeed.")
 ;; Turn on support for mouse wheels.
 (mouse-wheel-mode 1)
 
+;; Enable CLIPBOARD copy/paste through menu bar commands.
+(menu-bar-enable-clipboard)
+
+;; Override Paste so it looks at CLIPBOARD first.
+(defun x-clipboard-yank ()
+  "Insert the clipboard contents, or the last stretch of killed text."
+  (interactive)
+  (let ((clipboard-text (x-get-selection 'CLIPBOARD))
+       (x-select-enable-clipboard t))
+    (if (and clipboard-text (> (length clipboard-text) 0))
+       (kill-new clipboard-text))
+    (yank)))
+
+(define-key menu-bar-edit-menu [paste]
+  (cons "Paste" (cons "Paste text from clipboard or kill ring"
+                     'x-clipboard-yank)))
+
 ;;; arch-tag: f1501302-db8b-4d95-88e3-116697d89f78
 ;;; x-win.el ends here