diff --git a/i3/i3/config.d/virtualarch.config b/i3/i3/config.d/virtualarch.config index aa6f22e..59bc5b0 100644 --- a/i3/i3/config.d/virtualarch.config +++ b/i3/i3/config.d/virtualarch.config @@ -13,9 +13,9 @@ bindsym XF86AudioLowerVolume exec --no-startup-id amixer set Master %5- bar { # always show at the bottom of the screen mode dock - position bottom + position top - # show a tray area + output VBOX0 tray_output primary # show workspace buttons @@ -37,5 +37,6 @@ bar { } i3bar_command i3bar - status_command i3status --config $path_i3status_config + status_command bash ~/.i3/i3bar_wrapper.bash + #status_command i3status --config ~/.i3/i3status.d/virtualarch.conf } diff --git a/i3/i3/conky/virtualarch.conky b/i3/i3/conky/virtualarch.conky new file mode 100644 index 0000000..4dbf332 --- /dev/null +++ b/i3/i3/conky/virtualarch.conky @@ -0,0 +1,135 @@ +# vim:set filetype=conkyrc: +# TODO: coloring of LOAD should depend on number of cpus, as it scales accordingly +out_to_console yes +out_to_ncurses no +out_to_stderr no +out_to_x no + +short_units yes + +double_buffer yes + +update_interval 1.0 +update_interval_on_battery 1.0 + +# pad_percents is useless without use_spacer, but the latter leads to some ugly gaps +#pad_percents 2 +#use_spacer left + +#TEXT +# +#\ +#\ +#\ +#\ +TEXT +[ +{ "full_text" : " \ +CPU: ${cpu cpu0}%\ + " , "color" : "\ +${if_match ${cpu cpu0} <= 25}\#00FF00\ +${else}${if_match ${cpu cpu0} <= 75}\#FFFF00\ +${else}\#FF0000\ +${endif}\ +${endif}\ +" , "min_width" : "CPU 00%" }, +\ +\ +\ +{ "full_text" : " \ +MEM: ${mem}/${memmax} (${memperc}%)\ + " , "color" : "\ +${if_match ${memperc} <= 50}\#00FF00\ +${else}${if_match ${memperc} <= 75}\#FFFF00\ +${else}\#FF0000\ +${endif}\ +${endif}\ +" }, +\ +\ +\ +{ "full_text" : " \ +${if_match "${swapperc}" != "No swap"}\ +SWAP: ${swap}/${swapmax} (${swapperc}%)\ +${else}\ +No swap\ +${endif}\ + " , "color" : "\ +${if_match "${swapperc}" == "No swap"}\#FFFFFF\ +${else}${if_match ${swapperc} <= 50}\#00FF00\ +${else}${if_match ${swapperc} <= 75}\#FFFF00\ +${else}\#FF0000\ +${endif}\ +${endif}\ +${endif}\ +" }, +\ +\ +\ +${if_mounted /}\ +{ "full_text" : " \ +/: ${fs_used /}/${fs_size /} (${fs_used_perc /}%)\ + " , "color" : "\ +${if_match ${fs_used_perc /} <= 70}\#00FF00\ +${else}${if_match ${fs_used_perc /} <= 90}\#FFFF00\ +${else}\#FF0000\ +${endif}\ +${endif}\ +" }, +${endif}\ +\ +\ +\ +${if_existing /sys/class/net/enp0s3} +{ "full_text" : " \ +enp0s3: \ +${if_up enp0s3}\ +${addr enp0s3}\ +${else}\ +E: down\ +${endif}\ + " , "color" : "\ +${if_up enp0s3}\ +${if_match "${addr enp0s3}" != "No Address"}\#00FF00\ +${else}\#FFFF00\ +${endif}\ +${else}\#FF0000\ +${endif}\ +" }, +${endif} +\ +\ +\ +{ "full_text" : " \ +LOAD: ${loadavg 2}\ + " , "color" : "\ +${if_match ${loadavg 2} <= 0.7}\#00FF00\ +${else}${if_match ${loadavg 2} <= 1}\#FFFF00\ +${else}\#FF0000)\ +${endif}\ +${endif}\ +" }, +\ +\ +\ +${if_existing /proc/acpi/battery/BATO}\ +{ "full_text" : " BAT: ${battery_short} (${battery_time}) " , "color" : "\#FFFFFF" }, +${endif}\ +\ +\ +\ +{ "full_text" : " KERNEL: ${sysname} ${kernel} " , "color" : "\#FFFFFF" }, +\ +\ +\ +{ "full_text" : " HOST: $nodename " , "color" : "\#FFFFFF" }, +\ +\ +\ +{ "full_text" : " UP: $uptime_short " , "color" : "\#FFFFFF" }, +\ +\ +\ +{ "full_text" : " ${time %a %F %T} " , "color" : "\#FFFFFF" , "name" : "time" } +], + diff --git a/i3/i3/conky/virtualarch.conky.dzen b/i3/i3/conky/virtualarch.conky.dzen new file mode 100644 index 0000000..c6bf091 --- /dev/null +++ b/i3/i3/conky/virtualarch.conky.dzen @@ -0,0 +1,94 @@ +# TODO: coloring of LOAD should depend on number of cpus, as it scales accordingly +out_to_console yes +out_to_ncurses no +out_to_stderr no +out_to_x no + +short_units yes + +update_interval 1.0 +update_interval_on_battery 1.0 + +# pad_percents is useless without use_spacer, but the latter leads to some ugly gaps +#pad_percents 2 +#use_spacer left + +TEXT + +${if_existing /sys/class/net/enp0s3}\ +${if_up enp0s3}\ +enp0s3: \ +${if_match "${addr enp0s3}" != "No Address"}^fg(\#00FF00)\ +${else}^fg(\#FFFF00)\ +${endif}\ +${addr enp0s3}\ +${else}^fg(\#FF0000)E: down +${endif}^fg() | \ +${endif}\ +\ +\ +${if_existing /proc/acpi/battery/BATO}BAT: ${battery_short} (${battery_time}) | ${endif}\ +\ +\ +${if_mounted /}\ +/: \ +${if_match ${fs_used_perc /} <= 70}^fg(\#00FF00)\ +${else}${if_match ${fs_used_perc /} <= 90}^fg(\#FFFF00)\ +${else}^fg(\#FF0000)\ +${endif}\ +${endif}\ +${fs_used /}/${fs_size /} (${fs_used_perc /}%)\ +^fg() | ${endif}\ +\ +\ +MEM: \ +${if_match ${memperc} <= 50}^fg(\#00FF00)\ +${else}${if_match ${memperc} <= 75}^fg(\#FFFF00)\ +${else}^fg(\#FF0000)\ +${endif}\ +${endif}\ +$mem/$memmax (${memperc}%)^fg() | \ +\ +\ +${if_match "${swapperc}" != "No swap"}\ +SWAP: \ +${if_match ${swapperc} <= 50}^fg(\#00FF00)\ +${else}${if_match ${swapperc} <= 75}^fg(\#FFFF00)\ +${else}^fg(\#FF0000)\ +${endif}\ +${endif}\ +${swap}/${swapmax} (${swapperc}%)\ +${else}\ +No swap\ +${endif}\ +^fg() | \ +\ +\ +CPU: \ +${if_match ${cpu cpu0} <= 25}^fg(\#00FF00)\ +${else}${if_match ${cpu cpu0} <= 75}fg(\#FFFF00)\ +${else}fg(\#FF0000)\ +${endif}\ +${endif}\ +${cpu cpu0}%^fg() | \ +\ +\ +LOAD: \ +${if_match ${loadavg 2} <= 0.7}^fg(\#00FF00)\ +${else}${if_match ${loadavg 2} <= 1}fg(\#FFFF00)\ +${else}fg(\#FF0000)\ +${endif}\ +${endif}\ +${loadavg 2}^fg() | \ +\ +\ +KERNEL: ${sysname} ${kernel} | \ +\ +\ +HOST: $nodename | \ +\ +\ +UP: $uptime_short | \ +\ +\ +${time %a %F %T} # diff --git a/i3/i3/i3bar_clickparser.bash b/i3/i3/i3bar_clickparser.bash new file mode 100644 index 0000000..07c2cbb --- /dev/null +++ b/i3/i3/i3bar_clickparser.bash @@ -0,0 +1,27 @@ +#!/usr/bin/env bash + +line="$1 + +" + +log(){ + echo $* >> ~/.i3/output_i3bar.log.2 +} + +# I'm sorry. +getval(){ + echo $(echo "$1" | grep -Po "\"$2\":.*?," | awk -F ':' '{print $2}' | tr -d '",') +} + +log $line + +name="$(getval "$line" "name")" +log $name + +case "$name" in +"time") + log "starting dzen with cal" + (echo "$(cal -1m)" ; sleep 15s) | dzen2 -w 100 -l 10 -x 1700 -y 20 + ;; +esac + diff --git a/i3/i3/i3bar_parser.bash b/i3/i3/i3bar_parser.bash new file mode 100644 index 0000000..9e8e951 --- /dev/null +++ b/i3/i3/i3bar_parser.bash @@ -0,0 +1,6 @@ +#!/usr/bin/env bash + +while read line; do + echo $line + echo $line >> ~/.i3/output_i3bar.log +done diff --git a/i3/i3/i3bar_wrapper.bash b/i3/i3/i3bar_wrapper.bash new file mode 100644 index 0000000..9104f56 --- /dev/null +++ b/i3/i3/i3bar_wrapper.bash @@ -0,0 +1,19 @@ +#!/usr/bin/env bash +# From http://i3wm.org/docs/user-contributed/conky-i3bar.html + +# end the header so that i3bar knows we want to use JSON: +echo '{ "version": 1 ,"stop_signal": 10, "cont_signal": 12, "click_events" : true }' + +# Begin the endless array. +echo '[' + +# We send an empty first array of blocks to make the loop simpler: +echo '[],' + +# Now send blocks with information forever: +conky -c $HOME/.i3/conky/virtualarch.conky & + +while read input ; do + bash ~/.i3/i3bar_clickparser.bash "$input" +done + diff --git a/terminator/terminator/config b/terminator/terminator/config index 0957020..85a7384 100644 --- a/terminator/terminator/config +++ b/terminator/terminator/config @@ -6,7 +6,7 @@ [[default]] scrollbar_position = hidden palette = "#073642:#dc322f:#859900:#b58900:#268bd2:#d33682:#2aa198:#eee8d5:#002b36:#cb4b16:#586e75:#657b83:#839496:#6c71c4:#93a1a1:#fdf6e3" - font = Consolas 11 + font = DejaVu Sans Mono 10 background_image = None background_darkness = 0.9 urgent_bell = True