Location: lg@xxxxxxxxxxxxxx http://arch.xwem.org/2005/
Revision: xwem--main--2.1--patch-11
Archive: lg@xxxxxxxxxxxxxx
Creator: Zajcev Evgeny <lg@xxxxxxxx>
Date: Wed Feb 2 02:08:58 MSK 2005
Standard-date: 2005-02-01 23:08:58 GMT
New-files: icons/.arch-ids/mini-opera.xpm.id
icons/mini-opera.xpm
Modified-files: lisp/xwem-icons.el lisp/xwem-manage.el
lisp/xwem-selections.el
New-patches: lg@xxxxxxxxxxxxxx/xwem--main--2.1--patch-11
Summary: Opera icon added. Opera application defined.
Keywords: opera, icon, application, selections, cutbuffer, region
* lisp/xwem-manage.el (xwem-applications-alist): [addon] Opera
application added.
* lisp/xwem-icons.el (xwem-icons-list): [addon] mini-opera.xpm added.
* lisp/xwem-selections.el (xwem-selections-no-remove): [new] Custom
variable to control `xwem-paste-cutbuffer' behaviour.
* lisp/xwem-selections.el (xwem-copy-region-as-cutbuffer): [new] Command
to put Emacs active region to `xwem-selections', so it can be pasted
with `H-y' lately in any client.
* added files
icons/.arch-ids/mini-opera.xpm.id
icons/mini-opera.xpm
{arch}/xwem/xwem--main/xwem--main--2.1/lg@xxxxxxxxxxxxxx/patch-log/patch-11
* modified files
--- orig/lisp/xwem-icons.el
+++ mod/lisp/xwem-icons.el
@@ -95,6 +95,7 @@
("mini-vnc.xpm" (application "vncviewer"))
("mini-firefox.xpm" (application "firefox"))
("mini-mozilla.xpm" (application "mozilla"))
+ ("mini-opera.xpm" (application "opera"))
("mini-gv.xpm" (or (application "gv") (application "ghostview")))
("mini-xfig.xpm" (application "xfig"))
("mini-ethereal.xpm" (application "ethereal"))
--- orig/lisp/xwem-manage.el
+++ mod/lisp/xwem-manage.el
@@ -119,6 +119,7 @@
(class-name "^Djview$")))
("mozilla" (class-inst "^[mM]ozilla"))
("firefox" (class-name "^Firefox"))
+ ("opera" (class-name "^Opera$"))
("rdesktop" (and (class-inst "^rdesktop$")
(class-name "^rdesktop$")))
("ddd" (class-name "^Ddd$"))
--- orig/lisp/xwem-selections.el
+++ mod/lisp/xwem-selections.el
@@ -45,6 +45,13 @@
:type 'number
:group 'xwem-selections)
+(defcustom xwem-selections-no-remove nil
+ "*Non-nil mean, reverse meaning of prefix arg for `xwem-paste-cutbuffer'
command.
+Without prefix arg, keep currently pasted cutbuffer.
+With prefix arg, remove it."
+ :type 'boolean
+ :group 'xwem-selections)
+
;;; Internal variables
@@ -142,7 +149,9 @@
;;;###autoload(autoload 'xwem-paste-cutbuffer "xwem-selections" "Paste
CUTBUFFER0 to `xwem-selections'." t)
(define-xwem-command xwem-paste-cutbuffer (&optional no-remove)
"Paste's most recent cutbuffer from `xwem-selections' to selected client.
-cutbuffer is removed from `xwem-selections', unless NO-REMOVE is non-nil."
+cutbuffer is removed from `xwem-selections', unless NO-REMOVE is non-nil.
+However if `xwem-selections-no-remove' is non-nil, NO-REMOVE have
+opposite meaning."
(xwem-interactive "_P")
(if (null xwem-selections)
@@ -150,10 +159,28 @@
(xwem-kbd-force-mods-release)
(mapc 'xwem-unread-command-event
- (if no-remove
+ (if (or (and xwem-selections-no-remove
+ (not no-remove))
+ (and (not xwem-selections-no-remove)
+ no-remove))
(car xwem-selections)
(pop xwem-selections)))))
+;;;###autoload(autoload 'xwem-copy-region-as-cutbuffer "xwem-selections" "Copy
region to `xwem-selections'." t)
+(define-xwem-command xwem-copy-region-as-cutbuffer ()
+ "Copy selected region to `xwem-selections' as ordinary cutbuffer."
+ (xwem-interactive)
+
+ (let* ((extp (region-active-p))
+ (regb (and (extentp extp) (extent-buffer extp)))
+ rr)
+ (unless (bufferp regb)
+ (error 'xwem-error "No active region"))
+
+ (setq rr (buffer-substring (region-beginning regb) (region-end regb) regb))
+ (push rr xwem-selections)
+ (xwem-message 'info "Copying: %S" rr)))
+
(provide 'xwem-selections)
|