You are not logged in.

#1 2008-06-21 00:38:55

leo2501
Member
From: Buenos Aires, Argentina
Registered: 2007-07-07
Posts: 658

[SOLVED] From wmii to dwm. problem with dmenu

Hi everybody! i made the happy (for me) decision to try dwm when i realize that it's wmii "little brother" as the homepage says, and i need to say that i feel at home for now, but im having two primary "problems" im sure it's nothing for you guys =P

1) i modified the config.h file with no trouble, (installed via abs, and modify the PKGBUILD for the latest version 5.0.1) but dmenu is not working, when i hit the ALT+p for dmenu nothing happend

2) i have two keybindings (ALT+z & ALT+x) to raise and lower the pcm volume, and i use them in wmii perfectly, but don't know how to make them work in dwm

my config.h:

/* See LICENSE file for copyright and license details. */

/* appearance */
static const char font[]            = "-*-fixed-medium-r-*-*-18-*-*-*-*-*-iso8859-*";
static const char normbordercolor[] = "#111111";
static const char normbgcolor[]     = "#000000";
static const char normfgcolor[]     = "#ffffff";
static const char selbordercolor[]  = "#777777";
static const char selbgcolor[]      = "#444444";
static const char selfgcolor[]      = "#ffffff";
static uint borderpx                = 1;          /* border pixel of windows */
static uint snap                    = 50;         /* snap pixel */
static Bool showbar                 = True;       /* False means no bar */
static Bool topbar                  = False;      /* False means bottom bar */

#ifdef XINERAMA
static uint xidx                    = 0;        /* Xinerama screen index to use */
#endif

/* tagging */
static const char tags[][MAXTAGLEN] = { "1", "2", "3", "4", "5", "6", "7", "8", "9" };

static Rule rules[] = {
    /* class      instance    title       tags mask     isfloating */
    { "Gimp",     NULL,       NULL,       0,            True },
    { "pidgin",   NULL,       NULL,       0,            True },
    { "mplayer",  NULL,       NULL,       0,            True },
    { "vlc",      NULL,       NULL,       0,            True },
    { "xine",     NULL,       NULL,       0,            True },
    { "xmms",     NULL,       NULL,       0,            True },
    { "gkrellm",  NULL,       NULL,       0,            True },
};

/* layout(s) */
static float mfact      = 0.55;
static Bool resizehints = True; /* False means respect size hints in tiled resizals */

static Layout layouts[] = {
    /* symbol     arrange function */
    { "[]=",      tile }, /* first entry is default */
    { "><>",      NULL }, /* no layout function means floating behavior */
};

/* key definitions */
#define MODKEY Mod1Mask
#define TAGKEYS(KEY,TAG) \
    { MODKEY,                       KEY,      view,           {.ui = 1 << TAG} }, \
    { MODKEY|ControlMask,           KEY,      toggleview,     {.ui = 1 << TAG} }, \
    { MODKEY|ShiftMask,             KEY,      tag,            {.ui = 1 << TAG} }, \
    { MODKEY|ControlMask|ShiftMask, KEY,      toggletag,      {.ui = 1 << TAG} },

/* helper for spawning shell commands in the pre dwm-5.0 fashion */
#define SHCMD(cmd) { .v = (const char*[]){ "/bin/sh", "-c", cmd, NULL } }

/* commands */
static const char *dmenucmd[]  = { "dmenu_run", "-b", "-fn", font, "-nb", normbgcolor, "-nf", normfgcolor, "-sb", selbgcolor, "-sf", selfgcolor, NULL };
static const char *termcmd[]   = { "urxvt", "-sh", "50", NULL };
static const char *amixcmdu[]  = { "amixer -q set PCM 20+", NULL };
static const char *amixcmdd[]  = { "amixer -q set PCM 20-", NULL };

static Key keys[] = {
    /* modifier                     key        function        argument */
    { MODKEY,                       XK_p,      spawn,          {.v = dmenucmd } },
    { MODKEY|ShiftMask,             XK_Return, spawn,          {.v = termcmd } },
    { MODKEY|ShiftMask,             XK_z,      spawn,          {.v = amixcmdd } },
    { MODKEY|ShiftMask,             XK_x,      spawn,          {.v = amixcmdu } },
    { MODKEY,                       XK_b,      togglebar,      {0} },
    { MODKEY,                       XK_j,      focusstack,     {.i = +1 } },
    { MODKEY,                       XK_k,      focusstack,     {.i = -1 } },
    { MODKEY,                       XK_h,      setmfact,       {.f = -0.05} },
    { MODKEY,                       XK_l,      setmfact,       {.f = +0.05} },
    { MODKEY,                       XK_m,      togglemax,      {0} },
    { MODKEY,                       XK_Return, zoom,           {0} },
    { MODKEY,                       XK_Tab,    view,           {0} },
    { MODKEY,                       XK_q,      killclient,     {0} },
    { MODKEY,                       XK_space,  togglelayout,   {0} },
    { MODKEY|ShiftMask,             XK_space,  togglefloating, {0} },
    { MODKEY,                       XK_0,      view,           {.ui = ~0 } },
    { MODKEY|ShiftMask,             XK_0,      tag,            {.ui = ~0 } },
    TAGKEYS(                        XK_1,                      0)
    TAGKEYS(                        XK_2,                      1)
    TAGKEYS(                        XK_3,                      2)
    TAGKEYS(                        XK_4,                      3)
    TAGKEYS(                        XK_5,                      4)
    TAGKEYS(                        XK_6,                      5)
    TAGKEYS(                        XK_7,                      6)
    TAGKEYS(                        XK_8,                      7)
    TAGKEYS(                        XK_9,                      8)
    { MODKEY|ShiftMask,             XK_q,      quit,           {0} },
};

