Skip to content

Commit

Permalink
001 release. english readme lacking.
Browse files Browse the repository at this point in the history
  • Loading branch information
dacampsss committed Mar 17, 2021
1 parent 861446d commit 4752cd4
Show file tree
Hide file tree
Showing 3 changed files with 60 additions and 19 deletions.
63 changes: 51 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,19 +11,58 @@ Apenas alguns scripts capazes de criar a experiência de uma "traybar dinâmica"
2. Execute ```sudo ./install``` (script de instalação com privilégios de superusuário), ou copie os scripts para uma pasta em seu ```$PATH```;
3. Insira o módulo ```polybar_trayoffset``` na posição em que desejar, no arquivo de configuração da Polybar:

<table>
<table align="center">
<tbody>
<tr>
<td><img src="https://i.imgur.com/Jp2SVAv.png" /></td>
<td>
```
[module/trayoffset]
type = custom/script
interval = 1.0
exec = polybar_trayoffset echo
format = <label>
```
</td>
</tr>
</tbody>
</table>
[module/trayoffset]
type = custom/script
interval = 1.0
exec = polybar_trayoffset echo
format = <label>
</td>
</tr>
</tbody>
</table>

4. Certifique-se de, também, configurar corretamente o offset da traybar. A tray deve estar posicionada de modo que sobreponha o módulo.

<div align="center">
<img width="800" src="https://i.imgur.com/qIO6jeI.png" alt="Imagem mostrando a barra de tray sem posicionamento e ação do módulo trayoffset." />

Perceba como a tray está fora de posição. O módulo está posicionado à direita do relógio. Devemos corrigir isso configurando de modo que a tray esteja exatamente onde o módulo fará seu trabalho (nesse caso, mais à direita do relógio), usando as configurações ```tray-offset-x``` e ```tray-position```:

<table>
<tbody>
<tr>
<td><img width="330" src="https://i.imgur.com/ZH14U9x.png" /></td>
<td><img src="https://i.imgur.com/TBzl2Dm.png" /></td>
</tr>
</tbody>
</table>
</div>

5. Agora que o módulo está exatamente na posição em que a tray é invocada pela Polybar, devemos, manualmente, configurar *hooks* para cada programa que vá usar a tray. Suponhamos que o programa ```qbittorrent``` (um cliente torrent em Qt) deseje usar espaço em nossa traybar. Devemos adicionar, então, o seguinte trecho de código em nosso arquivo de configuração do i3wm:

```
for_window [class="qbittorrent"] exec watchps_tray qbittorrent
```

Esse comando fará com que, a cada vez que se detecte uma janela da classe do aplicativo (que também ocupará espaço na tray), se inicie um processo que mantém espaço no lugar do módulo previamente configurado, fazendo com que o resultado seja uma traybar *mais ou menos* dinâmica, conforme a imagem:

<div align="center">
<img src="https://i.imgur.com/GDnAOcw.png" width="800">
</div>

## Configuração adicional

* Por meio das configurações de <a href="https://github.com/polybar/polybar/wiki/Fonts">fontes</a> da Polybar, é possível, em conjunto com ```format-prefix``` e ```format-suffix```, definir uma fonte de largura fixa para o módulo (como Consolas), fazendo com que a largura acrescentada para cada aplicação da tray seja igualmente fixa. É uma opção não recomendada, pessoalmente.
* Com um número inteiro e positivo ao lado do nome da aplicação em ```watchps_tray <aplicação>```, é possível definir manualmente o tamanho de espaçamento criado na tray.
* Para situações excepcionais, o comando ```polybar_trayoffset remove-all``` pode ser executado globalmente, e todo espaçamento acrescentado no módulo será imediatamente removido.

## A fazer
- [ ] Centralizar a gestão de aplicações que usam da tray no próprio script ```polybar_trayoffset```.
- [ ] Encontrar alguma ferramenta ou mecanismo similar ao que o <a href="https://sites.google.com/site/tstyblo/wmctrl/">wmctrl</a> é para janelas, porém para elementos da tray, o que possibilitaria um fluxo/funcionamento mais automático.
12 changes: 7 additions & 5 deletions polybar_trayoffset
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,11 @@
# Script base que apenas insere e remove caracteres U+2000 (Unicode) no módulo, a fim de dar espaço para a traybar, que já pode ter um offset inicial configurado, a depender da intenção da rice/pessoa.
# EN: base script which just insert and remove U+2000 (Unicode) characters in the module, giving the needed offset for traybar, that may need some initial offset setted up, depending on ricing/people intentions.

# Daltro Augusto. 2021-. LGPLv2.
# Daltro Augusto. 2021-. LGPLv2.1.

POLYBAR_TRAYOFFSET=$(<"${HOME}/.config/polybar/.trayoffset")
! [ -f "$HOME/.config/.trayoffset" ] && touch "$HOME/.config/.trayoffset"

POLYBAR_TRAYOFFSET=$(<"${HOME}/.config/.trayoffset")
SYNTAX_TEXT="SYNTAX: [ \e[3madd [no. of spaces]\e[0m | \e[3mecho\e[0m | \e[3mremove\e[0m | \e[3mremove-all\e[0m ]"

case $1 in
Expand All @@ -20,7 +22,7 @@ case $1 in
done
fi

echo "$result" > "${HOME}/.config/polybar/.trayoffset"
echo "$result" > "${HOME}/.config/.trayoffset"
;;

echo)
Expand All @@ -35,11 +37,11 @@ case $1 in

result=${i:0:$offset}

echo "$result" > "${HOME}/.config/polybar/.trayoffset"
echo "$result" > "${HOME}/.config/.trayoffset"
;;

remove-all)
echo "" > "${HOME}/.config/polybar/.trayoffset"
echo "" > "${HOME}/.config/.trayoffset"
;;

*)
Expand Down
4 changes: 2 additions & 2 deletions watchps_tray
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
#!/bin/bash
# Este script é para ser hookado no arquivo i3config, usando os seletores for_window do i3wm.
# EN: script to be hooked in i3config file, with for_window i3wm's selectors.
# EN: script to be hooked in i3config file, with for_window i3w selectors.

# Daltro Augusto. 2021-. LGPLv2.
# Daltro Augusto. 2021-. LGPLv2.1.

PS=$1
polybar_trayoffset add "$2"
Expand Down

0 comments on commit 4752cd4

Please sign in to comment.