import logging from i3pystatus import Status from i3pystatus.updates import pacman, yay status = Status(logfile='/home/neodarz/i3pystatus.log') status.register("text", text="|",) status.register("updates", format = "{count}", color="#ffff00", color_no_updates="#711C91", format_no_updates = "", backends = [pacman.Pacman(), yay.Yay()], hints = {"markup": "pango", "separator": False, "separator_block_width": 0},) status.register("text", text="|", hints = {"separator": False, "separator_block_width": 0},) status.register("keyboard_locks", format="{caps}|{num}", hints = {"separator": False, "separator_block_width": 0}, caps_off="", num_off="",) status.register("text", text="|", hints = {"separator": False, "separator_block_width": 0},) # Displays clock like this: # Tue 30 Jul 11:59:46 PM KW31 # ^-- calendar week status.register("clock", format= ["%a %-d %b|%T", "Europe/Paris"], hints = {"separator": False, "separator_block_width": 0},) status.register("text", text="|", hints = {"separator": False, "separator_block_width": 0},) status.register("cpu_usage", hints = {"separator": False, "separator_block_width": 0},) status.register("text", text="|", hints = {"separator": False, "separator_block_width": 0},) status.register("cpu_freq", format = "{avgg}", hints = {"separator": False, "separator_block_width": 0},) status.register("text", text="|", hints = {"separator": False, "separator_block_width": 0},) # Shows the average load of the last minute and the last 5 minutes # (the default value for format is used) status.register("load", hints = {"markup": "pango", "separator": False, "separator_block_width": 0},) status.register("text", text="|", hints = {"separator": False, "separator_block_width": 0},) status.register("mem", format = "{used_mem}({percent_used_mem}%) [{avail_mem}]", color='#711C91', hints = {"markup": "pango", "separator": False, "separator_block_width": 0},) status.register("text", text="|", hints = {"separator": False, "separator_block_width": 0},) status.register("swap", format = "S:{used}/{total}({percent_used}%)", hide_if_empty = True, hints = {"markup": "pango", "separator": False, "separator_block_width": 0},) status.register("text", text="|", hints = {"separator": False, "separator_block_width": 0},) # Shows your CPU temperature, if you have a Intel CPU #status.register("temp", # format=" {temp:.0f}°C",) # The battery monitor has many formatting options, see README for details # This would look like this, when discharging (or charging) # ↓14.22W 56.15% [77.81%] 2h:41m # And like this if full: # =14.22W 100.0% [91.21%] # # This would also display a desktop notification (via D-Bus) if the percentage # goes below 5 percent while discharging. The block will also color RED. # If you don't have a desktop notification demon yet, take a look at dunst: # http://www.knopwob.org/dunst/ {%@@ if profile == "fenec" or profile == "pegasus" @@%} status.register("battery", format="{status} {percentage:.2f}% [{percentage_design:.2f}%] {remaining:%E%hh:%Mm}", alert=True, alert_percentage=5, status={ "DIS": "↓", "CHR": "↑", "FULL": "=", }, hints = {"markup": "pango", "separator": False, "separator_block_width": 0},) status.register("text", text="|", hints = {"separator": False, "separator_block_width": 0},) {%@@ endif @@%} # Displays whether a DHCP client is running #status.register("runwatch", # name="DHCP", # path="/var/run/dhclient*.pid",) # Shows the address and up/down state of eth0. If it is up the address is shown in # green (the default value of color_up) and the CIDR-address is shown # (i.e. 10.10.10.42/24). # If it's down just the interface name (eth0) will be displayed in red # (defaults of format_down and color_down) # # Note: the network module requires PyPI package netifaces status.register("network", dynamic_color=True, start_color="#fff", color_down="#fff", end_color="#fff", interface="enp3s0", format_up="{v4cidr}", format_down="X", hints = {"markup": "pango", "separator": False, "separator_block_width": 0},) status.register("text", text="|", hints = {"separator": False, "separator_block_width": 0},) status.register("openvpn", format="{status}", vpn_name="vpn-pro", status_up="vpro", status_down="", status_command="bash -c 'systemctl show vpn-pro.service | grep ActiveState=active'", hints = {"markup": "pango", "separator": False, "separator_block_width": 0},) status.register("text", text="|", hints = {"separator": False, "separator_block_width": 0},) status.register("openvpn", format="{status}", vpn_name="vpn-perso", status_up="vperso", status_down="", status_command="bash -c 'systemctl show vpn-perso.service | grep ActiveState=active'", hints = {"markup": "pango", "separator": False, "separator_block_width": 0},) status.register("text", text="|", hints = {"separator": False, "separator_block_width": 0},) #status.register("netspeed", #status.register("net_speed", # hints = {"separator": False, "separator_block_width": 0},) #status.register("text", # text="|", # hints = {"separator": False, "separator_block_width": 0},) #status.register("external_ip", # color="#fff", # color_down="#fff", # format="E:{v4cidr}", # format_down="X", # hints = {"markup": "pango", "separator": False, "separator_block_width": 0},) # #status.register("text", # text="|", # hints = {"separator": False, "separator_block_width": 0},) # Note: requires both netifaces and basiciw (for essid and quality) #status.register("network", # interface="wlp2s0", # format_up=" {essid}  {quality:03.0f}%", # format_down="") # Shows disk usage of / # Format: # 42/128G [86G] status.register("disk", path="/", format="[/]{avail}G", hints = {"separator": False, "separator_block_width": 0},) status.register("text", text="|", hints = {"separator": False, "separator_block_width": 0},) status.register("disk", path="/home", format="[/home]{avail}G", hints = {"separator": False, "separator_block_width": 0},) status.register("text", text="|", hints = {"separator": False, "separator_block_width": 0},) # Shows pulseaudio default sink volume # # Note: requires libpulseaudio from PyPI status.register("pulseaudio", format="{volume}%", format_muted="--%", color_unmuted="#711C91", hints = {"separator": False, "separator_block_width": 0},) status.register("text", text="|", hints = {"separator": False, "separator_block_width": 0},) #status.register("shell", # command="sh ~/.config/i3pystatus/get_volume.sh", # interval=1, # hints = {"separator": False, "separator_block_width": 0},) # #status.register("text", # text="|", # hints = {"separator": False, "separator_block_width": 0},) status.register("shell", command="python ~/.config/i3pystatus/headset.py", interval=1, hints = {"separator": False, "separator_block_width": 0},) status.register("text", text="|", hints = {"separator": False, "separator_block_width": 0},) status.register("redshift", hints = {"separator": False, "separator_block_width": 0},) #status.register("text", # text="|", # hints = {"separator": False, "separator_block_width": 0},) # #status.register("taskwarrior", # format = "{next}({project})[{urgent}/{ready}]", # hints = {"separator": False, "separator_block_width": 0},) status.register("text", text="|", hints = {"separator": False, "separator_block_width": 0},) #status.register("timewarrior", # hints = {"markup": "pango", "separator": False, "separator_block_width": 0},) # #status.register("text", # text="|", # hints = {"separator": False, "separator_block_width": 0},) #status.register("backlight", # hints = {"markup": "pango", "separator": False, "separator_block_width": 0},) # #status.register("text", # text="|", # hints = {"separator": False, "separator_block_width": 0},) #status.register("backlight", # format="{brightness}",) #status.register("shell", # command="~/.i3-blocks/blocks/brightness",) # Shows mpd status # Format: # Cloud connected▶Reroute to Remain status.register("cmus", format="{status} {song_elapsed}/{song_length} {artist} - {title}", status={ "stopped": "◾", "playing": "▶", "paused": "▷", }, format_not_running="", hints = {"separator": False, "separator_block_width": 0},) status.register("now_playing", player="clementine", color="#ffc080", hints = {"separator": False, "separator_block_width": 0}, format='{status} {artist} - {title} {song_elapsed}/{song_length}', # status = { # "Playing": "plsay", # "Paused": "pause", # "Stopped": "stop", # } ) status.run()