Skip to content

Latest commit

 

History

History
85 lines (63 loc) · 2.16 KB

README.md

File metadata and controls

85 lines (63 loc) · 2.16 KB

usb

Output connected usb storage device info. Supports usb mass storage devices, including those with multiple partitions, including LUKS partitions.

Requirements

Dependencies: udev, python3, util-linux ( >= 2.23 )

Suggested: fonts-font-awesome

Installation

The recommended i3blocks config is

[usb]
command=$SCRIPT_DIR/usb
markup=pango
signal=1
interval=10
#IGNORE_LIST=[]
#IGNORE_LIST=["sdd1", "mapper/sda1_crypt"]
#INFO_TEXT_COLOR=white
#MOUNTED_COLOR=green
#PLUGGED_COLOR=gray
#LOCKED_COLOR=gray
#UNLOCKED_NOT_MOUNTED_COLOR=yellow
#PARTITIONLESS_COLOR=red
#PARTITIONLESS_TEXT=no partitions
#SEPARATOR=<span color='gray'> | </span>
#LOCKED_INDICATOR= 
#UNLOCKED_INDICATOR= 
#READONLY_INDICATOR=ro
#TRUNCATE_FS_LABELS=[not set by default, accepts +/- integers]

To update the blocklet on plug/unplug device events you can add

SUBSYSTEMS=="usb", RUN+="/usr/bin/pkill -RTMIN+1 i3blocks" 

in /etc/udev/rules.d/70-persistent-usb.rules. You may need to create the file. Then call

sudo udevadm control --reload-rules

to activate the new rules. If you do not care about updating the blocklet on plug/unplug, the script works fine on just an interval and you can ignore the udev rule and delete signal=1 in the config.

Now restart your i3 in place with

i3-msg restart

Try plugging in a usb device to make sure everything works.

Configuration

The IGNORE_LIST variable, if set, must be a valid python representation of a list of strings, e.g. ["sdd1", "mapper/sda1_crypt"]. Due to the way i3blocks parses config files, newlines are not allowed. The strings are full device paths, with "/dev" optionally omitted. For example, the previous "sdd1" is expanded to "/dev/sdd1" at runtime. The list is safely parsed using ast.literal_eval, NOT eval.

If you decide not to install FontAwesome, then you will probably want to change the LOCKED_INDICATOR and UNLOCKED_INDICATOR variables, as these use unicode symbols provided by FontAwesome (and not many other fonts). You do not need to restart i3 after making a change to the config.