# Asignar escritorios a una tecla dwm   < Solucionado >

## ppkombo61

Hola.

Tengo cuatro escritorios en dwm.

Cambie la combinacion para pasar de uno a otro con la tecla windows + a-d.

Me seria mas comodo hacerlo con F1-F4 ya que en i3 lo tenia configurado de esta forma y me resulta mas 

rapido e intuitivo despues de tanto tiempo usandolo.

¿Como podria hacerlo?.

Gracias de antemano.Last edited by ppkombo61 on Fri May 15, 2020 7:18 am; edited 3 times in total

----------

## quilosaq

La configuración del programa dwm se incluye en la construcción del mismo. No existe un archivo de configuración que sea leido durante la ejecución.

Gentoo almacena el archivo de configuración en /etc/portage/savedconfig/x11-wm/dwm-<versión>

Para lo que quieres hay que modificar la definición de "TAGKEYS" para que tenga en cuenta las pulsaciones de teclas directas (sin pulsarse junto a ninguna otra tecla) y el contenido de "keys" para definirir lo que tienen que hacer las teclas F1 a F4.

Una vez modificado tienes que volver a instalar el programa con 

```
USE="savedconfig" emerge -v dwm
```

Si publicas tu archivo de configuración "dwm-<versión>" quizá podamos ayudarte mejor.

----------

## ppkombo61

Muchas gracias a quilosaq.

Un saludo.

----------

## ppkombo61

Bueno, pues lo he intentado y no lo consigo..

Asi que aqui esta mi archivo de configuracion.

https://pastebin.com/L9pDpnzu

Gracias.

----------

## quilosaq

Creo que esto podría funcionar aunque no es utilizable en Gento ya que es para unas fuentes parchedas de dwm:

 *Quote:*   

> config.h

 

```
/* See LICENSE file for copyright and license deutails. */

/* appearance */

static const unsigned int borderpx  = 4;        /* border pixel of windows */

static const unsigned int snap      = 32;       /* snap pixel */

static const int showbar            = 1;        /* 0 means no bar */

static const int topbar             = 1;        /* 0 means bottom bar */

static const char *fonts[]          = { "IBMPlexMono-ExtraLight:size=14" };

static const char dmenufont[]       = "IBMPlexMono-ExtraLight:size=14";

static const char col_gray1[]       = "#FFFFFF"; /* color fondo tabs */

static const char col_gray2[]       = "#5A5A5A"; /* color borde ventana inactiva */

static const char col_gray3[]       = "#000000";  /* color texto tabs inactivas */

static const char col_gray4[]       = "#FFFFFF";  /* color tabs */

static const char col_cyan[]        = "#005577"; /* colo barra informacion */

static const char col_highlight[] =   "#FFFFFF"; /* borde ventana activa */

static const char *colors[][3]          = {

        /*               fg         bg         border   */

        [SchemeNorm] = { col_gray3, col_gray1, col_gray2 },

        [SchemeSel]  = { col_gray4, col_cyan,  col_highlight  },

};

/* tagging */

static const char *tags[] = { " 1 ", " 2 ", " 3 ", " 4 " };

static const Rule rules[] = {

        /* xprop(1):

         *      WM_CLASS(STRING) = instance, class

         *      WM_NAME(STRING) = title

         */

        /* class      instance    title       tags mask     isfloating   monitor */

        { "Firefox",   NULL,       NULL,       1<< 3,        0,           -1 },

};

/* layout(s) */

static const float mfact     = 0.70; /* factor of master area size [0.05..0.95] */

static const int nmaster     = 1;    /* number of clients in master area */

static const int resizehints = 0;    /* 1 means respect size hints in tiled resizals */

static const Layout layouts[] = {

        /* symbol     arrange function */

        { "[ Baldosa ]   ",            tile },    /* first entry is default */

        { "[ Flotante ]   ",           NULL },    /* no layout function means floating behavior */

        { "[ Maximizado ]   ",      monocle },

        { "[ Zocalo ]   ",           bstack },

};

/* key definitions */

#define MODKEY Mod4Mask

#define TAGKEYS(KEY,TAG ) \

      { 0,                            KEY,      view,           {.ui = 1 << 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 char dmenumon[2] = "0"; /* component of dmenucmd, manipulated in spawn() */

static const char *dmenucmd[] =    { "dmenu_run", "-m", dmenumon, "-fn", dmenufont, "-nb", col_gray1, "-nf", col_gray3, "-sb", col_cyan, "-sf", col_gray4, NULL };

static const char *termcmd[]  =    { "st",        NULL };

static const char *firefoxcmd[] =  { "firefox",   NULL };

static const char *gmruncmd[] =    { "gmrun",     NULL };

static Key keys[] = {

        /* modifier                     key        function        argument */

        { MODKEY,                       XK_p,      spawn,          {.v = dmenucmd   } },

        { MODKEY,                       XK_Return, spawn,          {.v = termcmd    } },

        { MODKEY,                       XK_n,      spawn,          {.v = firefoxcmd } },

        { MODKEY,                       XK_g,      spawn,          {.v = gmruncmd } },

        { MODKEY,                       XK_o,      togglebar,      {0} },

        { MODKEY,                       XK_r,      focusstack,     {.i = +1 } },

        { MODKEY,                       XK_i,      incnmaster,     {.i = +1 } },

        { MODKEY,                       XK_d,      incnmaster,     {.i = -1 } },

        { MODKEY,                       XK_Left,   setmfact,       {.f = -0.01} },

        { MODKEY,                       XK_Right,  setmfact,       {.f = +0.01} },

        { MODKEY,                       XK_t,      zoom,           {0} },

        { MODKEY,                       XK_c,      killclient,     {0} },

        { MODKEY,                       XK_b,      setlayout,      {.v = &layouts[0]} },

        { MODKEY,                       XK_f,      setlayout,      {.v = &layouts[1]} },

        { MODKEY,                       XK_m,      setlayout,      {.v = &layouts[2]} },

        { MODKEY,                       XK_z,      setlayout,      {.v = &layouts[3]} },

        { MODKEY,                       XK_a,      view,           {.ui = ~0 } },

        { MODKEY,                       XK_q,      quit,           {0} },

        { MODKEY,                       XK_w,      quit,           {1} },

        TAGKEYS(                        XK_j,                      0)

        TAGKEYS(                        XK_k,                      1)

        TAGKEYS(                        XK_l,                      2)

        TAGKEYS(                        XK_ntilde,                 3)

        TAGKEYS(                        XK_F1,                     0)

        TAGKEYS(                        XK_F2,                     1)

        TAGKEYS(                        XK_F3,                     2)

        TAGKEYS(                        XK_F4,                     3)

};

/* button definitions */

/* click can be ClkTagBar, ClkLtSymbol, ClkStatusText, ClkWinTitle, ClkClientWin, or ClkRootWin */

static Button buttons[] = {

        /* click                event mask      button          function        argument */

        { ClkLtSymbol,          0,              Button1,        setlayout,      {0} },

        { ClkLtSymbol,          0,              Button3,        setlayout,      {.v = &layouts[2]} },

        { 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} },

        { ClkTagBar,            0,              Button1,        view,           {0} },

        { ClkTagBar,            0,              Button3,        toggleview,     {0} },

        { ClkTagBar,            MODKEY,         Button1,        tag,            {0} },

        { ClkTagBar,            MODKEY,         Button3,        toggletag,      {0} },

};
```

----------

## ppkombo61

Perfecto.

Muchisimas gracias a quilosaq.

Unsaludo.

----------