/* button definitions */
#define TAGBUTTONS(TAG) \
    { TAG,                  0,              Button1,        view,           {.ui = 1 << TAG} }, \
    { TAG,                  0,              Button3,        toggleview,     {.ui = 1 << TAG} }, \
    { TAG,                  MODKEY,         Button1,        tag,            {.ui = 1 << TAG} }, \
    { TAG,                  MODKEY,         Button3,        toggletag,      {.ui = 1 << TAG} },

/* click can be a tag number (starting at 0),
 * ClkLtSymbol, ClkStatusText, ClkWinTitle, ClkClientWin, or ClkRootWin */
static Button buttons[] = {
    /* click                event mask      button          function        argument */
    { ClkLtSymbol,          0,              Button1,        togglelayout,   {0} },
    { ClkLtSymbol,          0,              Button3,        togglemax,      {0} },
    { ClkWinTitle,          0,              Button2,        zoom,           {0} },
    { ClkStatusText,        0,              Button2,        spawn,          {.v = termcmd } },
    { ClkClientWin,         MODKEY,         Button1,        movemouse,      {0} },
    { ClkClientWin,         MODKEY,         Button2,        togglefloating, {0} },
    { ClkClientWin,         MODKEY,         Button3,        resizemouse,    {0} },
    TAGBUTTONS(0)
    TAGBUTTONS(1)
    TAGBUTTONS(2)
    TAGBUTTONS(3)
    TAGBUTTONS(4)
    TAGBUTTONS(5)
    TAGBUTTONS(6)
    TAGBUTTONS(7)
    TAGBUTTONS(8)
};

Thanks!

Last edited by leo2501 (2008-06-21 02:22:34)


Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away.
-- Antoine de Saint-Exupery

Offline

#2 2008-06-21 01:33:47

peets
Member
From: Montreal
Registered: 2007-01-11
Posts: 936
Website

Re: [SOLVED] From wmii to dwm. problem with dmenu

you can use xbindkeys to control your volume. It only works in X, but it's easy to set up.

pacman -S xbindkeys
man xbindkeys

http://wiki.archlinux.org/index.php/Hot … tions_in_X
Oh, you can use it to run dmenu too.

Last edited by peets (2008-06-21 01:34:22)

Offline

#3 2008-06-21 01:44:54

leo2501
Member
From: Buenos Aires, Argentina
Registered: 2007-07-07
Posts: 658

Re: [SOLVED] From wmii to dwm. problem with dmenu

but i want to make it work like before sad


Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away.
-- Antoine de Saint-Exupery

Offline

#4 2008-06-21 02:12:25

vogt
Member
From: Toronto, Canada
Registered: 2006-11-25
Posts: 389

Re: [SOLVED] From wmii to dwm. problem with dmenu

static const char *dmenucmd[]  = { "dmenu_run", "-b", "-fn", font, "-nb", normbgcolor, "-nf", normfgcolor, "-sb", selbgcolor, "-sf", selfgcolor, NULL }

So you need this dmenu_run script. It's the new dmenu 3.7 (which you have to build from abs, at least for now).

EDIT: it's about time that dmenu came with a script that runs it out of the box.

By the way, it just contains:

#!/bin/sh
exe=`dmenu_path | dmenu ${1+"$@"}` && exec $exe

Last edited by vogt (2008-06-21 02:16:04)

Offline

#5 2008-06-21 02:22:14

leo2501
Member
From: Buenos Aires, Argentina
Registered: 2007-07-07
Posts: 658

Re: [SOLVED] From wmii to dwm. problem with dmenu

lol... it's all fixed now tongue GREAT! i have the volume keys and the dmenu thing tongue make it with abs solve the issue smile smile smile


Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away.
-- Antoine de Saint-Exupery

Offline

#6 2008-06-21 04:13:04

leo2501
Member
From: Buenos Aires, Argentina
Registered: 2007-07-07
Posts: 658

Re: [SOLVED] From wmii to dwm. problem with dmenu

don't understand what happend now, but i recompile dwm with the only change in colors :S and now everytime i run it, press ALT+enter to run the terminal and dwm exits with a segmentation fault :S any idea where to look?


Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away.
-- Antoine de Saint-Exupery

Offline

Board footer

Powered by FluxBB