Location: lg@xxxxxxxxxxxxxx http://arch.xwem.org/2005/
Revision: xwem--main--2.2--patch-31
Archive: lg@xxxxxxxxxxxxxx
Creator: Zajcev Evgeny <lg@xxxxxxxx>
Date: Fri Sep 23 00:30:43 MSD 2005
Standard-date: 2005-09-22 20:30:43 GMT
Modified-files: Makefile dockapp/xwem-time.el
lisp/xwem-frame.el lisp/xwem-keyboard.el
lisp/xwem-misc.el lisp/xwem-report.el
lisp/xwem-struct.el lisp/xwem-tabbing.el
lisp/xwem-theme.el lisp/xwem-tray.el lisp/xwem-win.el
New-patches: lg@xxxxxxxxxxxxxx/xwem--main--2.2--patch-31
Summary: tiny fixes, addons, enhances, more steps toward usef of xlib-ffi
Keywords:
* Makefile (dependences): [fix] Depend of .el files instead of .elc
* lisp/xwem-frame.el (xwem-frame-adjust-geom): [fix] Check that xwem
minibuffer already has X-Geom associated.
* lisp/xwem-misc.el (xwem-messages-ignore-labels): Removed
* lisp/xwem-misc.el (xwem-messages-ignore-log-labels): [new] Custom
variable to control messages logging based on labels matching.
* lisp/xwem-misc.el (xwem-messages-ignore-log-regexps): [new] Custom
variable to control messages logging based on message text matching.
* lisp/xwem-misc.el (xwem-messages-ignore-display-labels): [new] Custom
variable to control message displaying based on labels matching.
* lisp/xwem-misc.el (xwem-messages-ignore-display-regexps): [new] Custom
variable to control message displaying based on message text matching.
This patch allows you to control messaging in extremely flexible way, you
can get full control by setting up above four variables.
* added files
{arch}/xwem/xwem--main/xwem--main--2.2/lg@xxxxxxxxxxxxxx/patch-log/patch-31
* modified files
--- orig/Makefile
+++ mod/Makefile
@@ -222,62 +222,62 @@
#### DEPS
-lisp/xwem-load.elc: lisp/xwem-loaddefs.elc lisp/xwem-struct.elc
lisp/xwem-interactive.elc lisp/xwem-faces.elc
-lisp/xwem-win.elc: lisp/xwem-load.elc
-lisp/xwem-frame.elc: lisp/xwem-load.elc lisp/xwem-misc.elc
-lisp/xwem-clgen.elc: lisp/xwem-load.elc lisp/xwem-manage.elc lisp/xwem-misc.elc
-lisp/xwem-clients.elc: lisp/xwem-load.elc lisp/xwem-manage.elc
lisp/xwem-misc.elc
-lisp/xwem-clswi.elc: lisp/xwem-clients.elc
-lisp/xwem-desktop.elc: lisp/xwem-load.elc lisp/xwem-frame.elc
-lisp/xwem-edmacro.elc: lisp/xwem-load.elc
-lisp/xwem-events.elc: lisp/xwem-load.elc
-lisp/xwem-faces.elc: lisp/xwem-struct.elc lisp/xwem-loaddefs.elc
-lisp/xwem-focus.elc: lisp/xwem-load.elc
-lisp/xwem-help.elc: lisp/xwem-load.elc lisp/xwem-misc.elc
-lisp/xwem-icons.elc: lisp/xwem-load.elc
-lisp/xwem-interactive.elc: lisp/xwem-struct.elc lisp/xwem-loaddefs.elc
-lisp/xwem-keyboard.elc: lisp/xwem-load.elc lisp/xwem-misc.elc
-lisp/xwem-keydefs.elc: lisp/xwem-load.elc lisp/xwem-misc.elc
lisp/xwem-compat.elc
-lisp/xwem-keymacro.elc: lisp/xwem-load.elc lisp/xwem-misc.elc
-lisp/xwem-launcher.elc: lisp/xwem-load.elc
-lisp/xwem-main.elc: lisp/xwem-load.elc lisp/xwem-minibuffer.elc
-lisp/xwem-manage.elc: lisp/xwem-load.elc
-lisp/xwem-minibuffer.elc: lisp/xwem-load.elc lisp/xwem-focus.elc
lisp/xwem-manage.elc
-lisp/xwem-misc.elc: lisp/xwem-load.elc
-lisp/xwem-modes.elc: lisp/xwem-load.elc
-lisp/xwem-mouse.elc: lisp/xwem-load.elc lisp/xwem-manage.elc
-lisp/xwem-netwm.elc: lisp/xwem-load.elc lisp/xwem-manage.elc
-lisp/xwem-register.elc: lisp/xwem-load.elc lisp/xwem-help.elc
-lisp/xwem-root.elc: lisp/xwem-load.elc lisp/xwem-misc.elc
-lisp/xwem-rooter.elc: lisp/xwem-load.elc lisp/xwem-manage.elc
lisp/xwem-focus.elc
-lisp/xwem-selections.elc: lisp/xwem-load.elc lisp/xwem-help.elc
-lisp/xwem-sound.elc: lisp/xwem-load.elc
-lisp/xwem-special.elc: lisp/xwem-load.elc lisp/xwem-manage.elc
-lisp/xwem-strokes.elc: lisp/xwem-load.elc lisp/xwem-misc.elc
-lisp/xwem-tabbing.elc: lisp/xwem-load.elc
-lisp/xwem-theme.elc: lisp/xwem-load.elc
-lisp/xwem-transient.elc: lisp/xwem-load.elc lisp/xwem-focus.elc
lisp/xwem-manage.elc
-lisp/xwem-tray.elc: lisp/xwem-load.elc lisp/xwem-help.elc lisp/xwem-manage.elc
-
-utils/xwem-appcollect.elc: lisp/xwem-load.elc lisp/xwem-manage.elc
lisp/xwem-launcher.elc
-utils/xwem-diagram.elc: lisp/xwem-faces.elc
-utils/xwem-holer.elc: lisp/xwem-load.elc lisp/xwem-compat.elc
lisp/xwem-frame.elc
-utils/xwem-osd.elc: utils/xwem-diagram.elc
-utils/xwem-worklog.elc: lisp/xwem-load.elc lisp/xwem-misc.elc
lisp/xwem-compat.elc utils/xwem-diagram.elc
-
-dockapp/xwem-battery.elc: lisp/xwem-load.elc
-dockapp/xwem-framei.elc: lisp/xwem-load.elc lisp/xwem-frame.elc
utils/xwem-osd.elc
-dockapp/xwem-pager.elc: lisp/xwem-load.elc
-dockapp/xwem-time.elc: lisp/xwem-load.elc
-dockapp/xwem-weather.elc: utils/xwem-osd.elc lisp/xwem-interactive.elc
lisp/xwem-help.elc lisp/xwem-compat.elc
-
-extra/xwem-edprops.elc: lisp/xwem-load.elc
-extra/xwem-framtrans.elc: lisp/xwem-load.elc
-extra/xwem-gamma.elc: lisp/xwem-load.elc lisp/xwem-misc.elc
-extra/xwem-ratanot.elc: lisp/xwem-load.elc lisp/xwem-manage.elc
-extra/xwem-recover.elc: lisp/xwem-load.elc
-extra/xwem-rooticon.elc: lisp/xwem-load.elc lisp/xwem-misc.elc
-extra/xwem-smartmods.elc: lisp/xwem-load.elc lisp/xwem-keyboard.elc
-extra/xwem-vert.elc: lisp/xwem-load.elc
+lisp/xwem-load.elc: lisp/xwem-loaddefs.el lisp/xwem-struct.el
lisp/xwem-interactive.el lisp/xwem-faces.el
+lisp/xwem-win.elc: lisp/xwem-load.el
+lisp/xwem-frame.elc: lisp/xwem-load.el lisp/xwem-misc.el
+lisp/xwem-clgen.elc: lisp/xwem-load.el lisp/xwem-manage.el lisp/xwem-misc.el
+lisp/xwem-clients.elc: lisp/xwem-load.el lisp/xwem-manage.el lisp/xwem-misc.el
+lisp/xwem-clswi.elc: lisp/xwem-clients.el
+lisp/xwem-desktop.elc: lisp/xwem-load.el lisp/xwem-frame.el
+lisp/xwem-edmacro.elc: lisp/xwem-load.el
+lisp/xwem-events.elc: lisp/xwem-load.el
+lisp/xwem-faces.elc: lisp/xwem-struct.el lisp/xwem-loaddefs.el
+lisp/xwem-focus.elc: lisp/xwem-load.el
+lisp/xwem-help.elc: lisp/xwem-load.el lisp/xwem-misc.el
+lisp/xwem-icons.elc: lisp/xwem-load.el
+lisp/xwem-interactive.elc: lisp/xwem-struct.el lisp/xwem-loaddefs.el
+lisp/xwem-keyboard.elc: lisp/xwem-load.el lisp/xwem-misc.el
+lisp/xwem-keydefs.elc: lisp/xwem-load.el lisp/xwem-misc.el lisp/xwem-compat.el
+lisp/xwem-keymacro.elc: lisp/xwem-load.el lisp/xwem-misc.el
+lisp/xwem-launcher.elc: lisp/xwem-load.el
+lisp/xwem-main.elc: lisp/xwem-load.el lisp/xwem-minibuffer.el
+lisp/xwem-manage.elc: lisp/xwem-load.el
+lisp/xwem-minibuffer.elc: lisp/xwem-load.el lisp/xwem-focus.el
lisp/xwem-manage.el
+lisp/xwem-misc.elc: lisp/xwem-load.el
+lisp/xwem-modes.elc: lisp/xwem-load.el
+lisp/xwem-mouse.elc: lisp/xwem-load.el lisp/xwem-manage.el
+lisp/xwem-netwm.elc: lisp/xwem-load.el lisp/xwem-manage.el
+lisp/xwem-register.elc: lisp/xwem-load.el lisp/xwem-help.el
+lisp/xwem-root.elc: lisp/xwem-load.el lisp/xwem-misc.el
+lisp/xwem-rooter.elc: lisp/xwem-load.el lisp/xwem-manage.el lisp/xwem-focus.el
+lisp/xwem-selections.elc: lisp/xwem-load.el lisp/xwem-help.el
+lisp/xwem-sound.elc: lisp/xwem-load.el
+lisp/xwem-special.elc: lisp/xwem-load.el lisp/xwem-manage.el
+lisp/xwem-strokes.elc: lisp/xwem-load.el lisp/xwem-misc.el
+lisp/xwem-tabbing.elc: lisp/xwem-load.el
+lisp/xwem-theme.elc: lisp/xwem-load.el
+lisp/xwem-transient.elc: lisp/xwem-load.el lisp/xwem-focus.el
lisp/xwem-manage.el
+lisp/xwem-tray.elc: lisp/xwem-load.el lisp/xwem-help.el lisp/xwem-manage.el
+
+utils/xwem-appcollect.elc: lisp/xwem-load.el lisp/xwem-manage.el
lisp/xwem-launcher.el
+utils/xwem-diagram.elc: lisp/xwem-faces.el
+utils/xwem-holer.elc: lisp/xwem-load.el lisp/xwem-compat.el lisp/xwem-frame.el
+utils/xwem-osd.elc: utils/xwem-diagram.el
+utils/xwem-worklog.elc: lisp/xwem-load.el lisp/xwem-misc.el
lisp/xwem-compat.el utils/xwem-diagram.el
+
+dockapp/xwem-battery.elc: lisp/xwem-load.el
+dockapp/xwem-framei.elc: lisp/xwem-load.el lisp/xwem-frame.el utils/xwem-osd.el
+dockapp/xwem-pager.elc: lisp/xwem-load.el
+dockapp/xwem-time.elc: lisp/xwem-load.el
+dockapp/xwem-weather.elc: utils/xwem-osd.el lisp/xwem-interactive.el
lisp/xwem-help.el lisp/xwem-compat.el
+
+extra/xwem-edprops.elc: lisp/xwem-load.el
+extra/xwem-framtrans.elc: lisp/xwem-load.el
+extra/xwem-gamma.elc: lisp/xwem-load.el lisp/xwem-misc.el
+extra/xwem-ratanot.elc: lisp/xwem-load.el lisp/xwem-manage.el
+extra/xwem-recover.elc: lisp/xwem-load.el
+extra/xwem-rooticon.elc: lisp/xwem-load.el lisp/xwem-misc.el
+extra/xwem-smartmods.elc: lisp/xwem-load.el lisp/xwem-keyboard.el
+extra/xwem-vert.elc: lisp/xwem-load.el
.PHONY: clean distclean ./lisp/xwem-version.el
--- orig/dockapp/xwem-time.el
+++ mod/dockapp/xwem-time.el
@@ -48,7 +48,7 @@
(require 'xlib-xshape)
(require 'xlib-xpm)
-(require 'xlib-img)
+(ignore-errors (require 'xlib-img))
(require 'xlib-tray)
(require 'xwem-load)
--- orig/lisp/xwem-frame.el
+++ mod/lisp/xwem-frame.el
@@ -608,10 +608,16 @@
(defun xwem-frame-adjust-geom (frame new-rect)
"Adjust FRAME geom according to NEW-RECT and xwem-minibuffer geom."
- (let ((mrect (X-Geom-to-X-Rect (xwem-minib-xgeom xwem-minibuffer)))
- (brd (X-Geom-border-width (xwem-minib-xgeom xwem-minibuffer)))
- ngeom)
- (when (xwem-cl-active-p (xwem-minib-cl xwem-minibuffer))
+ (let* ((minib-has-xgeom-p (X-Geom-p (xwem-minib-xgeom xwem-minibuffer)))
+ (mrect (or (and minib-has-xgeom-p
+ (X-Geom-to-X-Rect (xwem-minib-xgeom xwem-minibuffer)))
+ (make-X-Rect :x 0 :y 0 :width 0 :height 0)))
+ (brd (or (and minib-has-xgeom-p
+ (X-Geom-border-width (xwem-minib-xgeom
xwem-minibuffer)))
+ 0))
+ ngeom)
+ (when (and (xwem-cl-alive-p (xwem-minib-cl xwem-minibuffer))
+ (xwem-cl-active-p (xwem-minib-cl xwem-minibuffer)))
(when brd
(incf (X-Rect-width mrect) (+ brd brd))
(incf (X-Rect-height mrect) (+ brd brd)))
--- orig/lisp/xwem-keyboard.el
+++ mod/lisp/xwem-keyboard.el
@@ -587,9 +587,9 @@
(match-end 1))))))
(t (or (X-XKeysymDB-sym->keysym ksym)
- (Xforcenum (string-to-char osymname)))))))
+ (char-to-int (string-to-char osymname)))))))
- ((characterp ksym) (Xforcenum ksym)) ;Should not be there
+ ((characterp ksym) (char-to-int ksym)) ;Should not be there
(t 0))) ;HMM!
@@ -1511,8 +1511,8 @@
(xwem-kbd-initialize-modifiers)
;; Some messaging configuration
- (add-to-list 'xwem-messages-ignore-labels 'keys)
- (add-to-list 'xwem-messages-ignore-labels 'keys-continuator)
+ (add-to-list 'xwem-messages-ignore-log-labels 'keys)
+ (add-to-list 'xwem-messages-ignore-log-labels 'keys-continuator)
(run-hooks 'xwem-keyboard-init-hook)
(put 'xwem-keyboard 'initialized t)
--- orig/lisp/xwem-misc.el
+++ mod/lisp/xwem-misc.el
@@ -41,12 +41,14 @@
;;
(require 'xlib-xlib)
-(require 'xlib-img)
(require 'xwem-load)
(require 'advice)
(eval-and-compile
+ (require 'cl)
+ (ignore-errors (require 'xlib-img))
+
(defvar iswitchb-buflist nil) ; shutup compiler
(defvar x-emacs-application-class nil)
(autoload 'iswitchb-read-buffer "iswitchb") ; shutup compiler
@@ -188,7 +190,7 @@
"List of builtin labels.")
;;;###autoload
-(defcustom xwem-messages-ignore-labels
+(defcustom xwem-messages-ignore-log-labels
'(prompt progress nolog)
"*List of message labels to ignore putting them into xwem message log
buffer."
:type '(repeat (choice (symbol :tag "Custom label")
@@ -203,8 +205,33 @@
(const :tag "NoLog" nolog)))
:group 'xwem-misc)
-(defcustom xwem-message-ignore-regexps nil
- "List of regexps matching messages should not be shown and logged.
+;;;###autoload
+(defcustom xwem-messages-ignore-display-labels
+ nil
+ "*List of message labels to ignore displaying them in xwem minibuffer."
+ :type '(repeat (choice (symbol :tag "Custom label")
+ (const :tag "Alarm" alarm)
+ (const :tag "Error" error)
+ (const :tag "Warning" warning)
+ (const :tag "Info" info)
+ (const :tag "Note" note)
+ (const :tag "TODO" todo)
+ (const :tag "Prompt" prompt)
+ (const :tag "Progress" progress)
+ (const :tag "NoLog" nolog)))
+ :group 'xwem-misc)
+
+;;;###autoload
+(defcustom xwem-messages-ignore-log-regexps nil
+ "*List of regexps matching messages should not be logged.
+Customize this variable only if you know what you are doing.
+Setting this variable will slow down messaging a bit."
+ :type '(repeat regexp)
+ :group 'xwem-misc)
+
+;;;###autoload
+(defcustom xwem-messages-ignore-display-regexps nil
+ "*List of regexps matching messages should not be displayed in the
minibuffer.
Customize this variable only if you know what you are doing.
Setting this variable will slow down messaging a bit."
:type '(repeat regexp)
@@ -486,28 +513,19 @@
(let ((fgc (xwem-misc-colorspec->rgb-vector-safe fgcol [0 0 0]))
(bgc (xwem-misc-colorspec->rgb-vector-safe bgcol 'invalid-bgcol))
- src-char msk-char cursor)
+ src-char msk-char)
(cond ((listp type)
(setq src-char (eval (car type))
msk-char (1+ src-char)))
(t (setq src-char (eval type)
msk-char src-char)))
- (setq cursor (make-X-Cursor
- :dpy (xwem-dpy) :id (X-Dpy-get-id (xwem-dpy))
- :source xwem-cursor-fnt
- :mask xwem-cursor-fnt
- :src-char src-char
- :msk-char msk-char
- :fgred (aref fgc 0)
- :fggreen (aref fgc 1)
- :fgblue (aref fgc 2)))
- (unless (eq bgc 'invalid-bgcol)
- (setf (X-Cursor-bgred cursor) (aref bgc 0))
- (setf (X-Cursor-bggreen cursor) (aref bgc 1))
- (setf (X-Cursor-bgblue cursor) (aref bgc 2)))
-
- (XCreateGlyphCursor (xwem-dpy) cursor)
- cursor))
+ (XCreateGlyphCursor
+ (xwem-dpy) :source xwem-cursor-fnt :mask xwem-cursor-fnt
+ :src-char src-char :msk-char msk-char
+ :fgred (aref fgc 0) :fggreen (aref fgc 1) :fgblue (aref fgc 2)
+ :bgred (unless (eq bgc 'invalid-bgcol) (aref bgc 0))
+ :bggreen (unless (eq bgc 'invalid-bgcol) (aref bgc 1))
+ :bgblue (unless (eq bgc 'invalid-bgcol) (aref bgc 2)))))
;;;###xwem-autoload
(defun xwem-cursor-recolorize (cursor new-fg &optional new-bg)
@@ -809,18 +827,17 @@
(defun xwem-message-log (label message)
"Log MESSAGE in `xwem-messages-buffer-name' buffer."
- (unless (memq label xwem-messages-ignore-labels)
- (with-current-buffer (get-buffer-create xwem-messages-buffer-name)
- (let ((inhibit-read-only t))
- ;; Remove all messages from buffer if it exided maximum value
- (when (> (count-lines (point-min) (point-max))
- xwem-messages-buffer-lines)
- (delete-region (point-min) (point-max)))
-
- (goto-char (point-max))
- (insert (format-time-string "%D %T: "))
- (insert message)
- (insert "\n")))))
+ (with-current-buffer (get-buffer-create xwem-messages-buffer-name)
+ (let ((inhibit-read-only t))
+ ;; Remove all messages from buffer if it exided maximum value
+ (when (> (count-lines (point-min) (point-max))
+ xwem-messages-buffer-lines)
+ (delete-region (point-min) (point-max)))
+
+ (goto-char (point-max))
+ (insert (format-time-string "%D %T: "))
+ (insert message)
+ (insert "\n"))))
;;;###xwem-autoload
(defun xwem-clear-message (&optional label)
@@ -839,8 +856,7 @@
(when (zerop (minibuffer-depth))
;; Activate minibuffer, if not ignoring this label
(when (and xwem-minibuffer
- (xwem-minib-cl xwem-minibuffer)
- (not (memq label xwem-messages-ignore-labels)))
+ (xwem-minib-cl xwem-minibuffer))
(xwem-activate (xwem-minib-cl xwem-minibuffer)))
(add-to-list 'log-message-ignore-labels label) ; avoid logging in
*Messages*
(if append-p
@@ -869,22 +885,30 @@
(when snd
(xwem-play-sound (cdr snd)))))
-(defun xwem-message-maybe-ignore (msg)
- "Return non-nil if MSG should not be shown and logged."
- (memq t (mapcar (lambda (rx)
- (when (string-match rx msg) t))
- xwem-message-ignore-regexps)))
+(defun xwem-message-ignore-display-p (label msg)
+ "Return non-nil if LABELed MSG should not be displayed."
+ (or (memq label xwem-messages-ignore-display-labels)
+ (memq t (mapcar (lambda (rx)
+ (when (string-match rx msg) t))
+ xwem-messages-ignore-display-regexps))))
+
+(defun xwem-message-ignore-log-p (label msg)
+ "Return non-nil if LABELed message MSG should not be logged."
+ (or (memq label xwem-messages-ignore-log-labels)
+ (memq t (mapcar (lambda (rx)
+ (when (string-match rx msg) t))
+ xwem-messages-ignore-log-regexps))))
(defun xwem-message-1 (label fmt append-p &rest args)
(let* ((print-level 3) ; XXX limit print level
(msg (if (eq label 'asis) fmt (apply 'format fmt args)))
(lp (xwem-message-label-prefix label)))
- (unless (xwem-message-maybe-ignore msg)
- (when lp
- (setq msg (concat lp msg)))
- (xwem-message-log label msg)
- (xwem-message-maybe-beep label)
-
+ (when lp
+ (setq msg (concat lp msg)))
+ (unless (xwem-message-ignore-log-p label msg)
+ (xwem-message-log label msg))
+ (xwem-message-maybe-beep label)
+ (unless (xwem-message-ignore-display-p label msg)
(xwem-message-insert label msg append-p))))
(defun xwem-message-append (label fmt &rest args)
--- orig/lisp/xwem-report.el
+++ mod/lisp/xwem-report.el
@@ -169,7 +169,7 @@
(eval-when-compile
(autoload 'xwem-dpy "xwem-struct" nil nil 'macro)
- (require 'xlib-xc))
+ (ignore-errors (require 'xlib-xc)))
(defun xwem-prepare-report ()
"Grabs the variables, features to include in bug report.
--- orig/lisp/xwem-struct.el
+++ mod/lisp/xwem-struct.el
@@ -32,7 +32,8 @@
;;; Code:
-(require 'xlib-xc)
+(ignore-errors
+ (require 'xlib-xc))
(eval-when-compile
;; Shut up compiler
--- orig/lisp/xwem-tabbing.el
+++ mod/lisp/xwem-tabbing.el
@@ -68,8 +68,6 @@
;;; Code:
(require 'xlib-xlib)
-(require 'xlib-img)
-
(require 'xwem-load)
;;; Customisation
@@ -638,7 +636,7 @@
(eval (read elstr))))
;; Ditig is number of aditional GC
- ((and (> (Xforcenum fi) 47) (< (Xforcenum fi) 57))
+ ((and (> (char-to-int fi) 47) (< (char-to-int fi)
57))
(let* ((n (string-to-int (char-to-string fi)))
(gc (xwem-face-get-gc
(if (zerop n)
--- orig/lisp/xwem-theme.el
+++ mod/lisp/xwem-theme.el
@@ -383,7 +383,9 @@
(custom xwem-root-cursor-foreground-color "white")
(custom xwem-root-cursor-background-color "black")
(custom xwem-frame-cursor-foreground-color "#111111")
- (custom xwem-frame-cursor-background-color "#EEEEEE")))
+ (custom xwem-frame-cursor-background-color "#EEEEEE")
+ (custom xwem-tray-cursor-foreground-color "#000075")
+ (custom xwem-tray-cursor-background-color "#ffffff")))
(defconst xwem-cursor-extrim-theme
`((custom xwem-cursor-help-foreground-color "#888888")
--- orig/lisp/xwem-tray.el
+++ mod/lisp/xwem-tray.el
@@ -111,7 +111,7 @@
:type 'number
:group 'xwem-tray)
-(defcustom xwem-tray-cursor-shape 'X-XC-right_ptr
+(defcustom xwem-tray-cursor-shape '(X-XC-right_ptr)
"*Cursor shape which will be used when pointer is over dock app."
:type (xwem-cursor-shape-choice)
:set (xwem-cus-set-cursor-shape
@@ -127,7 +127,7 @@
:initialize 'custom-initialize-default
:group 'xwem-tray)
-(defcustom xwem-tray-cursor-background-color "#000039"
+(defcustom xwem-tray-cursor-background-color "#ffffff"
"*Cursor's background color used when poniter is on dock app."
:type 'color
:set (xwem-cus-set-cursor-background xwem-tray-cursor)
--- orig/lisp/xwem-win.el
+++ mod/lisp/xwem-win.el
@@ -243,7 +243,9 @@
(defvar xwem-win-next-id 0)
(defun xwem-win-gen-id ()
"Generate new window id."
- (truncate (X-Dpy-get-id (xwem-dpy))))
+ (truncate (+ (X-Dpy-resource-base (xwem-dpy))
+ (X-Dpy-resource-id (xwem-dpy))
+ (incf xwem-win-next-id))))
(defun xwem-win-hacked-or (&rest args)
"Like `or', but can by used under `apply'."
|