antoniosarosi / dotfiles

My dotfiles repo, here you can find all my window manager configs as well as documentation and a guide on how to make your own desktop environment.
MIT License
850 stars 188 forks source link

Crear 10 workspaces #24

Closed AlphaTechnolog closed 3 years ago

AlphaTechnolog commented 3 years ago

estoy intentando crear un workspace para las musicas, pero claro, ya tengo 9 workspaces creados, y no quisiera quitar ninguno, entonces, lo que se me ocurre es crear un atajo para el 10, el codigo:

static const char *tags[] = { " ", " ", " ", " ", "", " ", " ", " ", " ", " " }; // el ultimo es el 10

quisiera saber si me puedes ayudar, sobre como puedo asignarle el atajo: MOD+0 al ultimo workspace. Muchas Gracias

antoniosarosi commented 3 years ago
TAGKEYS(XK_0, 9)
AlphaTechnolog commented 3 years ago

Muchas Gracias, Perfecto!

AlphaTechnolog commented 3 years ago

Como puedo hacer lo mismo en spectrwm y en xmonad

antoniosarosi commented 3 years ago

En spectrwm tienes esto:

# ------------------------------- Workspaces -------------------------------

# Get the icons at https://www.nerdfonts.com/cheat-sheet (you need a Nerd Font)
name = ws[1]:  # nf-fa-firefox
name = ws[2]:  # nf-dev-react
name = ws[3]:  # nf-dev-terminal
name = ws[4]:  # nf-fa-code
name = ws[5]:  # nf-fa-code_fork
name = ws[6]:  # nf-linux-docker
name = ws[7]:  # nf-mdi-folder
name = ws[8]:  # nf-fa-image
name = ws[9]:  # nf-fa-cubes

Añade el workspace:

name = ws[0]: 

Y abajo estan los keybindings:

# --------------- Workspaces ---------------

# Go to workspace N
bind[ws_1]          = MOD+1
bind[ws_2]          = MOD+2
bind[ws_3]          = MOD+3
bind[ws_4]          = MOD+4
bind[ws_5]          = MOD+5
bind[ws_6]          = MOD+6
bind[ws_7]          = MOD+7
bind[ws_8]          = MOD+8
bind[ws_9]          = MOD+9

# Move window to workspace N
bind[mvws_1]        = MOD+Shift+1
bind[mvws_2]        = MOD+Shift+2
bind[mvws_3]        = MOD+Shift+3
bind[mvws_4]        = MOD+Shift+4
bind[mvws_5]        = MOD+Shift+5
bind[mvws_6]        = MOD+Shift+6
bind[mvws_7]        = MOD+Shift+7
bind[mvws_8]        = MOD+Shift+8
bind[mvws_9]        = MOD+Shift+9

Le añades el nuevo:

bind[ws_0] = MOD+0
bind[mvws_0] = MOD+Shift+0
antoniosarosi commented 3 years ago

En Xmonad es un poco más complicado, busca esta linea:

myWorkspaces :: [String]
myWorkspaces = clickable . (map xmobarEscape)
--                                                                                            
--    $ ["\xf269 ", "\xe61f ", "\xe795 ", "\xf121 ", "\xf419 ", "\xf308 ", "\xf74a ", "\xf7e8 ", "\xf827 "]
    $ ["www", "dev", "term", "ref", "git", "dock", "fs", "media", "misc"]
  where
    clickable l = ["<action=xdotool key super+" ++ show (i) ++ "> " ++ ws ++ "</action>" | (i, ws) <- zip [1 .. 9] l]

Si quieres iconos en lugar de palabras tienes que descomentar la linea de encima y añadir el hex del icono, no el propio icono en sí. Seria algo como:

myWorkspaces :: [String]
myWorkspaces = clickable . (map xmobarEscape)
--                                                                                                      
   $ ["\xf269 ", "\xe61f ", "\xe795 ", "\xf121 ", "\xf419 ", "\xf308 ", "\xf74a ", "\xf7e8 ", "\xf827 ", "\xf001 "]
    -- $ ["www", "dev", "term", "ref", "git", "dock", "fs", "media", "misc", "music"]
  where
    clickable l = ["<action=xdotool key super+" ++ show (i) ++ "> " ++ ws ++ "</action>" | (i, ws) <- zip ([1 .. 9] ++ [0]) l]

No estoy 100% seguro porque no lo he probado. En la perte del zip fijate que tienes que concatenarle el 0 al final de la lista, si no no irá.

