diff --git a/.bashrc b/.bashrc index 1f32f92..2bdc2a6 100644 --- a/.bashrc +++ b/.bashrc @@ -136,7 +136,7 @@ export NVM_DIR="$HOME/.nvm" alias ngdo='ngrok http --domain=devops-extension.ngrok.dev 3000' ## Initialization -alias install-requirements-ubuntu='sudo apt install i3 i3status i3lock suckless-tools feh scrot' +alias install-requirements-ubuntu='sudo apt install i3 i3blocks i3lock suckless-tools feh scrot' ## Start oh my posh eval "$(oh-my-posh init bash --config '~/.config/oh-my-posh/theme.omp.json')" diff --git a/.config/i3/config b/.config/i3/config index f32e298..066e443 100644 --- a/.config/i3/config +++ b/.config/i3/config @@ -205,7 +205,7 @@ bar { urgent_workspace $nord-aurora-red $nord-aurora-red $nord-snow-3 } - status_command i3status + status_command i3blocks } # window colors @@ -229,13 +229,15 @@ exec_always feh --bg-fill /$wallpaper_path #KEYBINDS bindsym $mod+Shift+z exec i3lock -bindsym Control+Mod1+s exec /home/wholteza/.password-store/passmenu +bindsym Control+Mod1+s exec /home/wholteza/.config/passmenu/passmenu # border / titlebar title_align center default_border normal # hide_edge_borders vertical bindsym Control+Shift+x [class="^.*"] border toggle +for_window [class="plasma.emojier"] floating enable + # for_window [class="^.*"] border pixel 1 # for_window [class="URxvt"] border normal # for_window [class="Leafpad"] border normal diff --git a/.config/i3blocks/config b/.config/i3blocks/config new file mode 100644 index 0000000..988827d --- /dev/null +++ b/.config/i3blocks/config @@ -0,0 +1,153 @@ +# 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 + +# 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] +label=VOL +#label=♪ +instance=Master +#instance=PCM +interval=once +signal=10 + +# Memory usage +# +# The type defaults to "mem" if the instance is not specified. +[memory] +label=MEMS +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=#a3be8c +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: 100.00% +#separator=false + +#[load_average] +#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 diff --git a/.config/passmenu/passmenu b/.config/passmenu/passmenu new file mode 100755 index 0000000..f3d566d --- /dev/null +++ b/.config/passmenu/passmenu @@ -0,0 +1,25 @@ +#!/usr/bin/env bash + +shopt -s nullglob globstar + +typeit=0 +if [[ $1 == "--type" ]]; then + typeit=1 + shift +fi + +prefix=${PASSWORD_STORE_DIR-~/.password-store} +password_files=( "$prefix"/**/*.gpg ) +password_files=( "${password_files[@]#"$prefix"/}" ) +password_files=( "${password_files[@]%.gpg}" ) + +password=$(printf '%s\n' "${password_files[@]}" | rofi -dmenu -theme nord -font 'pango:monospace 18'"$@") + +[[ -n $password ]] || exit + +if [[ $typeit -eq 0 ]]; then + pass show -c "$password" 2>/dev/null +else + pass show "$password" | { IFS= read -r pass; printf %s "$pass"; } | + xdotool type --clearmodifiers --file - +fi