Browse Source

i3: update config with i3blocks and moc_status

master
Skia 1 year ago
parent
commit
031f41de96
3 changed files with 186 additions and 3 deletions
  1. +6
    -3
      .config/i3/config
  2. +158
    -0
      .config/i3blocks/config
  3. +22
    -0
      .local/bin/moc_status

+ 6
- 3
.config/i3/config View File

@@ -131,7 +131,7 @@ bindsym $mod+Shift+0 move container to workspace 10
# reload the configuration file
bindsym $mod+Shift+r reload
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
bindsym $mod+Shift+q restart
bindsym $mod+Shift+w restart
# exit i3 (logs you out of your X session)
bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -b 'Yes, exit i3' 'i3-msg exit'"

@@ -157,6 +157,7 @@ mode "resize" {
# back to normal: Enter or Escape
bindsym Return mode "default"
bindsym Escape mode "default"
bindsym z mode "default"
}

bindsym $mod+z mode "resize"
@@ -170,10 +171,12 @@ bindcode 121 exec "pactl set-sink-mute 1 toggle"
bindcode 122 exec "amixer -q -c 1 sset Master 1%-"
# Vol +
bindcode 123 exec "amixer -q -c 1 sset Master 1%+"
# lock
bindsym $mod+Control+l exec "lock"

# Start i3bar to display a workspace bar (plus the system information i3status
# finds out, if available)
bar {
status_command i3status
tray_output primary
position top
status_command i3blocks
}

+ 158
- 0
.config/i3blocks/config View File

@@ -0,0 +1,158 @@
# i3blocks config file
#
# Please see man i3blocks for a complete reference!
# The man page is also hosted at http://vivien.github.io/i3blocks
#
# List of valid properties:
#
# align
# color
# command
# full_text
# instance
# interval
# label
# min_width
# name
# separator
# separator_block_width
# short_text
# signal
# urgent

# Global properties
#
# The top properties below are applied to every block, but can be overridden.
# Each block command defaults to the script name to avoid boilerplate.
command=/usr/share/i3blocks/$BLOCK_NAME
separator_block_width=15
markup=none

# mocp
[mocp]
interval=2

# Volume indicator
#
# The first parameter sets the step (and units to display)
# The second parameter overrides the mixer selection
# See the script for details.
[volume 1 hw:1]
# label=VOL
label=♪
instance=Master
#instance=PCM
interval=10
signal=10

# Memory usage
#
# The type defaults to "mem" if the instance is not specified.
[memory]
label=MEM
separator=false
interval=30

[memory]
label=SWAP
instance=swap
separator=false
interval=30

# Disk usage
#
# The directory defaults to $HOME if the instance is not specified.
# The script may be called with a optional argument to set the alert
# (defaults to 10 for 10%).
[disk]
label=HOME
#instance=/mnt/data
interval=30

# Network interface monitoring
#
# If the instance is not specified, use the interface used for default route.
# The address can be forced to IPv4 or IPv6 with -4 or -6 switches.
[iface]
#instance=wlan0
color=#00FF00
interval=10
separator=false

# [wifi]
# #instance=wlp3s0
# interval=10
# separator=false

[bandwidth]
#instance=eth0
interval=5

# CPU usage
#
# The script may be called with -w and -c switches to specify thresholds,
# see the script for details.
[cpu_usage]
label=CPU
interval=10
min_width=CPU: 99%
separator=false

[load_average]
label=LOAD
interval=10

# Battery indicator
#
# The battery instance defaults to 0.
[battery]
label=BAT
#label=⚡
#instance=1
interval=30

# Date Time
#
[time]
command=date '+%Y-%m-%d %H:%M:%S'
interval=5

# Generic media player support
#
# This displays "ARTIST - SONG" if a music is playing.
# Supported players are: spotify, vlc, audacious, xmms2, mplayer, and others.
#[mediaplayer]
#instance=spotify
#interval=5
#signal=10

# OpenVPN support
#
# Support multiple VPN, with colors.
#[openvpn]
#interval=20

# Temperature
#
# Support multiple chips, though lm-sensors.
# The script may be called with -w and -c switches to specify thresholds,
# see the script for details.
#[temperature]
#label=TEMP
#interval=10

# Key indicators
#
# Add the following bindings to i3 config file:
#
# bindsym --release Caps_Lock exec pkill -SIGRTMIN+11 i3blocks
# bindsym --release Num_Lock exec pkill -SIGRTMIN+11 i3blocks
#[keyindicator]
#instance=CAPS
#interval=once
#signal=11

#[keyindicator]
#instance=NUM
#interval=once
#signal=11

+ 22
- 0
.local/bin/moc_status View File

@@ -0,0 +1,22 @@
#!/bin/sh

STATE=$(mocp --format "%state")
MOC="$(mocp --format="%t - %a (%ct/%tt)")"
case $STATE in
"PLAY")
COLOR='#00AA00'
STATUS="▶"
;;
"PAUSE")
COLOR='#AAAA00'
STATUS="⏸"
;;
*)
MOC="Not playing"
COLOR='#AA0000'
STATUS=""
;;
esac
echo "${STATUS} ${MOC}"
echo "${STATUS} ${MOC}"
echo "$COLOR"

Loading…
Cancel
Save