共通事項 - タスクマネージャ Conky - デスクトップを表示

 クラウディア
1. 概要
2. $DESKTOP_SESSION

1. 概要

 本ページより前の方でも、たびたび登場しているかと思いますが・・・。  複数のデスクトップ環境を使い分けたりしている場合、ログインしているのがどのデスクトップ環境であったか、ふとわからなくなったりするときがあります。  「Conky」でそれを表示させておくと、分かりやすくていいなぁと思うものの。  「$XDG_CURRENT_DESKTOP」を「echo」で表示させたりするのですが、デスクトップによっては、「$XDG_CURRENT_DESKTOP」はとれない。

2. $DESKTOP_SESSION

 「$DESKTOP_SESSION」が、ほぼ、漏れなく取得できることがわかりました。  しかし、「$DESKTOP_SESSION」だと・・・。  「FreeBSD」「bspwm」の場合

/usr/local/share/xsessions/bspwm
 と表示されてしまうのです・・・。  これは、長すぎるし、つらいなぁと思っていて、思いあまって「Linux - echo させた文字列の 末尾の部分を取得したい|teratail」で質問いたしました。  馬鹿なわたしに、親切に教えてくださる方がいて、ありがたいことです。

${DESKTOP_SESSION##*/}
 もしくは

$(basename $DESKTOP_SESSION)
 で、スラッシュ「/」以降の末尾の文字列が取得できますな。  よって

${color grey}Desktop:$color ${execi 999999 echo ${DESKTOP_SESSION##*/}}
 もしくは

${color grey}Desktop:$color ${execi 999999 echo $(basename $DESKTOP_SESSION)}
 で、表示できます。  「bash」だけかと思って、ちょっと気になったのですが、「sh」でも同じ操作ができました。  こういうとき、「csh」は、ちょっとつらいのです。