Conky 설정에 이상한 문제가 발생했습니다.
${cpu cpuX}
내가 없애거나 고치려고 하는 것은 내 CPU 비율(사용량 )이 올바르게 채워지지 않는 것 같다는 사실입니다 . 상태가 흔들리지 않도록 모든 값을 수직으로 정렬하고 싶습니다. 내 conky 파일에서 발췌한 내용은 다음과 같습니다.
# ...
pad_percents 3
# ...
${cpubar cpu1 6,135}$alignr${...}${cpu cpu1}%
더 이상 레이아웃이 깨지지 않도록 CPU 백분율 값을 적절하게 정렬하고 패딩하려면 어떻게 해야 합니까? 동등한 printf %3.0f
값은 다음과 같습니다:
$ "%3.0f" % (1,)
' 1'
$ "%3.0f" % (13,)
' 13'
$ "%3.0f" % (100,)
'100'
내 CPU 비율에 대해 Conky에서 이를 어떻게 달성할 수 있나요?
답변1
위의 @jasonwryan이 제공한 솔루션:
Conky가 사용할 Lua 스크립트를 만듭니다. 나는 내가 만든 폴더에 내 폴더를 만들었지
~/.config/conky/scripts
만 원하는 곳 어디에서나 만들 수 있습니다.$ mkdir -p ~/.config/conky/scripts/ $ vim ~/.config/conky/scripts/conky_lua_scripts.lua
다음 Lua 함수를 사용하여 파일을 채웁니다.
function conky_format( format, number ) return string.format( format, conky_parse( number ) ) end
lua_load
명령을 사용하여 Lua 스크립트 파일을 Conky 구성 파일로 가져옵니다.# ... lua_load ~/.config/conky/scripts/conky_lua_scripts.lua TEXT # ...
값의 형식을 지정하고 싶을 때마다
format
앞서 정의한 함수를 호출하세요. 이름을 로 지정했지만 변수를 사용하여 액세스conky_format
합니다 .format
lua_parse
# ... lua_load ~/.config/conky/scripts/conky_lua_scripts.lua TEXT # ... ${lua_parse format %3.0f ${cpu cpu1}}%
이 멋진 스크립트를 사용하면 임의의 값과 형식 문자열을 사용하여 Lua 형식 지정 엔진을 호출할 수 있습니다. 이제 출력이 예상대로 표시됩니다.
이 유틸리티 에 익숙하다면 printf
이 유틸리티를 사용하여 다른 훌륭한 형식 지정 방법을 수행할 수 있습니다.
답변2
조건문을 사용하면 Lua 스크립트 없이도 거의 동일한 효과를 얻을 수 있습니다.
${if_match ${cpu cpu1} < 10}${offset 10}${cpu cpu1}%
귀하의 코드는 다음과 같습니다:
${cpubar cpu1 6,135}$alignr${...}${if_match ${cpu cpu1} < 10}${offset 10}${endif}${cpu cpu1}%
참고: 오프셋 값(위의 경우 10)은 사용된 글꼴에 따라 조정되어야 합니다.
더 완전한 예에서는 더 많은 조건을 사용할 수 있습니다.
${cpubar cpu1 6,135}$alignr${...}${if_match ${cpu cpu1} < 10}${offset 20}${else}${if_match ${cpu cpu1} < 100}${offset 10}${endif}${cpu cpu1}%