Re: FVWM: problems with All command

From: Dominik Vogt <fvwm_at_fvwm.org>
Date: Tue, 24 Jun 2003 08:55:48 +0200

On Mon, Jun 23, 2003 at 09:16:59PM -0400, Thomas R. Dean wrote:
> Hi. I've been using fvwm since I don't remember when, somewhere back
> around Redhat 5 anyways. Great WM, not as heavyweight as some
> of the others, and not as visually busy as the others as well.
>
> Anyhow, I just recently upgraded the Motherboard in my system and
> the keyboard. The new keyboard has multimedia keys and I wanted
> to used them to control XMMS. I also have a mac powerbook and having
> the volume keys work regardless of the application is very convenient.
>
> Target System is RedHat 9, FVWM version 2.4.16.
>
> So i've done the following:
> Used xmodmap in .xinitrc to bind XF86AudioRaiseVolume, etc. to the
> appropriate keycodes. (and verified with xev)
>
> Added the following to my .fvwm2rc:
>
> Key XF86AudioRaiseVolume A A ALL (XMMS*) Echo up $[w.id] $[w.name]
> Key XF86AudioLowerVolume A A ALL (XMMS*) Echo down $[w.id] $[w.name]
> Key XF86AudioMute A A ALL (XMMS*) Echo mute $[w.id] $[w.name]
>
> I was going to replace echo with an exec to execute a command that will
> send an KP_Up or KP_Down event directly to the XMMS window (which
> will adjust the volume). As I understand the man page, the $[w.id] is
> supposed to return
> the window id that the command is called on. There are two xmms windows, the
> main control and the playlist window. Each press of the button should
> echo two window
> ids (and the window name).
>
> If the focus is on the root, then the correct window ids and titles are
> echoed:
>
> 0x1400066 XMMS - song title info
> 0x14000cf XMMS Playlist
>
> All is well so far. However, if any window has the focus then I get the
> window id of the window with the focus -- twice. So if the focus is on
> an xterm, I get two lines of:
> up 0x1200026 xterm.
>
> I've looked through several months worth of archive and used google to
> search
> the site, but I haven't found any help.
>
> Do I have the correct interpretation of $[w.id]? If not, what should I use?

  All (XMMS*) Echo $[w.id]

is actually two commands and thus the $[w.id] string is expanded
twice. The first time is *before* the All command is run. At
that moment, the context window is the window with the focus and
$[w.id] is replaced by its window id. You need to protect the
$[w.id] from this step of variable expansion by adding additional
'$'s in front of it (even for me it's usually trial and error to
find out the correct number of '$'s):

  Key foo a a All (XMMS*) Echo $$$[w.id]
                               ^^^^^

Bye

Dominik ^_^ ^_^
--
Visit the official FVWM web page at <URL: http://www.fvwm.org/>.
To unsubscribe from the list, send "unsubscribe fvwm" in the body of a
message to majordomo_at_fvwm.org.
To report problems, send mail to fvwm-owner_at_fvwm.org.
Received on Tue Jun 24 2003 - 01:55:28 BST

This archive was generated by hypermail 2.3.0 : Mon Aug 29 2016 - 19:37:55 BST