[851] in Athena User Interface

home help back first fref pref prev next nref lref last post

Sawfish care and feeding

daemon@ATHENA.MIT.EDU (Christopher D. Beland)
Fri Aug 3 03:54:25 2001

Message-Id: <200108030754.DAA19798@Press-Your-Luck.mit.edu>
To: aui@MIT.EDU
Date: Fri, 03 Aug 2001 03:54:12 -0400
From: "Christopher D. Beland" <beland@MIT.EDU>


1a.) Bill reports:

> What we want:
>
> 	Click in the title bar raises window.
> 	Drag in the title bar moves but DOES NOT raise.
> 
> Binding
> 	Button1-Click1	Raise window
> 	Button1-Move	Move window interactively
> 
> results in the window ALWAYS being raised when you drag in the title bar
> to move it.
> 
> Perhaps this is because sawfish thinks a button click is always the DOWN
> event, and what it needs to understand is that a Click should be
> registered on tye UP event iff the mouse has not moved.
> 
> Perhaps there is a name other than Click1 for the event that means "NO
> event if drag, but a Click if just a click".

Sawfish does have a binding which activates on UP only, namely
"ButtonX-Off".  If you make the following bindings, I think you will
get the desired result for the above scenario:

 (window) Button1-Click	Raise window and pass through click
   -> This cannot be changed without risking not being able to send
      clicks to applications
 (title)  Button1-Click	Run shell command: echo > /dev/null
   -> This is needed to cancel out the previous binding in the more
      specific context, and is the only available "no action" choice
      in the GUI.
 (title)  Button1-Move  Move window interactively
 (title)  Button1-Off   Raise window

Note that this may make it slightly harder to raise windows, because
you have to hold the mouse rather still when you click. 

1b.) I have submitted a bug report detailing the need for a "no
  operation" function in these sorts of circumstances.  [8463 at
  bugzilla.eazel.com]

1c.) No, there is no end-user Sawfish documentation detailing tricks
  like the above, or the meanings for various bindings.  If I/S does
  come around to documenting such things (some examination of the
  source might be necessary) that would be a major contribution to the
  Sawfish user community, and would perhaps encourage others to help
  us maintain our documentation by contributing updates and more
  details.


2.) Bill reports:

> Heather Anne also points out that events bound to Click1 are done in
> addition to events bound to Click2.
>
> I just looked at the code in keys.c, and sure enough.  One button
> click comes in, and sets up the timers for a click count, AND sends
> a Click1 event out. A second button click comes in, the click count
> timeout is recognized as not having happend and the click count is
> incremented, and a Click2 event is sent out.
>
> Um, ur, uh, I think a double click should NOT imply a single click too.
>
> Am I wrong here?

I agree.  I have submitted a bug report [8464].


3.) We should consider making "Invoke the GNOME control center from
  the 'Customize' menu" the default behavior.  I'll check and see if
  this are available in the current version of Sawfish.  (It's present
  in 1.0.)


4.) The bug which requires a restart of Sawfish before "Matched
  Window" settings will take effect...has been fixed in version 1.0.


5.)  Other misc. Sawfish bugs reported today:

[8461] Default font color in Crux hard to read

 - In the Crux theme, the default font color is white.  This makes it
   very hard to read window titles against the gray background of
   unfocused windows.

[8462] Control Center should be default interface

 - There is an option under "Miscellaneous" to "Invoke the GNOME
   control center from the 'Customize' menu."  This should be made the
   default.  Users should always get a consistent interface; always
   using Control Center is the best way to accomplish this, since all
   their other settings are there.  Most users who need to invoke
   sawfish-ui instead are probably knowledgeable users who do not wish
   to install and/or entail the overhead of starting Control Center.

home help back first fref pref prev next nref lref last post