一个关于conky wifi数据显示的问题

各种窗口管理器和美化相关
回复
linuxmm9
帖子: 214
注册时间: 2017-08-19 10:12
系统: linux

一个关于conky wifi数据显示的问题

#1

帖子 linuxmm9 » 2021-03-13 19:40

我想让${wireless_link_qual_perc wlan0}这个数据根据信号大小以不同颜色来显示,或者用符号来显示,比如用wifi信号那个图形。我不懂脚本,希望大家帮我写一个。先谢谢了!
头像
astolia
论坛版主
帖子: 6514
注册时间: 2008-09-18 13:11

Re: 一个关于conky wifi数据显示的问题

#2

帖子 astolia » 2021-03-14 17:08

用自带的if_match语句就可以实现不同颜色或者不同符号了。基本写法就像这样

代码: 全选

${if_match ${wireless_link_qual_perc wlan0} > 60}${color green}${else}${color yellow}${endif}${wireless_link_qual_perc wlan0}
linuxmm9
帖子: 214
注册时间: 2017-08-19 10:12
系统: linux

Re: 一个关于conky wifi数据显示的问题

#3

帖子 linuxmm9 » 2021-03-15 19:08

astolia 写了: 2021-03-14 17:08 用自带的if_match语句就可以实现不同颜色或者不同符号了。基本写法就像这样

代码: 全选

${if_match ${wireless_link_qual_perc wlan0} > 60}${color green}${else}${color yellow}${endif}${wireless_link_qual_perc wlan0}
谢谢版主 不过我还想让效果更好一些 我自己尝试修改下 结果失败了
我想让信号分成三个等级 不知道if_match怎么写 于是我想用脚本if语句来实现 但是${wireless_link_qual_perc wlan0}的变量那里我又不会写了 不知道怎么引用到脚本里 不知道我这个思路是不是对的 希望你能给我讲一下
头像
astolia
论坛版主
帖子: 6514
注册时间: 2008-09-18 13:11

Re: 一个关于conky wifi数据显示的问题

#4

帖子 astolia » 2021-03-16 9:56

先用shell写出来,再逐句转换成conky的代码就是了

代码: 全选

if [[ v -gt 30 ]]; then
  if [[ v -gt 60 ]]; then
    color=green
  else
    color=yellow
  fi
else
  color=red
fi
if换成if_match,v换成${wireless_link_qual_perc wlan0},else换成${else},fi换成${endif},color=换成${color}

代码: 全选

${if_match ${wireless_link_qual_perc wlan0} > 30}
  ${if_match ${wireless_link_qual_perc wlan0} > 60}
    ${color green}
  ${else}
    ${color yellow}
  ${endif}
${else}
  ${color red}
${endif}
这样就完成颜色设置了,把语句之间的换行和缩进都去掉,最后再加上一个${wireless_link_qual_perc wlan0}作显示
funicorn
帖子: 1318
注册时间: 2005-09-13 4:56
系统: Ubuntu Jammy Jellyfi

Re: 一个关于conky wifi数据显示的问题

#5

帖子 funicorn » 2021-03-16 11:26

conky不支持 case in么
linuxmm9
帖子: 214
注册时间: 2017-08-19 10:12
系统: linux

Re: 一个关于conky wifi数据显示的问题

#6

帖子 linuxmm9 » 2021-03-17 20:39

astolia 写了: 2021-03-16 9:56 先用shell写出来,再逐句转换成conky的代码就是了

代码: 全选

if [[ v -gt 30 ]]; then
  if [[ v -gt 60 ]]; then
    color=green
  else
    color=yellow
  fi
else
  color=red
fi
if换成if_match,v换成${wireless_link_qual_perc wlan0},else换成${else},fi换成${endif},color=换成${color}

代码: 全选

${if_match ${wireless_link_qual_perc wlan0} > 30}
  ${if_match ${wireless_link_qual_perc wlan0} > 60}
    ${color green}
  ${else}
    ${color yellow}
  ${endif}
${else}
  ${color red}
${endif}
这样就完成颜色设置了,把语句之间的换行和缩进都去掉,最后再加上一个${wireless_link_qual_perc wlan0}作显示
谢谢版主 现在配置好了 完美
linuxmm9
帖子: 214
注册时间: 2017-08-19 10:12
系统: linux

Re: 一个关于conky wifi数据显示的问题

#7

帖子 linuxmm9 » 2021-03-18 22:18

astolia 写了: 2021-03-16 9:56 先用shell写出来,再逐句转换成conky的代码就是了

代码: 全选

if [[ v -gt 30 ]]; then
  if [[ v -gt 60 ]]; then
    color=green
  else
    color=yellow
  fi
else
  color=red
fi
if换成if_match,v换成${wireless_link_qual_perc wlan0},else换成${else},fi换成${endif},color=换成${color}

代码: 全选

${if_match ${wireless_link_qual_perc wlan0} > 30}
  ${if_match ${wireless_link_qual_perc wlan0} > 60}
    ${color green}
  ${else}
    ${color yellow}
  ${endif}
${else}
  ${color red}
${endif}
这样就完成颜色设置了,把语句之间的换行和缩进都去掉,最后再加上一个${wireless_link_qual_perc wlan0}作显示
版主 我又来向你请教了

我想在现有的基础上在再加一个信号丢失的语句,不过只知道{wireless_link_qual_perc wlan0} < 0},其他实在是不知道怎么写。希望再次得到你的帮助!!
回复