Re: [dwm] Multimedia, print screen keys

From: Jeremy Jay <dinkumator_AT_gmail.com>
Date: Sat, 14 Feb 2009 18:06:26 -0500

spawn/execvp() is supposed to get each argument as a pointer, not all-in-one.
all the commands you are having trouble with also happen to have arguments.
On top of that, I don't think you have the right arguments for amixer...

Here's the relevent parts of my config for an example:

-----
static const char *sound_up[] = { "/usr/bin/amixer", "-q", "set", "Master", "10+", NULL };
static const char *sound_down[] = { "/usr/bin/amixer", "-q", "set", "Master", "10-", NULL };
static const char *sound_mute[] = { "/usr/bin/amixer", "-q", "set", "Master", "toggle", NULL };

static Key keys[] = {
  { 0, XF86XK_AudioRaiseVolume, spawn, {.v = sound_up } },
  { 0, XF86XK_AudioLowerVolume, spawn, {.v = sound_down } },
  { 0, XF86XK_AudioMute, spawn, {.v = sound_mute } },
};
-----

Jeremy

On Sat 14 Feb 2009 - 03:18PM, Jake Todd wrote:
> I've just switched from awesome to dwm, and in the process of migrating
> my config from lua to the c header file I've encountered some trouble.
>
> The first problem is I can't get my multimedia keys to function (volume
> up/down/mute). I've searched through the mail archives and haven't
> found a fix that works for me. In my config.h I've tried to use
> XF86AudioRaiseVolume, XK_121 (that's the keycode), and the last thing I
> could think of to try was 0x1008ff13 (keysym); but none work.
>
> The next problem I've encountered was the same problem with the print
> key. I've tried it's keycode, keysym, and XK_Print, but none of these
> work either. I've added #include <X11/keysym.h> to dwm.c, but this
> didn't help at all.
>
> Has anyone else achived this sort of thing with just dwm without an
> external program like xbindkeys?
>
> I've attached my current config.h also.
>
> Thanks for any help.

> /* commands */
> static const char *termcmd[] = { "xterm", NULL };
> static const char *scrot[] = { "scrot '%Y-%m-%d-%T_$wx$h_scrot.png' -e 'mv $f ~/media/pics/scrots/'", NULL };
> static const char *firefox[] = { "firefox", NULL };
> static const char *pidgin[] = { "pidgin", NULL };
> static const char *gpodder[] = { "gpodder", NULL };
> static const char *vim[] = { "xterm -name vim -e vim", NULL };
> static const char *pcmanfm[] = { "pcmanfm", NULL };
> static const char *oowriter[] = { "oowriter", NULL };
> static const char *gimp[] = { "gimp", NULL };
> static const char *inkscape[] = { "inkscape", NULL };
> static const char *ripperx[] = { "ripperx", NULL };
> static const char *claws[] = { "claws", NULL };
> static const char *volup[] = { "amixer -q Master 2+ toggle", NULL };
> static const char *voldown[] = { "amixer -q Master 2- toggle", NULL };
> static const char *volmute[] = { "amixer -q Master toggle", NULL };
Received on Sat Feb 14 2009 - 23:06:26 UTC

This archive was generated by hypermail 2.2.0 : Sat Feb 14 2009 - 23:12:04 UTC