在Linux上配置i3pyStatus

时间:2020-02-23 14:32:37  来源:igfitidea点击:

I3PyStatus被定义为越来越多的Python脚本的集合,用于状态输出兼容 i3status/i3barI3窗口管理器。
我已经尝试了许多状态栏,包括i3blocks,polybar和i3pystatus似乎是赢家。
这完全是因为它的模块化方法。

在这篇文章中,我将带我们完成I3PyStatus安装,安装重要模块,最后在我的Arch Linux桌面机上运行的配置示例。

Prereqs.

有重要的是 font-awesome对于我的配置文件上的图标,以工作安装和工作I3窗口ManagerInstalled PythonInstalled pipPython Modules Installer.Time如果事情按预期运行,则无法进行故障排除

安装i3pyStatus.

安装i3pystatus的最简单和最快的方法是使用的 pipPython安装程序。
如果我们已经没有,请参阅如何安装Python pip包的分发。

如果我们有PIP,则执行以下操作:

$sudo pip install i3pystatus

使用AUR安装I3PYSTATUS:

ARCH Linux用户始终有优势,包在AUR上很容易获得。
从未尝试过拱门Linux但有兴趣,看起来不再,只需沿着以下链接到教程如何安装:

使用LVM安装Luks加密Arch Linux

从Arch Aur安装稳定版本:

$yaourt -S i3pystatus --noconfirm

或者如果使用pauraur:

$pacaur --needed --noconfirm --noedit -S i3pystatus

要在Arch上获取最新的Git版本:

$pacaur --needed --noconfirm --noedit -S i3pystatus-git

现在安装一些重要的模块:

$sudo pip install pyalsaaudio \
    netifaces \
    basiciw \
    colour \
    psutil \
    requests

如果需要,我们可以添加任何其他。

配置i3pyStatus.

我会将我的i3pyStatus配置文件放在上面 ~/.config/i3/i3pystatus.conf文件的内容是:

# -*- coding: utf-8 -*
#import subprocess
import os
import os.path
from i3pystatus import Status
from i3pystatus.updates import pacman, cower

status = Status()
# Displays clock like this:
# Tue 30 May 11:59:46 PM KW31
#                          ^-- calendar week
status.register("updates",
    format = "Updates: {count}",
    format_no_updates = "",
    on_leftclick="termite --geometry=1200x600 --title=updates -e 'pacaur --needed --noconfirm --noedit -Syu'",
    backends = [pacman.Pacman(), cower.Cower()])
status.register("clock",
    format=" %H:%M:%S",
    color='#C678DD',
    interval=1,
    on_leftclick="/usr/bin/gsimplecal",)
status.register("clock",
    format="  %a %d-%m-%Y ",
    color='#61AEEE',
    interval=1,)

status.register("pulseaudio",
    color_unmuted='#98C379',
    color_muted='#E06C75',
    format_muted=' [muted]',
    format=" {volume}%")
#status.register("network",
#    interface="eno1",
#    color_up="#8AE234",
#    color_down="#EF2929",
#    format_up=": {v4cidr}",
#    format_down="",)
status.register("network",
    interface="wlo1",
    color_up="#8AE234",
    color_down="#EF2929",
    format_up="  {essid}  {kbs} kbs",
    format_down="",)
status.register("backlight",
    interval=5,
    format=" {percentage:.0f}%",
    backlight="intel_backlight",)

status.register("battery",
    battery_ident="BAT0",
    interval=5,
    format="{status} {percentage:.0f}%",
    alert=True,
    alert_percentage=15,
    color="#FFFFFF",
    critical_color="#FF1919",
    charging_color="#E5E500",
    full_color="#D19A66",
    status={
        "DIS": " ",
        "CHR": "  ",
        "FULL": "   ",
},)
status.register("temp",
    color='#78EAF2',
                )
status.register("cpu_usage",
    on_leftclick="termite --title=htop -e 'htop'",
    format="  {usage}%",)
status.register("mem",
    color="#999999",
    warn_color="#E5E500",
    alert_color="#FF1919",
    format=" {avail_mem}/{total_mem} GB",
    divisor=1073741824,)
status.register("disk",
    color='#56B6C2',
    path="/home",
    on_leftclick="pcmanfm",
    format=" {avail} GB",)
status.register("text",
    text="|",
    color="#222222")
status.register("disk",
    hints = {"separator": False, "separator_block_width": 3},
    color='#ABB2BF',
    path="/",
    format=": {avail} GB",)
#status.register('ping',
#    format_disabled='',
#    color='#61AEEE')
status.register("keyboard_locks",
    format='{caps} {num}',
    caps_on='Caps Lock',
    caps_off='',
    num_on='Num On',
    num_off='',
    color='#e60053',
    )
status.register("mpd",
    host='localhost',
    port='6600',
    format="{status}",
    on_leftclick="switch_playpause",
    on_rightclick=["mpd_command", "stop"],
    on_middleclick=["mpd_command", "shuffle"],
    on_upscroll=["mpd_command", "next_song"],
    on_downscroll=["mpd_command", "previous_song"],
    status={
        "pause": " ",
        "play": " ",
        "stop": " ",
    },)
status.run()

使用上述配置文件,我们将关闭完整设置。
剩下的部分是讲述的 i3使用 i3pystatus作为默认状态栏。
修改 bar块在你的 i3配置文件。
矿井如下:

bar {
    status_command    python ~/.config/i3/i3pystatus.conf
    position          top
    workspace_buttons yes
    font pango:Hack, FontAwesome 10
    colors {
        background #253941
        statusline #e7dfd9
        separator  #081419
        focused_workspace  #2aa198 #073642 #eee895
        active_workspace   #073642 #859900 #839496
        inactive_workspace #002b36  #002b36   #586e75
        urgent_workspace   #cb4b16 #dc322f #fdf6e3
    }
  }

之后,只需重新启动 i3你应该好好去。
重新启动的关键组合 i3是:

$mod+Shift+r