Fontes:
http://www.qtile.org/
http://docs.qtile.org/en/latest/
https://wiki.archlinux.org/index.php/Qtile
https://www.youtube.com/watch?v=4Zar4Z0MAAo
https://www.youtube.com/watch?v=DEoS49inzSw
https://www.youtube.com/watch?v=QESVJBEwBFA
-
Para instalar o Qtile no Arch Linux, ou em uma distribuição baseada neste:
sudo pacman -S qtile
- Para que, ao reiniciar o Qtile através do comando
restart()
, o Qtile possa permanecer com o mesmo nome de processo:sudo pacman -S python-setproctitle
(caso não instale esse pacote, o processo do Qtile ficará com um nome extenso) - Para que o Qtile respeite suas configurações de ícone para o cursor:
sudo pacman -S xcb-util-cursor
- Para que, ao reiniciar o Qtile através do comando
-
O arquivo de configurações do usuário é o
~/.config/qtile/config.py
- Para criar o diretório:
mkdir -p ~/.config/qtile/
- Para criar o diretório:
-
O Qtile possui um arquivo de configuração padrão para o sistema, que é utilizado pelo Qtile quando não há um arquivo de configuração no diretório do o usuário ou quando há um arquico com erro de sintaxe no diretório do usuário.
- Para copiar a configuração padrão para o diretório pessoal:
cp /usr/share/doc/qtile/default_config.py ~/.config/qtile/config.py
- Alguns exemplos de arquivo de configuração do Qtile podem ser encontrados em GitHub - qtile/qtile-examples: Example configurations and scripts for Qtile
- Para copiar a configuração padrão para o diretório pessoal:
-
Para testar o arquivo de configuração:
-
python ~/.config/qtile/config.py
para buscar erros simples de sintaxe -
Xephyr :5 & sleep 1 ; DISPLAY=:5 qtile
para buscar outros tipos de erro, pois determinados erros podem não ser detectados pelo interpretador, o python, e quando isso acontece o Qtile pode simplesmente não sobir (nem com o arquivo de configuração padrão).- Para usar o Xephyr:
sudo pacman -S xorg-server-xephyr
- Para usar o Xephyr:
-
O Qtile é um gerenciador de janelas TWM dinâmico, o que significa que não é necessário, absolutamente, se preocupar com o modo de organização das janelas. O Qtile, portanto, usa esquemas (ou layouts
na documentação) para ordenação do modo como as janelas se comportarão na tela.
O Qtile possui suporta configuração multi-monitor, barras, ícones indicadores e outras coisas mais (não possui tantos recursos quanto o AwesomeWM, creio, mas possui bons recursos).
Uma outra característica é que ele é totalmente escrito e cofigurado em python, e isso pode ser uma vantagem enorme, pois é possível usar a própria linguagem python para alterar o comportamento de algum recurso, ou para associar um comando próprio à um determinado atalho de teclado, ou qualquer outra coisa que a linguagem e o Qtile suporte. Também considerando a chamada “curva de aprendizado” da linguagem, que é diferente da linguagem Haskell, ou Lua (linguagens usadas nos gerenciadores de janelas Xmonad e AwesomeWMm, respectivamente).
Uma outra característica é que, para aqueles que conhecem python, o código fonte do Qtile não é tão complicado de ser lido.
O consumo de memória inicial dele pode variar conforme o arquivo de configuração, conforme são adicionados determinados recursos. Não recordo do consumo de memória com a configuração padrão, mas o consumo inicial de memória do Qtile (não do sistema, isso pode variar se forem adicionados serviços à inicialização) com a minha configuração atual fica abaixo dos 70MB. Não é um gerenciador de janelas tão ‘minimalista’. E o consumo pode aumentar conforme tu fores usando o computador, e abrindo programas.
Definitivamente existem gerenciadores de janelas mais econômicos sob esse ponto de vista. Iniciei o Xmonad com até que um número considerável de configurações, e o consumo de RAM inicial ficou na casa dos 30~40MB (mas como o Xmonad não suporta barra, o “montante” é um pouco maior ou menor, dependendo de qual programa é escolhido para barra).
Aqui levemos em consideração que o Qtile é escrito em python, então há também a carga do interepretador envolvida. O Xmonad é compilado com o GHC, o gerenciador de janelas é um binário portanto.
O Qtile, creio, não suporta os lançadores xdg
. Não tenho certeza.
No meu diretório de configuração, e em tantos outros que vi, usa-se um arquivo autostart.sh
:
#! /bin/bash
/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 &
compton &
nitrogen --restore &
light-locker &
Aí se colocam os programas que devem ser inicializados com o gerenciador de janelas, e no arquivo config.py
adiciona-se o seguite código:
##### STARTUP PROGRAMS #####
@hook.subscribe.startup_once
def start_once():
home = os.path.expanduser("~")
subprocess.call([home + "/.config/qtile/autostart.sh"])
Assim, evita-se que, caso o usuário reinicie o Qtile, os programas sejam duplicados.
Aproveitando para citar que podem ser desejáveis um agente de autenticação (v. https://wiki.archlinux.org/index.php/Polkit#Authentication_agents
), um compositor (v. https://wiki.archlinux.org/index.php/Xorg#Composite
), um seletor de papel de parede (nitrogen
ou feh
, vejo ambos) e um bloqueador de tela (v. https://wiki.archlinux.org/index.php/List_of_applications#Screen_lockers
).
Parece que os mantenedores do Qtile estão realizando movimentos que podem facilitar, no futuro, o suporte ao Wayland no Qtile (v. Start refactoring to isolate core by cortesi · Pull Request #1265 · qtile/qtile · GitHub)