1
0
mirror of https://github.com/alrayyes/i3blocks synced 2023-11-13 18:16:40 +00:00
i3blocks/README.md

191 lines
3.4 KiB
Markdown
Raw Normal View History

2016-11-21 21:36:49 +00:00
# i3Blocks
![Screenshot](screenshots/screenshot.png)
Some handy scripts I wrote to customize [i3blocks](https://vivien.github.io/i3blocks/)
# Requirements
* [i3](https://i3wm.org/)
* [i3blocks](https://vivien.github.io/i3blocks/)
# Installation
```shell
git clone https://github.com/alrayyes/i3blocks.git
```
# Arch Updates
## Description
Lists number of [Arch Linux](https://www.archlinux.org/) package updates available
## Source
```shell
#!/bin/sh
# Arch upgradeable packages
list=`pacman -Sup 2> /dev/null`
if [ "$list" == ":: Starting full system upgrade..." ]; then
count=""
else
count=`echo "$list" | wc -l`
fi
echo "$count"
```
## i3blocks config
```shell
[arch-updates]
command=~/i3blocks/archupdates
label=
color=#FF0000
interval=3600
```
# Docker Containers
## Description
Lists number of [Docker](https://www.docker.com/) containers running
## Source
```shell
#!/bin/sh
docker ps -q | wc -l | sed -r 's/^0$//g'
```
## i3blocks config
```shell
[docker-containers]
label=
command=~/i3blocks/container
interval=5
```
# Gmail
## Description
Lists number of unread emails in [Gmail](https://www.google.com/gmail) inbox
## Source
```shell
#!/bin/bash
# Requires https://www.google.com/settings/security/lesssecureapps for gmail.
CONFIG_FILE="${BLOCK_INSTANCE}"
CONFIG_FILE=${CONFIG_FILE/\~/$HOME}
# Config file needs the following settings:
#MAIL_USER="user@domain.tld"
#MAIL_PASSWORD="secret"
if [[ ! -f "${CONFIG_FILE}" ]]; then
echo "${CONFIG_FILE}"
exit 33
fi
2016-11-21 21:51:37 +00:00
source "${CONFIG_FILE}"
COUNT=`curl -su $MAIL_USER:$MAIL_PASSWORD https://mail.google.com/mail/feed/atom || echo "<fullcount>unknown number of</fullcount>"`
COUNT=`echo "$COUNT" | grep -oPm1 "(?<=<fullcount>)[^<]+" `
if [ "$COUNT" = "0" ]; then
echo ""
else
echo $COUNT
fi
2016-11-21 21:36:49 +00:00
```
## i3blocks config
```shell
[gmail]
command=~/i3blocks/gmail
label=G
instance=~/.mysupersecretgmaillogin
interval=60
color=#00FF00
```
## ~/.mysupersecretgmaillogin
```shell
MAIL_USER="john.doe@gmail.com"
MAIL_PASSWORD="password123"
```
# What is My Ip
## Description
Prints your external ip address
## Source
```shell
#!/bin/sh
ip=$(curl -s icanhazip.com);
if [[ "$BLOCK_BUTTON" -eq 1 ]];
then
netname=$(whois $ip | grep '^netname:' | awk '{print $2}' | tail -1);
echo "$netname"
else
echo "$ip"
fi
```
## i3blocks config
```shell
[whatismyip]
label=
command=~/i3blocks/whatismyip
color=#00FF00
interval=30
```
2016-11-22 18:47:30 +00:00
# cmus
## Description
Prints current song playing in [cmus](https://cmus.github.io/)
## Source
```shell
#!/bin/sh
ICON_PLAY="➤"
ICON_PAUSE="Ⅱ"
ICON_STOP="≠"
CUR_ICON=""
INFO_ARTIST=$(cmus-remote -Q | grep ' artist ' | cut -d ' ' -f3-)
INFO_ALBUM=$(cmus-remote -Q | grep ' album ' | cut -d ' ' -f3-)
INFO_TITLE=$(cmus-remote -Q | grep ' title ' | cut -d ' ' -f3-)
PLAYER_STATUS=$(cmus-remote -Q | grep 'status' | cut -d ' ' -f2-)
if [[ "${PLAYER_STATUS}" = "paused" ]]; then
CUR_ICON="${ICON_PAUSE}"
elif [[ "${PLAYER_STATUS}" = "playing" ]]; then
CUR_ICON="${ICON_PLAY}"
else
CUR_ICON="${ICON_STOP}"
fi
if [[ "${INFO_TITLE}" != "" ]] && [[ "${INFO_ARTIST}" != "" ]]; then
echo "${INFO_ARTIST} - ${INFO_TITLE} ${CUR_ICON}"
echo "${INFO_ARTIST} - ${INFO_TITLE} ${CUR_ICON}"
fi
```
## i3blocks config
```shell
[cmus]
label=
command=~/i3blocks/cmus
interval=5
```
2016-11-21 21:36:49 +00:00
# License
This theme is released under the MIT License. For more information read the [license][license].
[license]: https://github.com/alrayyes/i3blocks/blob/master/LICENSE.md