sawfish r4213 - trunk/lisp/sawfish/wm/state



Author: jkozicki
Date: Sat Jan 19 12:34:03 2008
New Revision: 4213
URL: http://svn.gnome.org/viewvc/sawfish?rev=4213&view=rev

Log:
KDE system tray fix by Timo Korvola

Ignore out of bounds _NET_CURRENT_DESKTOP requests silently.

KDE system tray apps have a nasty habit of sending _NET_CURRENT_DESKTOP client
messages with a parameter of -1, which confuses Sawfish. This patch adds some
bounds checking. 



Modified:
   trunk/lisp/sawfish/wm/state/wm-spec.jl

Modified: trunk/lisp/sawfish/wm/state/wm-spec.jl
==============================================================================
--- trunk/lisp/sawfish/wm/state/wm-spec.jl	(original)
+++ trunk/lisp/sawfish/wm/state/wm-spec.jl	Sat Jan 19 12:34:03 2008
@@ -519,7 +519,12 @@
 	 (set-viewport (aref data 0) (aref data 1)))
 
 	((_NET_CURRENT_DESKTOP)
-	 (select-workspace (workspace-id-from-logical (aref data 0))))
+         ; KDE spews _NET_CURRENT_DESKTOP( -1) messages so often that it
+         ; is best to just ignore out of bounds errors silently.
+         (let ((ws (workspace-id-from-logical (aref data 0)))
+               (limits (workspace-limits)))
+           (if (<= (car limits) ws (cdr limits))
+               (select-workspace ws))))
 
 	((_NET_DESKTOP_NAMES)
 	 ;; XXX this is kind of broken now we use workspace-names to



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]