AlphaTechnolog commented 3 years ago

Muchas gracias por responder. Ya probre el de spectrwm pero me da error, dice que no existe el workspace 0 en spectrwm, que es invalido el bind, el error:

total exceptions 3, first exception: /home/user/.config/spectrwm/spectrwm.conf: line 79: name: invalid workspace: 0

pareciera que no soporta el workspace 0, alguna idea adicional?

AlphaTechnolog commented 3 years ago

El de xmonad, aun no lo he probado

antoniosarosi commented 3 years ago

En vez de workspace 0 llamalo workspace 10, pero deja los keybindings con la tecla 0

AlphaTechnolog commented 3 years ago

A funcionado, pero no me deja con MOD+0 irme al workspace 10.

Keybindings:

# Go to workspace N
bind[ws_1]          = MOD+1
bind[ws_2]          = MOD+2
bind[ws_3]          = MOD+3
bind[ws_4]          = MOD+4
bind[ws_5]          = MOD+5
bind[ws_6]          = MOD+6
bind[ws_7]          = MOD+7
bind[ws_8]          = MOD+8
bind[ws_9]          = MOD+9
bind[ws_10]          = MOD+0

# Move window to workspace N
bind[mvws_1]        = MOD+Shift+1
bind[mvws_2]        = MOD+Shift+2
bind[mvws_3]        = MOD+Shift+3
bind[mvws_4]        = MOD+Shift+4
bind[mvws_5]        = MOD+Shift+5
bind[mvws_6]        = MOD+Shift+6
bind[mvws_7]        = MOD+Shift+7
bind[mvws_8]        = MOD+Shift+8
bind[mvws_9]        = MOD+Shift+9
bind[mvws_10]        = MOD+Shift+0

Workspace:

name = ws[1]:  # nf-fa-firefox
name = ws[2]:  # nf-dev-react
name = ws[3]:  # nf-dev-terminal
name = ws[4]:  # nf-fa-code
name = ws[5]:  # nf-fa-code_fork
name = ws[6]:  # nf-linux-docker
name = ws[7]:  # nf-mdi-folder
name = ws[8]:  # nf-fa-image
name = ws[9]:  # nf-fa-cubes
name = ws[0]:music # music porque es una prueba
AlphaTechnolog commented 3 years ago

Cuando me refiero a "a funcionado", me refiero a que no salta el error

AlphaTechnolog commented 3 years ago

Cuando me refiero a "a funcionado", me refiero a que no salta el error

AlphaTechnolog commented 3 years ago

Tambien intente poniendo:

name = ws[10]:music

Y luego en los keybindings:

bind[ws_10] = MOD+0

Y, no salta el error, pero no funciona el keybinding, no me deja ir al workspace music

AlphaTechnolog commented 3 years ago

Tambien intente poniendo:

name = ws[10]:music

Y luego en los keybindings:

bind[ws_10] = MOD+0

Y, no salta el error, pero no funciona el keybinding, no me deja ir al workspace music

AlphaTechnolog commented 3 years ago

Mi version de spectrwm es: spectrwm 3.4.1 Build: 3.4.1

AlphaTechnolog commented 3 years ago

Acabo tambien de probar xmonad, pero tampoco a funcionado el keybinding, es decir, se ve el workspace music, pero no me deja con MOD+0 ir al workspace, y tampoco puedo ir pulsando click sobre el workspace, config:

myWorkspaces :: [String]
myWorkspaces = clickable . (map xmobarEscape)
--                                                                                            
--    $ ["\xf269 ", "\xe61f ", "\xe795 ", "\xf121 ", "\xf419 ", "\xf308 ", "\xf74a ", "\xf7e8 ", "\xf827 "]
    $ ["www", "dev", "term", "ref", "git", "dock", "fs", "media", "misc", "music"]
  where
    clickable l = ["<action=xdotool key super+" ++ show (i) ++ "> " ++ ws ++ "</action>" | (i, ws) <- zip ([1 .. 9] ++ [0]) l]
antoniosarosi commented 3 years ago

Igual la tecla 0 tiene otro nombre, no sé no los he probado. Otra cosa que puedes hacer es sustituir por music otro de los 8 workspaces que ya hay y que no uses.

AlphaTechnolog commented 3 years ago

Muchisimas gracias de todas formas!, intentare sustituyendo el de media, pues el de media no lo uso, prefiero para abrir imagenes y videos, y eso, en el workspace de misc... Muchas gracias por tu tiempo antonio