Estou usando i3wm com XFCE como meu ambiente de desktop. Desativei a tela de bloqueio padrão do XFCE (light-locker, acredito) em favor do meu próprio script de bloqueio que usa i3lock-color e estou usando xss-lock para acionar o script de bloqueio ao fechar a tampa. O script em si ( script completo aqui ) basicamente faz uma captura de tela, usa ImageMagick para pixelar a imagem e adiciona um retângulo escuro no canto inferior esquerdo da imagem (o retângulo fornece contraste extra para o texto que é sobreposto por i3lock-color). Em seguida, ele usa o i3lock-color para bloquear a tela e exibir um relógio, algum texto, etc.
Quando executo o script no terminal, o resultado é o esperado. A tela está bloqueada com a imagem correta (incluindo o retângulo escuro).
No entanto, depois de ativar xss-lock com xss-lock -l /path/to/script/lock.sh
e fechar a tampa, o script é executado, mas o retângulo não é desenhado, levando a um texto de tela de bloqueio às vezes ilegível.
Eu tentei modificar o script para que ele não exclua a captura de tela que ele tira e edita, mas a captura de tela contém o retângulo escuro. Acho que é algo estranho com o ImageMagick, já que a pixelização e o desenho do retângulo são especificados no mesmo comando, e a pixelização ocorre, mas o desenho do retângulo não.
Estou muito confuso sobre como isso pode ocorrer. Nem journalctl
exibir /var/log
nada que pareça relacionado a isso. Qualquer ajuda sobre onde começar a depuração seria apreciada.
As proporções do retângulo são calculadas em relação à(s) resolução(ões) da(s) tela(s) atualmente conectada(s) usando
xrandr
a linha 31, masxrandr
precisa doDISPLAY
conjunto de variáveis que pode não ser o caso aqui. Você tem duas opções:defina explicitamente a variável, por exemplo, para a primeira exibição:
codificar o valor de
$rectangles
na linha 29, isso torna as linhas 30 a 37 obsoletas (comente ou exclua-as), por exemplo, para uma tela de 1680x1050:Leitura adicional: