i3 executa o dmenu em modos diferentes para cada espaço de trabalho

4

Suponha que eu abriria um novo espaço de trabalho, por exemplo para executar um terminal na próxima área de trabalho não utilizada.

i3-msg workspace $(($(i3-msg -t get_workspaces | tr , '\n' | grep '"num":' | cut -d : -f 2 | sort -rn | head -1) + 1)) && /usr/bin/x-terminal-emulator

Além disso, também quero especificar para essa área de trabalho que, se eu acariciar $mod+D , o programa dmenu será executado com uma lista personalizada de aplicativos, como dmenu -i "app1\napp2\napp3" .

E se eu alternar para outro espaço de trabalho e traçar $mod+D dmenu deverá ser executado no modo padrão, a menos que eu tenha definido uma lista específica de aplicativos.

    
por Hölderlin 11.01.2017 / 03:04

1 resposta

2

Você pode ligar ao script $mod+D que detectará sua área de trabalho atual e iniciar dmenu com parâmetros diferentes. Por exemplo:

~ / .config / i3 / config:

...
bindsym $mod+d exec /tmp/dm.sh
...

/tmp/dm.sh

#!/usr/bin/env sh

ws="$(i3-msg -t get_workspaces | jq -r '.[] | select(.focused==true).name')"

if [ "$ws" -eq "3" ]; then
  echo "app1\napp2\napp3" | dmenu
else
  dmenu_run
fi

Aqui, você obterá uma lista personalizada de aplicativos no espaço de trabalho 3 e um padrão nos outros.

    
por 04.03.2017 / 17:53

Tags