Como discutido nos comentários, parece que FvwmScript
falha devido a um erro X BadValue quando o valor retornado pelo script de shell é 0. Isso provavelmente ocorre porque ele está tentando configurar a janela para um tamanho de 0.
Uma solução alternativa é usar o widget HDipstick
, que é uma barra horizontal em uma caixa de tamanho fixo. Aqui está um exemplo curto, mas completo:
WindowTitle {Status}
WindowSize 120 30
WindowPosition 900 1
Init
Begin
ChangeBackColor 3 {#000}
End
PeriodicTasks
Begin
If (RemainderOfDiv (GetTime) 2) == 0 Then
Begin
Set $length = (GetOutput {bash $HOME/.fvwm/scripts/StaTux/cpu.sh} 1 -1)
ChangeValue 3 $length
End
End
Widget 3
Property
Type HDipstick
Value 0
MinValue 0
MaxValue 200
ForeColor {#f00}
Size 110 20
Position 5 5
Main
Case message of
End
Os MinValue
e MaxValue
definem os limites esperados para o número que você está recebendo de volta do seu script. Eu escolhi 200 arbitrariamente. A chamada PeriodicTasks
do seu script obtém esse número e usa ChangeValue
para definir a propriedade Value
para ele. Ele será dimensionado dividindo-se por 200 e multiplicando pela largura da barra horizontal, fornecida aqui em Size
como 110 pixels.
Ao jogar com isso, notei um bug na minha versão do FvwmScript que desenhava uma barra cheia para certos valores baixos. Por exemplo, definir um MaxValue
de 700 significa que os valores 7 a 26 deram uma barra completa.