I3

如何在 i3status 欄中顯示正常執行時間?

  • January 24, 2020

我想以常用單位顯示正常執行時間(因此,如果超過一小時,則不僅以分鐘為單位;如果超過一分鐘,也不僅僅是以秒為單位;例如,“1:02:30”表示 1 小時、2 分鐘和30 秒是我理想的時間格式)在我的 i3status 欄中。我什至無法找到如何在任何單位的 i3status 欄中顯示正常執行時間。我在 GitHub 上找到了這個 repo,它似乎聲稱可以這樣做,但是複制這些配置給了我與執行這個repo 的 configstatus_command中的行相關的錯誤。即該行是:status_command

status_command ~/.i3/i3status.sh ~/.i3/i3status.conf

猜測它只適用於舊版本的 i3。任何想法如何做到這一點?是我現在的~/.i3status.conf文件。我的發行版是 Gentoo Linux。

我找到了解決方案。我只是不太了解它的語法。我只需要編輯我的~/.i3/i3status.sh文件。就是現在:

#!/bin/sh

/usr/bin/i3status -c $HOME/.i3status.conf | while :
do
   read line
   RAM=`free -kh | grep Mem | awk '{print $3}'`
   TOTR=$(cat /proc/meminfo | grep MemT | sed 's/.*\://g' | sed 's/ *//g' | sed 's/kB//g')
   TOT=$(octave --eval "$TOTR/1024^2" | sed 's/ans = *//g' | sed 's/$/G/g' )

   # Put uptime
   uptime=`uptime | awk '{print $3 " " $4}' | sed 's/,.*//'`
   hour=$(echo $uptime | sed 's/\:.*//g')
   min=$(echo $uptime | sed 's/.*\://g')
   UP="$hour h $min m"

   # Compile C++ CPU prog and run it
   g++ -o cpu.o $HOME/.i3/cpu.cpp
   CPU=$(./cpu.o)

   printf "%s\n" "Up: $UP | CPU: $CPU% | RAM: $RAM/$TOT | $line"
done

# Put uptime與正常執行時間最相關的行在# Compile C++...最終printf "%s\n"...命令之間。我完整的 i3 配置文件可以在這個儲存庫中找到。

引用自:https://unix.stackexchange.com/questions/366024