(Esta resposta é o resultado do relatório de erros que publiquei. Obrigado ao Airblader pela resposta rápida.)
Você provavelmente configurou font
na sua configuração do i3 para usar o Pango. Por exemplo:
font "pango:SomeFont 12"
Workspace names are parsed as Pango markup by i3bar.
A marcação do Pango é baseada em XML, pois caracteres como &
e <
têm um significado especial porque fazem parte da sintaxe XML.
Se você deseja ter &
ou <
em seu nome de espaço de trabalho, é necessário escapar deles e escrever &
ou <
:
rename workspace to "Mail&News"
rename workspace to "ten<eleven"
É claro que isso é bastante difícil quando renomeando utilizando i3-input
. Você pode usar dmenu
para um método mais amigável.
Salve o seguinte script como workspace-renamer.sh
e torne-o executável:
#!/bin/bash -
# get name from dmenu.
$wsname=$(echo -n | dmenu)
# escape backslashes to avoid inadvertently escaping other characters
wsname=${wsname//\/\\}
# escape double quotes as the name is passed inside double quotes to i3-msg
wsname=${wsname//\"/\\"}
# escape ampersand because of pango
wsname=${wsname//&/&}
# escape less-than sign also because of pango
wsname=${wsname//</<}
# call i3-msg to rename workspace
i3-msg rename workspace to "\"${wsname}\""
Em seguida, adicione isso à sua configuração do i3 :
bindsym $mod+r exec --no-startup-id /path/to/workspace-renamer.sh
Isso escapa automaticamente de \
, "
, &
e <
, para que o nome digitado seja exibido no i3bar. Este é, obviamente, apenas um protótipo rápido e será melhorado. Você poderia, por exemplo, substituir echo -n
por algo que forneça uma lista de opções separadas por nova linha como predefinidas.