scripts

various script and utils
git clone git://z3bra.org/scripts
Log | Files | Refs

commit 7456e9b03b0b3646004497eae3b07907945d1277
parent 423b3b8a221d3b7e2dcc0c23d68dd4610436ecf2
Author: Willy Goiffon <w.goiffon@gmail.com>
Date:   Tue Jun 11 17:26:34 +0200

Merge branch 'master' of gitorious.org:z3bra/scripts

Diffstat:
bar/config.sh | 84+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
bar/status.sh | 138+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
conky/liberty/conkyrc_bar | 63+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
conky/liberty/conkyrc_clock | 50++++++++++++++++++++++++++++++++++++++++++++++++++
conky/liberty/conkyrc_mpd | 63+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
conky/liberty/conkyrc_wall | 48++++++++++++++++++++++++++++++++++++++++++++++++
conky/liberty/hangman.jpg | 0
conky/liberty/icons/arch.png | 0
conky/liberty/icons/archlinux.png | 0
conky/liberty/icons/clock.png | 0
conky/liberty/icons/hw.png | 0
conky/liberty/icons/mem.png | 0
conky/liberty/icons/music.png | 0
conky/liberty/icons/no_con.png | 0
conky/liberty/icons/pacman.png | 0
conky/liberty/icons/wifi.png | 0
conky/liberty/icons/wired.png | 0
conky/liberty/icons/wm.png | 0
conky/ratpoison/conkyrc_bar | 60++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
conky/rings/conkyrc_rings | 50++++++++++++++++++++++++++++++++++++++++++++++++++
conky/rings/lua.lua | 146+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
conky/simple/conkyrc.clock | 50++++++++++++++++++++++++++++++++++++++++++++++++++
conky/simple/conkyrc.dskp | 47+++++++++++++++++++++++++++++++++++++++++++++++
conky/simple/conkyrc.top | 35+++++++++++++++++++++++++++++++++++
conky/z3bra/conkyrc_cpu | 66++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
conky/z3bra/conkyrc_feeds | 57+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
conky/z3bra/conkyrc_memory | 63+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
conky/z3bra/conkyrc_network | 68++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
conky/z3bra/conkyrc_system | 64++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
conky/z3bra/conkyrc_volume | 76++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
conky/z3bra/pics/Memory.png | 0
conky/z3bra/pics/Task_Manager.png | 0
conky/z3bra/pics/archlinux.png | 0
conky/z3bra/pics/archlinux_light.png | 0
conky/z3bra/pics/base.png | 0
conky/z3bra/pics/wlan100.png | 0
conky/z3bra/scripts/gmail.sh | 18++++++++++++++++++
conky/z3bra/scripts/todo.sh | 83+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
dzen/bin/battery.sh | 25+++++++++++++++++++++++++
dzen/bin/calendar.sh | 23+++++++++++++++++++++++
dzen/bin/config.sh | 61+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
dzen/bin/hardware.sh | 59+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
dzen/bin/music.sh | 43+++++++++++++++++++++++++++++++++++++++++++
dzen/bin/network.sh | 30++++++++++++++++++++++++++++++
dzen/bin/pacman.sh | 29+++++++++++++++++++++++++++++
dzen/bin/volume.sh | 95+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
dzen/bin/windows.sh | 19+++++++++++++++++++
dzen/bin/workspace.sh | 58++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
dzen/dzenbar.sh | 183+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
dzen/icons/README | 6++++++
dzen/icons/ac.xbm | 4++++
dzen/icons/ac_01.xbm | 4++++
dzen/icons/arch.xbm | 4++++
dzen/icons/arch_10x10.xbm | 5+++++
dzen/icons/bat_empty_01.xbm | 4++++
dzen/icons/bat_empty_02.xbm | 4++++
dzen/icons/bat_full_01.xbm | 4++++
dzen/icons/bat_full_02.xbm | 4++++
dzen/icons/bat_low_01.xbm | 4++++
dzen/icons/bat_low_02.xbm | 4++++
dzen/icons/bluetooth.xbm | 4++++
dzen/icons/bug_01.xbm | 4++++
dzen/icons/bug_02.xbm | 4++++
dzen/icons/cat.xbm | 4++++
dzen/icons/clock.xbm | 4++++
dzen/icons/corner_left.xbm | 5+++++
dzen/icons/corner_right.xbm | 5+++++
dzen/icons/cpu.xbm | 4++++
dzen/icons/dish.xbm | 4++++
dzen/icons/diskette.xbm | 4++++
dzen/icons/docs.xbm | 5+++++
dzen/icons/down.xbm | 6++++++
dzen/icons/eclipse.xbm | 5+++++
dzen/icons/empty.xbm | 4++++
dzen/icons/eye_l.xbm | 4++++
dzen/icons/eye_r.xbm | 4++++
dzen/icons/fox.xbm | 4++++
dzen/icons/fs_01.xbm | 4++++
dzen/icons/fs_02.xbm | 4++++
dzen/icons/full.xbm | 4++++
dzen/icons/fwd.xbm | 4++++
dzen/icons/gimp.xbm | 4++++
dzen/icons/google-chrome.xbm | 5+++++
dzen/icons/grid.xbm | 5+++++
dzen/icons/half.xbm | 4++++
dzen/icons/info_01.xbm | 4++++
dzen/icons/info_02.xbm | 4++++
dzen/icons/info_03.xbm | 4++++
dzen/icons/layout_full.xbm | 5+++++
dzen/icons/layout_mirror_tall.xbm | 5+++++
dzen/icons/layout_tall.xbm | 5+++++
dzen/icons/load.xbm | 6++++++
dzen/icons/mail.xbm | 4++++
dzen/icons/me.xbm | 5+++++
dzen/icons/mem.xbm | 4++++
dzen/icons/mouse_01.xbm | 4++++
dzen/icons/mpd.xbm | 6++++++
dzen/icons/net-wifi.xbm | 6++++++
dzen/icons/net-wifi3.xbm | 6++++++
dzen/icons/net-wifi4.xbm | 6++++++
dzen/icons/net-wifi5.xbm | 6++++++
dzen/icons/net-wired.xbm | 6++++++
dzen/icons/net-wired2.xbm | 6++++++
dzen/icons/net_down_01.xbm | 4++++
dzen/icons/net_down_02.xbm | 4++++
dzen/icons/net_down_03.xbm | 4++++
dzen/icons/net_up_01.xbm | 4++++
dzen/icons/net_up_02.xbm | 4++++
dzen/icons/net_up_03.xbm | 4++++
dzen/icons/net_wired.xbm | 4++++
dzen/icons/next.xbm | 4++++
dzen/icons/note.xbm | 4++++
dzen/icons/pacman.xbm | 4++++
dzen/icons/pause.xbm | 4++++
dzen/icons/phones.xbm | 4++++
dzen/icons/play.xbm | 4++++
dzen/icons/plug.xbm | 4++++
dzen/icons/plus.xbm | 5+++++
dzen/icons/power-ac.xbm | 6++++++
dzen/icons/power-bat.xbm | 6++++++
dzen/icons/power-bat2.xbm | 6++++++
dzen/icons/prev.xbm | 4++++
dzen/icons/rwd.xbm | 4++++
dzen/icons/scorpio.xbm | 4++++
dzen/icons/shell.xbm | 5+++++
dzen/icons/shroom.xbm | 4++++
dzen/icons/spkr_01.xbm | 4++++
dzen/icons/spkr_02.xbm | 4++++
dzen/icons/spkr_03.xbm | 4++++
dzen/icons/stop.xbm | 4++++
dzen/icons/tall.xbm | 5+++++
dzen/icons/temp.xbm | 4++++
dzen/icons/term.xbm | 5+++++
dzen/icons/test.xbm | 4++++
dzen/icons/thunar.xbm | 5+++++
dzen/icons/tunes.xbm | 4++++
dzen/icons/up.xbm | 6++++++
dzen/icons/urxvt.xbm | 5+++++
dzen/icons/usb.xbm | 4++++
dzen/icons/usb_02.xbm | 4++++
dzen/icons/vol-hi.xbm | 6++++++
dzen/icons/vol-mute.xbm | 6++++++
dzen/icons/web.xbm | 5+++++
dzen/icons/wifi_01.xbm | 4++++
dzen/icons/wifi_02.xbm | 4++++
dzen/workspace.sh | 49+++++++++++++++++++++++++++++++++++++++++++++++++
pipes | 51+++++++++++++++++++++++++++++++++++++++++++++++++++
uplay | 10++++++++++
148 files changed, 2498 insertions(+), 0 deletions(-)
diff --git a/bar/config.sh b/bar/config.sh @@ -0,0 +1,84 @@ +#!/bin/bash + +# Color used in the bar (extracted from .Xresources) +# * 0 : beige (background) +# * 1 : brown (foreground) +# * 2 : black +# * 3 : red +# * 4 : green +# * 5 : yellow +# * 6 : blue +# * 7 : magenta +# * 8 : cyan +# * 9 : white + +# unified colors +bg="1" +fg="9" +hl="0" +dk="2" + +# separator +sp="\f${dk}$(echo -e '\ue190')\fr " + +# path to executable +bar="/usr/bin/bar -b" + +# pipe to feed the bar +fifo=/tmp/bar.fifo + +# refresh frenquency (in seconds) +refresh=0.75 + +# info icons (from stlarch_font package. use gbdef to view/modify font) +i_arch='\ue0a1' # arch logo +# i_pkgs='\ue14d' # pacman +i_pkgs='\ue0aa' # pacman ghost +i_mail='\ue072' # mail icon +i_wifi='\ue0f0' # signal +i_netw='\ue149' # wired +i_time='\ue017' # clock +# i_batt='\ue040' # thunder +i_batt='\ue10c' # power +i_load='\ue021' # micro chip +i_memy='\ue145' # floppy +i_musk='\ue04d' # headphones +i_alsa='\ue05d' # speaker + +# workspace icons / names +i_trm=$(echo -e '\ue09f') # default +i_web=$(echo -e '\ue0ab') # web browsing +i_dev=$(echo -e '\ue19a') # intense coding +i_com=$(echo -e '\ue074') # irc, voip, etc.. +i_fun=$(echo -e '\ue19d') # games +i_sys=$(echo -e '\ue09e') # sys admin +i_wrk=$(echo -e '\ue146') # reports, etc.. +i_far=$(echo -e '\ue00e') # just chillin' +i_meh=$(echo -e '\ue14d') # just chillin' + + +# specific parameters +# desktop names +dskp_tag=('' $i_trm $i_web $i_dev $i_com $i_fun $i_sys $i_wrk $i_meh $i_far) + +# now playing format +mpc_format='[[%artist% - ]%title%]|[%file%]' + +# volume channel +alsa_channel='Master' + +# define you own interfaces +net_wire='enp2s0' +net_wifi='enp3s0' +# which interface do you want to use ? +net_interface=$net_wire + +# Only the time ? with seconds ? Maybe the current year...? +date_format="%H:%M:%S" + +# used to get current workspace +wm_lib_xcb="XCB" # DO NOT MODIFY +wm_lib_xlib="XLIB" # DO NOT MODIFY +wm_lib=$wm_lib_xcb # which library does your WM use ? + # xcb *should* work with any WM, as it uses `xprop`, whereas + # xlib uses `wmctrl` which works ONLY with Xlib. diff --git a/bar/status.sh b/bar/status.sh @@ -0,0 +1,138 @@ +#!/bin/sh + +source $(dirname $0)/config.sh + +# print formatted output. need 2 params: display <value> <icon> +function display () { + echo -n "\f${hl}" + echo -ne "$2 " + echo "\f${fg}$1" +} + +function workspaces () { + if [ "$wm_lib" = "$wm_lib_xcb" ]; then + dskp_num=$(xprop -root _NET_NUMBER_OF_DESKTOPS | cut -d ' ' -f3) + dskp_cur=$(xprop -root _NET_CURRENT_DESKTOP | cut -d ' ' -f3) + elif [ "$wm_lib" = "$wm_lib_xlib" ]; then + dskp_num=$(wmctrl -d| wc -l) + dskp_cur=$(wmctrl -d |grep '*' |cut -d' ' -f1) + fi + + buffer="" + + for w in $(seq 0 $dskp_num); do + if [ "$w" -eq "$dskp_cur" ]; then + buffer="$buffer\u${hl} ${dskp_tag[$w]} \u${bg}" + else + buffer="$buffer ${dskp_tag[$w]} " + fi + done + + echo -n "${buffer}" +} + +function mpd_now_playing () { + val=$(mpc current --format "$mpc_format" 2>/dev/null) + [[ $? -ne 0 ]] && val="-stopped-" + ico=${i_musk} + + display "$val" "$ico" +} + +function volume () { + val=$(amixer sget $alsa_channel | sed -n 's/.*\[\([0-9/]*%\)\].*/\1/p') + ico=${i_alsa} + + display "$val" "$ico" +} + +function battery () { + val=$(acpi -b | sed 's/^.*[^0-9%]//') + ico=${i_batt} + + display "$val" "$ico" +} + +function packages () { + + val=$"$(pacman -Q| wc -l) pkg" + ico=${i_pkgs} + + display "$val" "$ico" +} + +function memory () { + + mem_tot=$(free -m| sed -n 2p| awk '{print $2}') + mem_use=$(free -m| sed -n 3p| awk '{print $3}') + val="$(echo "$mem_use*100/$mem_tot" | bc)%" + ico=${i_memy} + + display "$val" "$ico" +} + +function processes () { + + val="$(iostat -c | sed -n "4p" | awk -F " " '{print $1}')%" + ico=${i_load} + + display "$val" "$ico" +} + +function network () { + + interface_up=$(ip link | grep 'state UP' | wc -l) + + if [ ${interface_up} -gt 1 ]; then + val="multi connection" + ico=${i_netw} + else + + net_interface=$(ip link| grep 'state UP'| sed 's/[0-9]: \([^:]*\):.*$/\1/') + if [ "$net_interface" = "$net_wire" ]; then + val=$(ifconfig $net_interface| grep 'inet '| awk '{print $2}') + ico=${i_netw} + elif [ "$net_interface" = "$net_wifi" ]; then + val=$(ifconfig $net_interface| grep 'inet '| awk '{print $2}') + ico=${i_netw} + else + val="" + ico=${i_netw} + fi + fi + + [[ -z "$val" ]] && val="disconnected" + + display "$val" "$ico" +} + +function clock () { + val=$(date +${date_format}) + ico=${i_time} + + display "$val" "$ico" +} + +function fillbar () { + buffer="\b${bg}\f${fg}" + buffer="$buffer\l\u${bg}" + buffer="$buffer$(workspaces) " + buffer="$buffer\c\u${bg}" + buffer="$buffer$(volume) ${sp}" + buffer="$buffer$(mpd_now_playing) " + buffer="$buffer\r\u${bg}" + buffer="$buffer$(battery) ${sp}" + buffer="$buffer$(network) ${sp}" + buffer="$buffer$(memory) ${sp}" + buffer="$buffer$(processes) ${sp}" + buffer="$buffer$(packages) ${sp}" + buffer="$buffer$(clock)" + buffer="$buffer " + echo "$buffer" +} + +while :; do + source $(dirname $0)/config.sh + fillbar + sleep ${refresh} +done | ${bar} diff --git a/conky/liberty/conkyrc_bar b/conky/liberty/conkyrc_bar @@ -0,0 +1,63 @@ +###################### +# - Conky settings - # +###################### +background no +update_interval 2 +total_run_times 0 +net_avg_samples 1 +cpu_avg_samples 2 + +imlib_cache_size 0 +double_buffer yes +no_buffers yes + +##################### +# - Text settings - # +##################### +# use_xft yes +# xftfont ubuntu:size=8 +font snap +override_utf8_locale yes +text_buffer_size 2048 + +############################# +# - Window specifications - # +############################# +own_window_class Conky +own_window yes +own_window_type desktop +own_window_transparent yes +own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager + +alignment bottom_middle +gap_x 0 +gap_y 4 +minimum_size 0 0 + +default_bar_size 32 4 + +#################### +# - App specific - # +#################### +mpd_host gavroche.z3bra.org +mpd_password mpdconf +mpd_port 6600 + +######################### +# - Graphics settings - # +######################### +draw_shades no +color0 ff4464 +color1 dddddd +color2 1d1d1d + + +TEXT +# images +${image $HOME/.conky.d/L_B_RTY/icons/pacman.png -p 0,0 -s 54x54} ${image $HOME/.conky.d/L_B_RTY/icons/hw.png -p 220,0 -s 56x56} ${image $HOME/.conky.d/L_B_RTY/icons/mem.png -p 440,0 -s 56x56} ${if_up enp3s0}${image $HOME/.conky.d/L_B_RTY/icons/wifi.png -p 660,0 -s 56x56}${else}${image $HOME/.conky.d/L_B_RTY/icons/wired.png -p 660,0 -s 56x56}${endif}${image $HOME/.conky.d/L_B_RTY/icons/wm.png -p 880,0 -s 56x56} +${voffset -14} +${goto 58}${color0}pkg ${goto 110}${color1}${execi 120 package-query -Ql | wc -l} ${goto 280}${color0}cpu 1${goto 330}${color1}${cpubar cpu1} ${color0}${cpu cpu1}% ${goto 504}${color0}/ ${goto 554}${color1}${fs_bar /} ${color0}${fs_used_perc /}% ${goto 718}${color0}${if_up enp3s0}wifi ${goto 768}${color1}${wireless_essid enp3s0}${else}${if_up enp2s0}eth${else}loopback${endif}${endif} ${if_up enp3s0}${color0}${wireless_link_qual_perc enp3s0}%${endif} ${goto 940}${color0}wm ${goto 990}${color1}${exec wmctrl -m | grep Name | awk '{print $2}'} +${goto 58}${color0}pacman ${goto 110}${color1}${execi 120 package-query -Qu | wc -l} ${goto 280}${color0}cpu 2${goto 330}${color1}${cpubar cpu2} ${color0}${cpu cpu2}% ${goto 504}/home ${goto 554}${color1}${fs_bar /home/} ${color0}${fs_used_perc /home/}% ${goto 718}${color0}ip (loc)${goto 768}${color1}${if_up enp3s0}${addr enp3s0}${else}${if_up enp2s0}${addr enp2s0}${else}${addr lo}${endif}${endif} ${goto 940}${color0}dskp ${goto 990}${color1}${desktop}${color0}/${color1}${desktop_number} +${goto 58}${color0}yaourt ${goto 110}${color1}${execi 60 package-query -Au | wc -l} ${goto 280}${color0}temp ${color1} ${goto 330}${acpitemp} ${color0}C ${goto 504}/boot ${goto 554}${color1}${fs_bar /boot/} ${color0}${fs_used_perc /boot/}% ${goto 718}${color0}ip (ext)${goto 768}${color1}${if_gw}${curl http://ipecho.net/plain}${endif}${goto 940}${color0}uptime ${goto 990}${color1}${uptime} +${goto 58}${color0}Kernel ${goto 110}${color1}${kernel} ${goto 280}${color0}load ${color1} ${goto 330}${loadavg 1} ${loadavg 2} ${goto 504}${color0} RAM ${goto 554}${color1}${membar} ${color0}${memperc}% ${goto 718}${color0}Gway ${goto 768}${color1}${if_gw}${gw_ip} ${goto 940}${color0}time ${goto 990}${color1}${time %H:%M} + diff --git a/conky/liberty/conkyrc_clock b/conky/liberty/conkyrc_clock @@ -0,0 +1,50 @@ +###################### +# - Conky settings - # +###################### +background no +update_interval 1.0 +total_run_times 0 +net_avg_samples 1 +cpu_avg_samples 1 + +imlib_cache_size 0 +double_buffer yes +no_buffers yes + +##################### +# - Text settings - # +##################### +use_xft yes +xftfont Tex Gyre Cursor:size=96 +override_utf8_locale yes +text_buffer_size 2048 + +############################# +# - Window specifications - # +############################# +own_window_class Conky +own_window yes +own_window_type desktop +own_window_transparent yes +own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager + +alignment ml +gap_x 84 +gap_y 190 +minimum_size 0 0 + +default_bar_size 32 4 + +######################### +# - Graphics settings - # +######################### +draw_shades no +color0 ff4464 +color1 ffffff +color2 1d1d1d + + +TEXT +# images +${color1}${time %H}${voffset -96} + ${color0}${time %M} diff --git a/conky/liberty/conkyrc_mpd b/conky/liberty/conkyrc_mpd @@ -0,0 +1,63 @@ +###################### +# - Conky settings - # +###################### +background no +update_interval 2 +total_run_times 0 +net_avg_samples 1 +cpu_avg_samples 2 + +imlib_cache_size 0 +double_buffer yes +no_buffers yes + +##################### +# - Text settings - # +##################### +# use_xft yes +# xftfont ubuntu:size=8 +font snap +override_utf8_locale yes +text_buffer_size 2048 + +############################# +# - Window specifications - # +############################# +own_window_class Conky +own_window yes +own_window_type desktop +own_window_transparent yes +own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager + +alignment bottom_middle +gap_x 0 +gap_y 4 +minimum_size 0 0 + +default_bar_size 32 4 + +#################### +# - App specific - # +#################### +mpd_host gavroche.z3bra.org +mpd_password mpdconf +mpd_port 6600 + +######################### +# - Graphics settings - # +######################### +draw_shades no +color0 ff4464 +color1 dddddd +color2 1d1d1d + + +TEXT +# images +${image $HOME/.conky.d/L_B_RTY/icons/pacman.png -p 0,0 -s 54x54} ${image $HOME/.conky.d/L_B_RTY/icons/hw.png -p 220,0 -s 56x56} ${image $HOME/.conky.d/L_B_RTY/icons/mem.png -p 440,0 -s 56x56} ${if_up enp3s0}${image $HOME/.conky.d/L_B_RTY/icons/wifi.png -p 660,0 -s 56x56}${else}${image $HOME/.conky.d/L_B_RTY/icons/wired.png -p 660,0 -s 56x56}${endif}${image $HOME/.conky.d/L_B_RTY/icons/wm.png -p 880,0 -s 56x56}${image $HOME/.conky.d/L_B_RTY/icons/music.png -p 1100,0 -s 56x56} +${voffset -14} +${goto 58}${color0}pkg ${goto 110}${color1}${execi 120 package-query -Ql | wc -l} ${goto 280}${color0}cpu 1${goto 330}${color1}${cpubar cpu1} ${color0}${cpu cpu1}% ${goto 504}${color0}/ ${goto 554}${color1}${fs_bar /} ${color0}${fs_used_perc /}% ${goto 718}${color0}${if_up enp3s0}wifi ${goto 768}${color1}${wireless_essid enp3s0}${else}${if_up enp2s0}eth${else}loopback${endif}${endif} ${if_up enp3s0}${color0}${wireless_link_qual_perc enp3s0}%${endif} ${goto 940}${color0}wm ${goto 990}${color1}${exec wmctrl -m | grep Name | awk '{print $2}'} ${goto 1158}${color0}mpd ${goto 1208}${color1}${mpd_status} +${goto 58}${color0}pacman ${goto 110}${color1}${execi 120 package-query -Qu | wc -l} ${goto 280}${color0}cpu 2${goto 330}${color1}${cpubar cpu2} ${color0}${cpu cpu2}% ${goto 504}/home ${goto 554}${color1}${fs_bar /home/} ${color0}${fs_used_perc /home/}% ${goto 718}${color0}ip (loc)${goto 768}${color1}${if_up enp3s0}${addr enp3s0}${else}${if_up enp2s0}${addr enp2s0}${else}${addr lo}${endif}${endif} ${goto 940}${color0}dskp ${goto 990}${color1}${desktop}${color0}/${color1}${desktop_number} ${goto 1158}${color0}play ${goto 1208}${color1}${mpd_smart 28} +${goto 58}${color0}yaourt ${goto 110}${color1}${execi 60 package-query -Au | wc -l} ${goto 280}${color0}temp ${color1} ${goto 330}${acpitemp} ${color0}C ${goto 504}/boot ${goto 554}${color1}${fs_bar /boot/} ${color0}${fs_used_perc /boot/}% ${goto 718}${color0}ip (ext)${goto 768}${color1}${if_gw}${curl http://ipecho.net/plain}${endif}${goto 940}${color0}uptime ${goto 990}${color1}${uptime} ${goto 1158}${color0}state ${goto 1208}${color1}${mpd_bar 4,64} ${color0}${mpd_length} +${goto 58}${color0}Kernel ${goto 110}${color1}${kernel} ${goto 280}${color0}load ${color1} ${goto 330}${loadavg 1} ${loadavg 2} ${goto 504}${color0} RAM ${goto 554}${color1}${membar} ${color0}${memperc}% ${goto 718}${color0}Gway ${goto 768}${color1}${if_gw}${gw_ip} ${goto 940}${color0}time ${goto 990}${color1}${time %H:%M} ${goto 1158}${color0}vol. ${goto 1208}${color1}${mpd_vol}% + diff --git a/conky/liberty/conkyrc_wall b/conky/liberty/conkyrc_wall @@ -0,0 +1,48 @@ +###################### +# - Conky settings - # +###################### +background no +update_interval 0.25 +total_run_times 0 +net_avg_samples 1 +cpu_avg_samples 1 + +imlib_cache_size 0 +double_buffer yes +no_buffers yes + +##################### +# - Text settings - # +##################### +use_xft yes +xftfont Tex Gyre Cursor:size=69 +override_utf8_locale yes +text_buffer_size 2048 + +############################# +# - Window specifications - # +############################# +own_window_class Conky +own_window yes +own_window_type desktop +own_window_transparent yes +own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager + +alignment tr +gap_x 56 +gap_y 16 +minimum_size 0 0 + +default_bar_size 32 4 + +######################### +# - Graphics settings - # +######################### +draw_shades no +color0 ff4464 +color1 ffffff +color2 1d1d1d + +TEXT +${color1} ${image $HOME/.conky.d/L_B_RTY/icons/arch.png -p 0,16 -s 96x96}${offset 28}${color1}RC${color0}_${color1}L${color0}_${color1}N${color0}_${color1}X${font Tex Gyre Cursor:size=40} +${alignr}D${color0}_${color1}SKT${color0}_${color1}P${color0}:${color1}${desktop} diff --git a/conky/liberty/hangman.jpg b/conky/liberty/hangman.jpg Binary files differ. diff --git a/conky/liberty/icons/arch.png b/conky/liberty/icons/arch.png Binary files differ. diff --git a/conky/liberty/icons/archlinux.png b/conky/liberty/icons/archlinux.png Binary files differ. diff --git a/conky/liberty/icons/clock.png b/conky/liberty/icons/clock.png Binary files differ. diff --git a/conky/liberty/icons/hw.png b/conky/liberty/icons/hw.png Binary files differ. diff --git a/conky/liberty/icons/mem.png b/conky/liberty/icons/mem.png Binary files differ. diff --git a/conky/liberty/icons/music.png b/conky/liberty/icons/music.png Binary files differ. diff --git a/conky/liberty/icons/no_con.png b/conky/liberty/icons/no_con.png Binary files differ. diff --git a/conky/liberty/icons/pacman.png b/conky/liberty/icons/pacman.png Binary files differ. diff --git a/conky/liberty/icons/wifi.png b/conky/liberty/icons/wifi.png Binary files differ. diff --git a/conky/liberty/icons/wired.png b/conky/liberty/icons/wired.png Binary files differ. diff --git a/conky/liberty/icons/wm.png b/conky/liberty/icons/wm.png Binary files differ. diff --git a/conky/ratpoison/conkyrc_bar b/conky/ratpoison/conkyrc_bar @@ -0,0 +1,60 @@ +###################### +# - Conky settings - # +###################### +background no +update_interval 1 +total_run_times 0 +net_avg_samples 1 +cpu_avg_samples 1 + +imlib_cache_size 0 +double_buffer yes +no_buffers yes + +##################### +# - Text settings - # +##################### +use_xft yes +xftfont URW Gothic L:bold:size=10 +text_buffer_size 2048 + +############################# +# - Window specifications - # +############################# +own_window_class Conky +own_window yes +own_window_type desktop +own_window_transparent yes +own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager +own_window_argb_visual yes +own_window_argb_value 8 + +alignment bottom_middle +gap_x 0 +gap_y 12 +minimum_size 1440 16 + +######################### +# - Graphics settings - # +######################### +draw_outline no +draw_shades no + +# color0: section headers +color0 0040ff +# color1: section info +color1 111111 +# color2: separators +color2 dddd00 + +TEXT +${color0}${font :bold:size=12}${exec /home/willy/bin/rpwin}${color1} ☮ \ +${color0}${font :bold:size=12}${exec ratpoison -c "groups" | grep "*" | sed -e 's/.*\*//'}${font}${color2} - \ +${color0}cpu: ${color1}$cpu% ${color2}- \ +${color0}mem: ${color1}$memperc% ${color2}- \ +${color0}df: ${color1}${fs_free_perc}% ${color2}- \ +${color0}eth0: ${color1}${addr eth0} ${color2}- \ +${color0}wlan0: ${color1}${addr wlan0} ${color2}- \ +${color0}pacman: ${color1}${execi 30 package-query -Qu | wc -l} updates ${color2}- \ +${color0}yaourt: ${color1}${execi 30 package-query -Au | wc -l} updates\ +${alignr 64}${color0} ${time %d %b} ${color1}${time %H:%M} diff --git a/conky/rings/conkyrc_rings b/conky/rings/conkyrc_rings @@ -0,0 +1,50 @@ +alignment tl +background no +gap_x 54 +gap_y 100 +minimum_size 800 230 + +update_interval 0.50 +total_run_times 0 +double_buffer yes +no_buffers yes +text_buffer_size 1248 + +cpu_avg_samples 2 +net_avg_samples 2 + +use_xft yes +xftfont TeX Gyre Cursor:size=9 +xftalpha 0.8 +override_utf8_locale yes + +own_window yes +own_window_transparent yes +own_window_argb_value 1 +own_window_hints below,undecorated,sticky,skip_taskbar,skip_pager +own_window_class conky +own_window_type desktop +#below, normal override + +draw_shades no +draw_outline no +draw_borders no +draw_graph_borders yes + +default_color ffffff +# default_shade_color 7a999c +default_outline_color 2484ff +default_outline_color ff8424 +default_shade_color 1d1d1d +color0 163200 +color1 1d1d1d +color2 84dd24 + +# -- Lua Load -- # +lua_load ~/.conkytheme/rings/lua.lua +lua_draw_hook_pre ring_stats + +TEXT +${voffset 95}${offset 55}${color0}}${time %H:%M}${color0}${voffset -40}${offset 100}${scroll 64 ${execi 60 fortune calvin}}${alignr 64}${hr 3} +${voffset -32}${offset 220}${color0}${hr 2} + diff --git a/conky/rings/lua.lua b/conky/rings/lua.lua @@ -0,0 +1,146 @@ + --[[ + Ring Meters by londonali1010 (2009) + + This script draws percentage meters as rings. It is fully customisable; all options are described in the script. + + IMPORTANT: if you are using the 'cpu' function, it will cause a segmentation fault if it tries to draw a ring straight away. The if statement on line 145 uses a delay to make sure that this doesn't happen. It calculates the length of the delay by the number of updates since Conky started. Generally, a value of 5s is long enough, so if you update Conky every 1s, use update_num > 5 in that if statement (the default). If you only update Conky every 2s, you should change it to update_num > 3; conversely if you update Conky every 0.5s, you should use update_num > 10. ALSO, if you change your Conky, is it best to use "killall conky; conky" to update it, otherwise the update_num will not be reset and you will get an error. + + To call this script in Conky, use the following (assuming that you save this script to ~/scripts/rings.lua): + lua_load ~/scripts/rings-v1.2.1.lua + lua_draw_hook_pre ring_stats + + Changelog: + + v1.2.2 -- Fixed memory leak (by AmIMeYet) + + v1.2.1 -- Fixed minor bug that caused script to crash if conky_parse() returns a nil value (20.10.2009) + + v1.2 -- Added option for the ending angle of the rings (07.10.2009) + + v1.1 -- Added options for the starting angle of the rings, and added the "max" variable, to allow for variables that output a numerical value rather than a percentage (29.09.2009) + + v1.0 -- Original release (28.09.2009) + ]] + + settings_table = { + { + -- Edit this table to customise your rings. + -- You can create more rings simply by adding more elements to settings_table. + -- "name" is the type of stat to display; you can choose from 'cpu', 'memperc', 'fs_used_perc', 'battery_used_perc'. + name='time', + -- "arg" is the argument to the stat type, e.g. if in Conky you would write ${cpu cpu0}, 'cpu0' would be the argument. If you would not use an argument in the Conky variable, use ''. + arg='%I.%M', + -- "max" is the maximum value of the ring. If the Conky variable outputs a percentage, use 100. + max=12, + -- "bg_colour" is the colour of the base ring. + bg_colour=0x84dd24, + -- "bg_alpha" is the alpha value of the base ring. + bg_alpha=0.8, + -- "fg_colour" is the colour of the indicator part of the ring. + fg_colour=0x000000, + -- "fg_alpha" is the alpha value of the indicator part of the ring. + fg_alpha=0.6, + -- "x" and "y" are the x and y coordinates of the centre of the ring, relative to the top left corner of the Conky window. + x=100, y=120, + -- "radius" is the radius of the ring. + radius=93, + -- "thickness" is the thickness of the ring, centred around the radius. + thickness=30, + -- "start_angle" is the starting angle of the ring, in degrees, clockwise from top. Value can be either positive or negative. + start_angle=0, + -- "end_angle" is the ending angle of the ring, in degrees, clockwise from top. Value can be either positive or negative, but must be larger (e.g. more clockwise) than start_angle. + end_angle=240 + }, + --minuty + { + name='time', + arg='%M.%S', + max=60, + bg_colour=0x84dd24, + bg_alpha=0.8, + fg_colour=0x000000, + fg_alpha=0.6, + x=100, y=120, + radius=65, + thickness=10, + start_angle=45, + end_angle=285 + }, + --sekundy + { + name='time', + arg='%S', + max=60, + bg_colour=0x84dd24, + bg_alpha=0.8, + fg_colour=0x000000, + fg_alpha=0.6, + x=100, y=120, + radius=50, + thickness=5, + start_angle=90, + end_angle=330 + }, + } + + require 'cairo' + + function rgb_to_r_g_b(colour,alpha) + return ((colour / 0x10000) % 0x100) / 255., ((colour / 0x100) % 0x100) / 255., (colour % 0x100) / 255., alpha + end + + function draw_ring(cr,t,pt) + local w,h=conky_window.width,conky_window.height + + local xc,yc,ring_r,ring_w,sa,ea=pt['x'],pt['y'],pt['radius'],pt['thickness'],pt['start_angle'],pt['end_angle'] + local bgc, bga, fgc, fga=pt['bg_colour'], pt['bg_alpha'], pt['fg_colour'], pt['fg_alpha'] + + local angle_0=sa*(2*math.pi/360)-math.pi/2 + local angle_f=ea*(2*math.pi/360)-math.pi/2 + local t_arc=t*(angle_f-angle_0) + + -- Draw background ring + + cairo_arc(cr,xc,yc,ring_r,angle_0,angle_f) + cairo_set_source_rgba(cr,rgb_to_r_g_b(bgc,bga)) + cairo_set_line_width(cr,ring_w) + cairo_stroke(cr) + + -- Draw indicator ring + + cairo_arc(cr,xc,yc,ring_r,angle_0,angle_0+t_arc) + cairo_set_source_rgba(cr,rgb_to_r_g_b(fgc,fga)) + cairo_stroke(cr) + end + + cs, cr = nil -- initialize our cairo surface and context to nil + function conky_ring_stats() + local function setup_rings(cr,pt) + local str='' + local value=0 + + str=string.format('${%s %s}',pt['name'],pt['arg']) + str=conky_parse(str) + + value=tonumber(str) + if value == nil then value = 0 end + pct=value/pt['max'] + + draw_ring(cr,pct,pt) + end + + if conky_window == nil then return end + if cs == nil or cairo_xlib_surface_get_width(cs) ~= conky_window.width or cairo_xlib_surface_get_height(cs) ~= conky_window.height then + if cs then cairo_surface_destroy(cs) end + cs = cairo_xlib_surface_create(conky_window.display, conky_window.drawable, conky_window.visual, conky_window.width, conky_window.height) + end + if cr then cairo_destroy(cr) end + cr = cairo_create(cs) + + local updates=conky_parse('${updates}') + update_num=tonumber(updates) + + if update_num>5 then + for i in pairs(settings_table) do + setup_rings(cr,settings_table[i]) + end + end + + cairo_destroy(cr) + cr = nil + end diff --git a/conky/simple/conkyrc.clock b/conky/simple/conkyrc.clock @@ -0,0 +1,50 @@ +###################### +# - Conky settings - # +###################### +background no +update_interval 1.0 +total_run_times 0 +net_avg_samples 1 +cpu_avg_samples 1 + +imlib_cache_size 0 +double_buffer yes +no_buffers yes + +##################### +# - Text settings - # +##################### +use_xft yes +xftfont Tex Gyre Cursor:size=96 +override_utf8_locale yes +text_buffer_size 2048 + +############################# +# - Window specifications - # +############################# +own_window_class Conky +own_window yes +own_window_type desktop +own_window_transparent yes +own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager + +alignment ml +gap_x 84 +gap_y 190 +minimum_size 0 0 + +default_bar_size 32 4 + +######################### +# - Graphics settings - # +######################### +draw_shades no +color0 ff4464 +color1 ffffff +color2 1d1d1d + + +TEXT +# images +${color1}${time %H}${voffset -96} + ${color0}${time %M} diff --git a/conky/simple/conkyrc.dskp b/conky/simple/conkyrc.dskp @@ -0,0 +1,47 @@ +###################### +# - Conky settings - # +###################### +background no +update_interval 0.25 +total_run_times 0 +net_avg_samples 1 +cpu_avg_samples 1 + +imlib_cache_size 0 +double_buffer yes +no_buffers yes + +##################### +# - Text settings - # +##################### +use_xft yes +xftfont Tex Gyre Cursor:size=69 +override_utf8_locale yes +text_buffer_size 2048 + +############################# +# - Window specifications - # +############################# +own_window_class Conky +own_window yes +own_window_type desktop +own_window_transparent yes +own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager + +alignment br +gap_x 4 +gap_y 0 +minimum_size 0 0 + +default_bar_size 32 4 + +######################### +# - Graphics settings - # +######################### +draw_shades no +color0 ff4464 +color1 ffffff +color2 1d1d1d + +TEXT +${alignr}D${color0}_${color1}SKT${color0}_${color1}P${color0}:${color1}${desktop} diff --git a/conky/simple/conkyrc.top b/conky/simple/conkyrc.top @@ -0,0 +1,35 @@ +###################### +# - Conky settings - # +###################### +background no +total_run_times 0 +net_avg_samples 1 +cpu_avg_samples 1 + +imlib_cache_size 0 +double_buffer yes +no_buffers yes + +##################### +# - Text settings - # +##################### +# use_xft yes +# xftfont gelly +font gelly +text_buffer_size 2048 + +############################# +# - Window specifications - # +############################# +own_window_class Conky +own_window yes +own_window_type desktop +own_window_transparent no +own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager + +alignment top_left +gap_x 0 +gap_y 0 +minimum_size 1440 16 + +TEXT diff --git a/conky/z3bra/conkyrc_cpu b/conky/z3bra/conkyrc_cpu @@ -0,0 +1,66 @@ +###################### +# - Conky settings - # +###################### +background yes +update_interval 1 +total_run_times 0 +net_avg_samples 1 +cpu_avg_samples 1 + +imlib_cache_size 0 +double_buffer yes +no_buffers yes + +##################### +# - Text settings - # +##################### +use_xft yes +xftfont URW Gothic L:size=7.5 +override_utf8_locale yes +text_buffer_size 2048 + +############################# +# - Window specifications - # +############################# +own_window_class Conky +own_window yes +own_window_type desktop +own_window_transparent yes +own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager +own_window_argb_visual yes +own_window_argb_value 100 + +alignment tl +gap_x 14 +gap_y 10 +minimum_size 350 100 + +default_bar_size 60 8 + +######################### +# - Graphics settings - # +######################### +draw_outline no +draw_shades no + +default_outline_color 84dd24 +default_outline_color 84dd24 +default_color ffffff +default_shade_color 1d1d1d +color0 ffffff +color1 1d1d1d +color2 84dd24 +color2 84dd24 + +TEXT + +${voffset -10} +${alignr 32}${color2}${top name 1}${color0}${top cpu 1} +${alignr 32}${color2}${top name 2}${color0}${top cpu 2} +${alignr 32}${color2}${top name 3}${color0}${top cpu 3} +${alignr 32}${color2}${top name 4}${color0}${top cpu 4} +${voffset -58} +${goto 92}CPU 1 ${goto 150}: ${color2}${cpu cpu1}%${font}${color} +${goto 92}CPU 2 ${goto 150}: ${color2}${cpu cpu2}%${font}${color} +${goto 92}Process ${goto 150}: ${color2}${processes}${font}${color} +${image ~/.conkytheme/z3bra/pics/base.png -p 10,0 -s 339x86}${image ~/.conkytheme/z3bra/pics/Task_Manager.png -p 32,20 -s 45x45} diff --git a/conky/z3bra/conkyrc_feeds b/conky/z3bra/conkyrc_feeds @@ -0,0 +1,57 @@ +###################### +# - Conky settings - # +###################### +background no +update_interval 1 +total_run_times 0 +net_avg_samples 1 +cpu_avg_samples 1 + +imlib_cache_size 0 +double_buffer yes +no_buffers yes + +##################### +# - Text settings - # +##################### +use_xft yes +text_buffer_size 2048 + +############################# +# - Window specifications - # +############################# +own_window_class Conky +own_window yes +own_window_type desktop +own_window_transparent yes +own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager +own_window_argb_visual yes +own_window_argb_value 0 + +alignment bottom_left +gap_x 32 +gap_y 64 +minimum_size 16 16 + +######################### +# - Graphics settings - # +######################### +draw_outline no +draw_shades no + +color0 0040ff +color1 333333 +color2 000000 +color3 bbbbbb +color4 ff4000 + +TEXT +${font URW Gothic L:bold:size=32}${color1}arch${color0}linux +${voffset -32}${font mintsmild:size=10}${color2}${rss https://www.archlinux.org/feeds/news/ 15 item_titles 3 } +${voffset 8}${font mintsmild:size=10}${color2}${rss https://www.archlinux.org/feeds/packages/ 5 item_titles 8 } +${voffset 16} +${font URW Gothic L:bold:size=32}${color1}quake${color4}live +${voffset -32}${font mintsmild:size=10}${color2}${rss http://www.quakelive.com/forum/external.php?type=RSS2&forumids=4 15 item_titles 4 } +${voffset 16} +${font URW Gothic L:bold:size=32}${color4}french${color3}frag${color1}factory +${voffset -32}${font mintsmild:size=10}${color2}${rss http://frenchfragfactory.net/feed/ 15 item_titles 16 } diff --git a/conky/z3bra/conkyrc_memory b/conky/z3bra/conkyrc_memory @@ -0,0 +1,63 @@ +###################### +# - Conky settings - # +###################### +background no +update_interval 1 +total_run_times 0 +net_avg_samples 1 +cpu_avg_samples 1 + +imlib_cache_size 0 +double_buffer yes +no_buffers yes + +##################### +# - Text settings - # +##################### +use_xft yes +xftfont URW Gothic L:size=7.5 +override_utf8_locale yes +text_buffer_size 2048 + +############################# +# - Window specifications - # +############################# +own_window_class Conky +own_window yes +own_window_type desktop +own_window_transparent yes +own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager +#own_window_argb_visual yes +#own_window_argb_value 100 + +alignment tl +gap_x 364 +gap_y 10 +minimum_size 350 100 + + +default_bar_size 60 8 + +######################### +# - Graphics settings - # +######################### +draw_outline no +draw_shades no + +default_outline_color 84dd24 +default_outline_color 84dd24 +default_color ffffff +default_shade_color 1d1d1d +color0 ffffff +color1 1d1d1d +color2 84dd24 +color2 84dd24 + +TEXT + +${voffset -4} +${goto 92}${color2}/ ${goto 140}${color0}${fs_used_perc /}% ${goto 170}${fs_bar 8,32 /} ${color0}${fs_used /} ${color2}/ ${color0}${fs_size /}${color} +${goto 92}${color2}/HOME ${goto 140}${color0}${fs_used_perc /home}% ${goto 170}${fs_bar 8,32 /home} ${color0}${fs_used /home} ${color2}/ ${color0}${fs_size /home}${color} +${voffset -10} +${goto 92}${color2}RAM ${goto 140}${color0}${memperc}% ${goto 170}${membar 8,32} ${color0}${mem} ${color2}/ ${color0}${memeasyfree} +${image ~/.conkytheme/z3bra/pics/base.png -p 10,0 -s 339x86}${image ~/.conkytheme/z3bra/pics/Memory.png -p 32,20 -s 45x45} diff --git a/conky/z3bra/conkyrc_network b/conky/z3bra/conkyrc_network @@ -0,0 +1,68 @@ +###################### +# - Conky settings - # +###################### +background yes +update_interval 1 +total_run_times 0 +net_avg_samples 1 +cpu_avg_samples 1 + +imlib_cache_size 0 +double_buffer yes +no_buffers yes + +##################### +# - Text settings - # +##################### +use_xft yes +xftfont URW Gothic L:size=7.5 +override_utf8_locale yes +text_buffer_size 2048 + +############################# +# - Window specifications - # +############################# +own_window_class Conky +own_window yes +own_window_type desktop +own_window_transparent yes +own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager +#own_window_argb_visual yes +#own_window_argb_value 100 + +alignment tl +gap_x 714 +gap_y 10 +minimum_size 350 100 + + +default_bar_size 60 8 + +######################### +# - Graphics settings - # +######################### +draw_outline no +draw_shades no + +default_outline_color 84dd24 +default_outline_color 84dd24 +default_color ffffff +default_shade_color 1d1d1d +color0 ffffff +color1 1d1d1d +color2 84dd24 +color2 84dd24 + +TEXT + +${voffset -10} +${goto 92}${color2}Interface ${color0}${goto 172}${if_up wlan0}wlan0 (${color2}${wireless_link_qual_perc wlan0}${color0}%)${else}eth0${endif} ${if_up wlan0}${color2}on ${color0}${wireless_essid wlan0}${endif} +${if_up wlan0}${voffset -12} +${goto 92}${color2}Down ${color0}${goto 172}${downspeedf wlan0} ${color2}total : ${color0}${totaldown wlan0} +${goto 92}${color2}Up ${color0}${goto 172}${upspeedf wlan0} ${color2}total : ${color0}${totalup wlan0} +${else}${if_up eth0}${voffset -12} +${goto 92}${color2}Down ${color0}${goto 172}${downspeedf eth0} ${color2}total : ${color0}${totaldown eth0} +${goto 92}${color2}Up ${color0}${goto 172}${upspeedf eth0} ${color2}total : ${color0}${totalup eth0} +${endif}${endif}${voffset -12} +${goto 92}${color2}IP locale${color0}${goto 172}${addrs} +${image ~/.conkytheme/z3bra/pics/base.png -p 10,0 -s 339x86}${image ~/.conkytheme/z3bra/pics/wlan100.png -p 32,20 -s 45x45} diff --git a/conky/z3bra/conkyrc_system b/conky/z3bra/conkyrc_system @@ -0,0 +1,64 @@ +###################### +# - Conky settings - # +###################### +background yes +update_interval .25 +total_run_times 0 +net_avg_samples 1 +cpu_avg_samples 1 + +imlib_cache_size 0 +double_buffer yes +no_buffers yes + +##################### +# - Text settings - # +##################### +use_xft yes +xftfont URW Gothic L:size=7.5 +override_utf8_locale yes +text_buffer_size 2048 + +############################# +# - Window specifications - # +############################# +own_window_class Conky +own_window yes +own_window_type desktop +own_window_transparent yes +own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager +# own_window_argb_visual yes +# own_window_argb_value 0 + +alignment tl +gap_x 1064 +gap_y 10 +minimum_size 350 100 + + +default_bar_size 60 8 + +######################### +# - Graphics settings - # +######################### +draw_outline no +draw_shades no +draw borders no + +default_outline_color 84dd24 +default_outline_color 84dd24 +default_color ffffff +default_shade_color 1d1d1d +color0 ffffff +color1 1d1d1d +color2 84dd24 +color2 84dd24 + + +TEXT +${voffset 4} +${goto 92}${color2}Kernel ${goto 170}${color0}${sysname} ${color2}${kernel} ${color0}${machine} +${goto 92}${color2}Uptime ${goto 170}${color0}${uptime} +${goto 92}${color2}Mailbox ${goto 170}${color0}${execi 300 ~/.conkytheme/z3bra/scripts/gmail.sh} +${goto 92}${color2}Desktop ${goto 170}${color0}${desktop_name} (${color2}${desktop}${color0}) +${image ~/.conkytheme/z3bra/pics/base.png -p 10,0 -s 339x86}${image ~/.conkytheme/z3bra/pics/archlinux_light.png -p 28,16 -s 54x54} diff --git a/conky/z3bra/conkyrc_volume b/conky/z3bra/conkyrc_volume @@ -0,0 +1,76 @@ +##################### +# - Conky settings - # +###################### +background yes +update_interval 1 +total_run_times 0 +net_avg_samples 1 +cpu_avg_samples 1 + +imlib_cache_size 0 +double_buffer yes +no_buffers yes +mpd_host gavroche + +##################### +# - Text settings - # +##################### +use_xft yes +xftfont URW Gothic L:size=9 +desktop_utf8_locale yes +text_buffer_size 2048 + +############################# +# - Window specifications - # +############################# +own_window_class Conky +own_window yes +own_window_type desktop +own_window_transparent yes +own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager +# own_window_color 000000 +# own_window_argb_visual yes +# own_window_argb_value 200 + +alignment tb +gap_x 56 +gap_y 8 +minimum_size 350 100 + + +default_bar_size 60 8 + +######################### +# - Graphics settings - # +######################### +draw_outline no +draw_shades no + +default_outline_color 84dd24 +default_outline_color 84dd24 +default_color 322800 +default_shade_color 1d1d1d +color0 84dd24 +color1 1d1d1d +color2 163200 + +TEXT + +${voffset -28} +${font Domestic Manners:size=28}${color0}Volume${color2} ${hr 1} +${font} +${voffset -60} +${color1}Master volume : ${offset 10}${color0}${exec amixer sget Master | tail -1 | awk '{print $4}'} +${color1}Headphones volume : ${offset 10}${color0}${exec amixer sget Headphone | tail -1 | awk '{print $5}'} +${color1}Speakers volume : ${offset 10}${color0}${exec amixer sget Speaker | tail -1 | awk '{print $5}'} +${if_mpd_playing} +${font Domestic Manners:size=28}${color0}Music player${color2} ${hr 1} +${font} +${voffset -60} +${color1}Status : +${offset 10}${color0}[ ∞ ] : ${mpd_repeat} | [ ${font Courrier new:size=10}∝${font URW Gothic L:size=9} ] : ${mpd_random} | [ ${font Courrier new:size=10}♫${font URW Gothic L:size=9} ] : ${mpd_status} +${color1}Currently playing : +${offset 10}${color0}${scroll 45 ${mpd_smart}} +${color1}Progress : +${offset 10}${color1}.:: ${color0}$mpd_elapsed ${color1}/${color0} $mpd_length ${color1}::. ${color0}${offset 8}${voffset 1}${mpd_bar 4,128}${offset 8}${voffset -1} [ $mpd_percent% ] +${endif} diff --git a/conky/z3bra/pics/Memory.png b/conky/z3bra/pics/Memory.png Binary files differ. diff --git a/conky/z3bra/pics/Task_Manager.png b/conky/z3bra/pics/Task_Manager.png Binary files differ. diff --git a/conky/z3bra/pics/archlinux.png b/conky/z3bra/pics/archlinux.png Binary files differ. diff --git a/conky/z3bra/pics/archlinux_light.png b/conky/z3bra/pics/archlinux_light.png Binary files differ. diff --git a/conky/z3bra/pics/base.png b/conky/z3bra/pics/base.png Binary files differ. diff --git a/conky/z3bra/pics/wlan100.png b/conky/z3bra/pics/wlan100.png Binary files differ. diff --git a/conky/z3bra/scripts/gmail.sh b/conky/z3bra/scripts/gmail.sh @@ -0,0 +1,18 @@ +#!/bin/bash + +gmail_realname="your.name" +gmail_login=your.login +gmail_password=your.password + +mail="$(wget --secure-protocol=TLSv1 --timeout=3 -t 1 -q -O - \ +https://${gmail_login}:${gmail_password}@mail.google.com/mail/feed/atom \ +--no-check-certificate | grep 'fullcount' \ +| sed -e 's/<[/]*fullcount>//g' 2>/dev/null)" + + + +if [ -z "$mail" ]; then + echo "Connection Error !" +else + echo "$mail" +fi diff --git a/conky/z3bra/scripts/todo.sh b/conky/z3bra/scripts/todo.sh @@ -0,0 +1,83 @@ +# +# ~/scripts/todo.sh +# + +usage() { + cat << HELPEOF + $(tput bold)$(tput setaf 3) + $0 [-lh] [-r {expr | ligne}] [ <tâche> ] + $(tput setaf 1) + OPTIONS :$(tput sgr0) + -r {expr | num} : Supprimer la tâche contenant l'expression + ou + Supprimer la tâche de la ligne n°'num' + -c : Réinitialiser le fichier de tâches + -l : Lister toutes les tâches + -h : Afficher cette aide +HELPEOF +} + +remove_task() { + arg=$1 + [ $arg -eq 0 ] 2> /dev/null + if [ $? -eq 0 -o $? -eq 1 ] ; then + LINE=`sed -n "$arg p" ~/.todo` + sed -i "$arg d" ~/.todo + echo "La ligne \"$(tput bold)$LINE$(tput sgr0)\" a bien été supprimée" + else + LINES=`cat ~/.todo | grep $arg | wc -l` + if [ $LINES == 1 ]; then + LINE=`cat ~/.todo | grep $arg` + sed -i "/$arg/d" ~/.todo + echo "La ligne \"$(tput bold)$LINE$(tput sgr0)\" a bien été supprimée" + else + echo "L'expression \"$arg\" ne permet pas d'identifier un tâche unique" + echo "Veuillez préciser votre expression" + exit 0 + fi + fi +} + +if [ ! -f ~/.todo ]; then + touch ~/.todo +fi + +OPTIONS=0 + +while getopts ":r:clh" OPT; do + + OPTIONS=1 + + case $OPT in + r) + remove_task $OPTARG + ;; + c) + sed -i "d" ~/.todo + echo "Le fichier de tâches a été entièrement vidé" + ;; + l) + cat -n ~/.todo + ;; + h) + usage + exit 1 + ;; + *) + echo "$(tput setaf 1)Option \"$OPTARG\" inexistante$(tput sgr0)" + usage + exit 0 + ;; + :) + echo "$(tput setaf 1)L'option \"$OPTARG\" nécessite un argument$(tput sgr0)" + usage + exit 0 + ;; + esac +done + +shift $((OPTIND-1)) + +if [[ $OPTIONS == 0 && $# > 0 ]]; then + echo $@ >> ~/.todo +fi diff --git a/dzen/bin/battery.sh b/dzen/bin/battery.sh @@ -0,0 +1,25 @@ +#!/bin/bash +source $(dirname $0)/config.sh +XPOS=1080 +YPOS=$(($YPOS+$HEIGHT+2)) +WIDTH="92" +LINES="2" +TITLE="battery" + +battime=$(acpi -b | sed -n "1p" | awk -F " " '{print $5}') +batperc=$(acpi -b | sed -n "1p" | awk -F " " '{print $4}' | head -c3) +batstatus=$(acpi -b | cut -d',' -f1 | awk -F " " '{print $3}') + +if [ "$batstatus" = "Unknown" ]; then + batstatus="Charged" + battime="00:00:00" +fi + + +( + echo " ^fg($white)$TITLE ($batperc%)" + echo " ^fg($highlight)$batstatus" + echo " ^fg($highlight)$battime" + sleep 10 +) | dzen2 -fg $FG -bg $BG -fn $FONT -x $XPOS -y $YPOS -w $WIDTH -l $LINES -e 'onstart=uncollapse;button1=exit;button3=exit' + diff --git a/dzen/bin/calendar.sh b/dzen/bin/calendar.sh @@ -0,0 +1,23 @@ +#!/bin/bash + +source $(dirname $0)/config.sh +XPOS=1018 +YPOS=$(($YPOS+$HEIGHT+2)) +WIDTH="420" +SECS=10 +LINES="9" +TITLE="calendar" + +calendartitle=$(cal -3 | head -1) +calendar=$(cal -3 | sed -n 's/^/\ \ \ /;2,7'p) +week=$(date +%W) +day=$(date '+%A %d %B') + +( + echo "^fg($color)$calendartitle" + echo "^fg($default)$calendar" + echo "" + echo " ^fg($color)Nous sommes la semaine: ^fg($highlight)$week" + echo " ^fg($color)Jour actuel de la semaine: ^fg($highlight)$day" + sleep $SECS +) | dzen2 -ta c -fg $FG -bg $BG -fn $FONT -x $XPOS -y $YPOS -w $WIDTH -l $LINES -e "onstart=uncollapse;button3=exit;button1=exit" diff --git a/dzen/bin/config.sh b/dzen/bin/config.sh @@ -0,0 +1,61 @@ +#!/bin/bash + +DIR_PATH="$HOME/.dzen2.d" +BIN_PATH="$DIR_PATH/bin" +ICO_PATH="$DIR_PATH/icons" + +# black0='#181818' +black0='#1d1a16' +black1='#443c28' + +gray0='#6f6f3f' +gray1='#8f8f6f' + +red0='#c03000' +red1='#FF3A78' + +green0='#b1d631' +green1='#aaff00' + +yellow0='#eebf25' +yellow1='#ffdf25' + +blue0='#426870' +blue1='#4A7781' + +magenta0='#6D506D' +magenta1='#FF3B77' + +cyan0='#4bb5c1' +cyan1='#4bb5c1' + +white0='#e8e9ca' +white1='#ffffa2' + +# Positionning & stuffs +YPOS=0 +HEIGHT=20 + +# dzen2 look & fell +FONT="-*-gelly-*-*-*-*-*-*-*-*-*-*-*-*" +SECS="2" + + +separator=" ^fg($black1) | ^fg()" + +# Color used in the bar +default="$gray1" +highlight="$black0" +highdark="$gray0" +color="$black1" + +RUN=true + +BG="$white0" +FG="$default" + +BAR_BG="$default" +BAR_FG="$black1" +GDBAR_OPT="-s o -ss 2 -sw 4 -w 32 -h 8" + +ICO_FG="$color" diff --git a/dzen/bin/hardware.sh b/dzen/bin/hardware.sh @@ -0,0 +1,59 @@ +#!/bin/bash +source $(dirname $0)/config.sh +XPOS=1060 +YPOS=$(($YPOS+$HEIGHT+2)) +WIDTH="320" +SECS=10 +LINES="29" +TITLE="hardware" + +cputemp=$(sensors | grep "temp1" | cut -d'+' -f2 | head -c2) +cpuutiluser=$(iostat -c | sed -n "4p" | awk -F " " '{print $1}') +cpuutilsystem=$(iostat -c | sed -n "4p" | awk -F " " '{print $3}') +cpuutilidle=$(iostat -c | sed -n "4p" | awk -F " " '{print $6}') +ramtotal=$(free -m | sed -n "2p" | awk -F " " '{print $2}') +ramused=$(free -m | sed -n "2p" | awk -F " " '{print $3}') + +uptime=$(uptime | sed -n "1p" | awk -F "," '{print $1}') +loadavg=$(uptime | sed -n "1p" | awk -F ":" '{print $4}') +kernel=$(uname -r) +packages=$(pacman -Q | wc -l) + +hdd1=$(df -h | grep "/dev/sd" | sed -n "1p") +hdd2=$(df -h | grep "/dev/sd" | sed -n "2p") +hdd3=$(df -h | grep "/dev/sd" | sed -n "3p") + +hddtitle=$(df -h | head -1) +hddtotal=$(df -h --total | tail -1) +toptitle=$(top -bn1 | grep PID | cut -b1-5,42-) +top=$(top -bn1 | tail -n+8 | sort -k9nr -k10nr | cut -b1-5,42- | head -n8) + +( + echo "^fg($default)$TITLE" + echo "^cs()" + echo "^fg($color)CPU" + echo " ^fg($highlight)temp: ^fg($default)$cputemp°C" + echo " ^fg($highlight)CPU user: ^fg($default)$cpuutiluser%" + echo " ^fg($highlight)CPU syst: ^fg($default)$cpuutilsystem%" + echo " ^fg($highlight)idle: ^fg($default)$cpuutilidle%" + echo " ^fg($highlight)RAM: ^fg($default)$ramused MB / $ramtotal MB" + echo "" + echo "^fg($color)SYS" + echo " ^fg($highlight)kernel: ^fg($default)$kernel" + echo " ^fg($highlight)uptime: ^fg($default)$uptime" + echo " ^fg($highlight)load avg: ^fg($default)$loadavg" + echo " ^fg($highlight)packages: ^fg($default)$packages" + echo "" + echo "^fg($color)$toptitle" + echo "^fg($default)$top" + echo "" + echo "^fg($color)MEM" + echo " ^fg($highlight)$hddtitle" + echo " ^fg($default)$hdd1" + echo " ^fg($default)$hdd2" + echo " ^fg($default)$hdd3" + echo " ^fg($default)$hddtotal" + sleep $SECS +) | dzen2 -fg $FG -bg $BG -fn $FONT -x $XPOS -y $YPOS -w $WIDTH -l $LINES -e 'onstart=uncollapse;button1=exit;button3=exit' + + diff --git a/dzen/bin/music.sh b/dzen/bin/music.sh @@ -0,0 +1,43 @@ + +#!/bin/bash + +source $(dirname $0)/config.sh +XPOS=740 +YPOS=$(($YPOS+$HEIGHT+2)) +WIDTH="256" +SECS=10 +LINES="16" +TITLE="music" + +BAR_HEIGHT=10 +BAR_WIDTH=200 + +if [ $(mpc status | wc -l) -gt 1 ]; then + artist=$(mpc status -f %artist% | head -1) + title=$(mpc status -f %title% | head -1) + album=$(mpc status -f %album% | head -1) + length=$(mpc status -f %time% | head -1) + currenttime=$(mpc status | sed -n '2p' | sed 's/.*(\([0-9]\?[0-9]\?\).*/\1/') + stats=$(mpc stats) + version=$(mpc version) +else + mpc="MPC is not running" +fi + +( + echo "^fg($color)$TITLE" + if [ -z "$mpc" ]; then + echo "^fg($color)artist: ^fg($highlight)$artist" + echo "^fg($color)title: ^fg($highlight)$title" + echo "^fg($color)album: ^fg($highlight)$album" + echo "^fg($color)length: ^fg($highlight)$length" + echo "" + echo "$currenttime" | gdbar -s o -fg $color -bg $BAR_BG -h $BAR_HEIGHT -w $BAR_WIDTH -l " ^i($ICO_PATH/note.xbm) " + echo "" + echo "^fg($color)$version" + echo "^fg($default)$stats" + else + echo "^fg($color)$mpc" + fi + sleep $SECS +) | dzen2 -fg $FG -bg $BG -fn $FONT -x $XPOS -y $YPOS -w $WIDTH -l $LINES -e "onstart=uncollapse;button3=exit" diff --git a/dzen/bin/network.sh b/dzen/bin/network.sh @@ -0,0 +1,30 @@ +#!/bin/bash +source $(dirname $0)/config.sh +XPOS=892 +YPOS=$(($YPOS+$HEIGHT+2)) +WIDTH="160" +LINES="7" +TITLE="network" + +# NET_INTERFACE="ip link | grep 'state UP' | awk '{print $2}' | cut -d: -f1 | head -1" +NET_INTERFACE="enp2s0" + +download=$(ifconfig $NET_INTERFACE | sed -n "5p" | cut -d\( -f2 | cut -d\ -f1) +upload=$(ifconfig $NET_INTERFACE | sed -n "7p" | cut -d\( -f2 | cut -d\ -f1) +mac=$(ifconfig $NET_INTERFACE | sed -n "4p" | awk -F " " '{print $2}') +inet=$(ifconfig $NET_INTERFACE | sed -n "2p" | awk -F " " '{print $2}') +netmask=$(ifconfig $NET_INTERFACE | sed -n "2p" | awk -F " " '{print $4}') +broadcast=$(ifconfig $NET_INTERFACE | sed -n "2p" | awk -F " " '{print $6}') + +externalip=$(curl -silent http://www.formyip.com/ | grep "Your IP is " | awk -F " " '{print $6}' | cut -d "<" -f 1) + +( + echo " ^fg($white)$TITLE" + echo " ^fg($color)^i($ICO_PATH/net_up_03.xbm) ^fg($highlight)$upload MB/s ^fg()" + echo " ^fg($color)^i($ICO_PATH/net_down_03.xbm) ^fg($highlight)$download MB/s ^fg()" + echo " ^fg($color)ip ^fg($highlight)$inet" + echo " ^fg($color)netmask ^fg($highlight)$netmask" + echo " ^fg($color)broadcast ^fg($highlight)$broadcast" + echo " ^fg($color)mac ^fg($highlight)$mac" + echo " ^fg($color)external ^fg($highlight)$externalip" + sleep 10) | dzen2 -fg $FG -bg $BG -fn $FONT -x $XPOS -y $YPOS -w $WIDTH -l $LINES -e 'onstart=uncollapse;button1=exit;button3=exit' diff --git a/dzen/bin/pacman.sh b/dzen/bin/pacman.sh @@ -0,0 +1,29 @@ +#!/bin/bash + +source $(dirname $0)/config.sh +XPOS=1260 +YPOS=$(($YPOS+$HEIGHT+1)) +WIDTH="140" +SECS=10 +LINES="" +TITLE="packages" + + +PAC_NUM=$(pacman -Qu | wc -l) +AUR_NUM=$(cower -u | wc -l) + +pacman=$(pacman -Qu | cut -d'/' -f2) +aur=$(cower -u) + +PAC_CMD="urxvtc -e sudo pacman -Su" +LINES=$(($PAC_NUM+$AUR_NUM+3)) + +( + echo "^fg($default)$TITLE" + echo "^fg($default)$pacman" + echo "" + echo "^fg($default)$aur" + echo "" + echo "^fg($highlight)Click to update" + sleep $SECS +) | dzen2 -fg $FG -bg $BG -fn $FONT -x $XPOS -y $YPOS -w $WIDTH -l $LINES -e "onstart=uncollapse;button1=exec:$PAC_CMD;button3=exit" diff --git a/dzen/bin/volume.sh b/dzen/bin/volume.sh @@ -0,0 +1,95 @@ +#!/bin/bash +# +# dvolbar - OSD Volume utility +# + +source $(dirname $0)/config.sh + +#Customize this stuff + IF="Master" # audio channel: Master|PCM + PIPE="/tmp/dvolume.fifo" + SECS="5" # sleep $SECS + XPOS=948 + YPOS="$(($YPOS+$HEIGHT+2))" # horizontal positioning + WIDTH="220" # window width + BAR_WIDTH="110" # width of volume bar + BAR_HEIGHT="8" # width of volume bar + + TITLE="volume" + + ICON_VOL=$ICO_PATH/vol-hi.xbm + ICON_VOL_MUTE=$ICO_PATH/vol-mute.xbm + ICON_VOL_UP=$ICO_PATH/full.xbm + ICON_VOL_DN=$ICO_PATH/empty.xbm + + ICON=$ICON_VOL + + err() { + echo "$1" + exit 1 + } + + usage() { + echo "usage: dvol [option] [argument]" + echo + echo "Options:" + echo " -i, --increase - increase volume by \`argument'" + echo " -d, --decrease - decrease volume by \`argument'" + echo " -t, --toggle - toggle mute on and off" + echo " -h, --help - display this" + exit + } + + #Argument Parsing + case "$1" in + '-i'|'--increase') + [ -z "$2" ] && err "No argument specified for increase." + [ -n "$(tr -d [0-9] <<<$2)" ] && err "The argument needs to be an integer." + AMIXARG="${2}%+" + ;; + '-d'|'--decrease') + [ -z "$2" ] && err "No argument specified for decrease." + [ -n "$(tr -d [0-9] <<<$2)" ] && err "The argument needs to be an integer." + AMIXARG="${2}%-" + ;; + '-t'|'--toggle') + AMIXARG="toggle" + ;; + '') + AMIXARG="0%+" # avoid errors + ;; + '-h'|'--help') + usage + ;; + *) + err "Unrecognized option \`$1', see dvol --help" + ;; + esac + + #Actual volume changing (readability low) + AMIXOUT="$(amixer set "$IF" "$AMIXARG" | tail -n 1)" + MUTE="$(cut -d '[' -f 4 <<<"$AMIXOUT")" + VOL="$(cut -d '[' -f 2 <<<"$AMIXOUT" | sed 's/%.*//g')" + if [ "$MUTE" = "off]" ]; then + ICON=$ICON_VOL_MUTE + else + ICON=$ICON_VOL + fi + + + if [ ! -e "$PIPE" ]; then + mkfifo $PIPE + ( + dzen2 -ta l -w "$WIDTH" -h "$HEIGHT" -x "$XPOS" -y "$YPOS" -fn "$FONT" -bg "$BG" -fg "$FG" < "$PIPE" + rm -f "$PIPE" + ) & + fi + + + # <fifo.pipe>: Omnomnomnomnom ! + ( + echo "$VOL" | gdbar -nonl -s o -fg "$BAR_FG" -bg "$BAR_BG" -w "$BAR_WIDTH" -h "$BAR_HEIGHT" \ + -l " ^fg($default)^ca(1, $0 -t)^i($ICON)^ca() ^fg($color)^ca(1, $0 -d 5)^i($ICON_VOL_DN)^ca() ^fg($default)" + echo " ^fg($color)^ca(1, $0 -i 5)^i($ICON_VOL_UP)^ca() ^fg($default)$VOL%" + sleep "$SECS" + ) > "$PIPE" diff --git a/dzen/bin/windows.sh b/dzen/bin/windows.sh @@ -0,0 +1,19 @@ +#!/bin/bash +source $(dirname $0)/config.sh +XPOS=170 +YPOS=$(($YPOS+$HEIGHT+2)) +WIDTH="92" +TITLE="windows" + + +window_count=$(wmctrl -l| grep -v "wbar"| wc -l) +window_list=$(wmctrl -l -x| grep -v "wbar"| cut -d '.' -f1| cut -d' ' -f 3,4) + +LINES=$(($window_count)) + +( + echo " ^fg($default)$TITLE: $window_count" + echo "^fg($highlight)$window_list" + sleep 5 +) | dzen2 -fg $FG -bg $BG -fn $FONT -x $XPOS -y $YPOS -w $WIDTH -l $LINES -e 'onstart=uncollapse;button1=exit;button3=exit' + diff --git a/dzen/bin/workspace.sh b/dzen/bin/workspace.sh @@ -0,0 +1,58 @@ + +#!/bin/bash +# +# dvolbar - OSD Volume utility +# + +source $(dirname $0)/config.sh + +#Customize this stuff + SECS="8" # sleep $SECS + BAR_FG="#ffffff" # foreground colour of volume bar + BAR_BG="#777777" # background colour of volume bar + XPOS=800 + YPOS=$(($YPOS+$HEIGHT+2)) + WIDTH="128" # window width + BAR_SWIDTH="8" # width of segments + BAR_SHEIGHT="8" # height of segments + BAR_SSPACE="4" # space between segments + BAR_WIDTH="100" # width of volume bar + ICON_DSK=~/.config/dzen2/icons/vol-hi.xbm + ICON=$ICON_DSK + + #Probably do not customize + PIPE="/tmp/dworkspace.pipe" + + err() { + echo "$1" + exit 1 + } + + usage() { + echo "usage: dvol [option] [argument]" + echo + echo "Options:" + echo " -i, --increase - increase volume by \`argument'" + echo " -d, --decrease - decrease volume by \`argument'" + echo " -t, --toggle - toggle mute on and off" + echo " -h, --help - display this" + exit + } + + #Get number of desktop + DSK_NUM=$(wmctrl -d | wc -l) + DSK=$(wmctrl -d | grep '*' |cut -d\ -f1) + + #Resize bar to display the exact number of workspace + BAR_WIDTH=$(($DSK_NUM*$BAR_SWIDTH+$DSK_NUM*$BAR_SSPACE)) + + #Using named pipe to determine whether previous call still exists + #Also prevents multiple volume bar instances + # if [ ! -e "$PIPE" ]; then + # mkfifo "$PIPE" + # (dzen2 -tw "$WIDTH" -h "$HEIGHT" -x "$XPOS" -y "$YPOS" -fn "$FONT" -bg "$BG" -fg "$FG"< "$PIPE" + # rm -f "$PIPE") & + # fi + + #Feed the pipe! + (echo "$DSK" | gdbar -l "^ib(1)" -ss $BAR_SSPACE -sw $BAR_SWIDTH -min -1 -max $(($DSK_NUM-1)) -fg "$BAR_FG" -bg "$BAR_BG" -h "$BAR_SHEIGHT" -w "$BAR_WIDTH" ; sleep "$SECS") | (dzen2 -tw "$WIDTH" -h "$HEIGHT" -x "$XPOS" -y "$YPOS" -fn "$FONT" -bg "$BG" -fg "$FG") #> "$PIPE" diff --git a/dzen/dzenbar.sh b/dzen/dzenbar.sh @@ -0,0 +1,183 @@ +#!/bin/bash +# +# Main status bar + +# Load default settings +source ~/.dzen2.d/bin/config.sh + +# ----------------------------------------------- VARIABLES +# DZEN2 look & feel +XPOS=0 +YPOS=$YPOS +WIDTH=1440 +HEIGHT=$HEIGHT +SECS=1 + +# GDBAR default options +BAR_OPTIONS="-s o -ss 2 -sw 4 -w 32 -h 8" + +# default click button (1:left, 2:middle, 3:right) +CLICK_ACTION=1 + +# field look & fell + configuration stuff +NETWORK_WIRED="enp2s0" # ethernet interface +NETWORK_WIFI="enp3s0" # wireless interface +NETWORK_MESSAGE_OFF="plug me." # no connection ? +NETWORK_INTERFACE=$NETWORK_WIRED # interface to use +NETWORK_ICON_WIRED="$ICO_PATH/net_wired.xbm" +NETWORK_ICON_WIFI="$ICO_PATH/wifi_01.xbm" +NETWORK_ICON_NONE="$ICO_PATH/net-wired2.xbm" +NETWORK_ACTION="$BIN_PATH/network.sh" + +VOL_CHANNEL="Master" # ALSA channel to query +VOLUME_ICON_ON="$ICO_PATH/spkr_01.xbm" +VOLUME_ICON_OFF="$ICO_PATH/spkr_02.xbm" +VOLUME_COLOR_OFF="$highdark" +VOLUME_ACTION="$BIN_PATH/volume.sh" + +BATTERY_CRITICAL_LEVEL=10 # so, this is "low" ? +BATTERY_PLUGGED_ICON="$ICO_PATH/plug.xbm" +BATTERY_DISCHARGE_ICON="$ICO_PATH/bat_full_01.xbm" +BATTERY_CRITICAL_COLOR="$red1" +BATTERY_ACTION="$BIN_PATH/battery.sh" + +MUSIC_FORMAT="[%artist%|%file%]" # MPD infos to display +MUSIC_MESSAGE_OFF="[stopped]" # MPD stopped/off +MUSIC_ICON_PLAYING="$ICO_PATH/phones.xbm" +MUSIC_ICON_STOPPED="$ICO_PATH/mpd.xbm" +MUSIC_ACTION="$BIN_PATH/music.sh" + +KERNEL_ICON="$ICO_PATH/arch_10x10.xbm" +KERNEL_ACTION="$BIN_PATH/hardware.sh" + +PACMAN_ICON="$ICO_PATH/pacman.xbm" +PACMAN_ACTION="$BIN_PATH/pacman.sh" + +TIME_FORMAT="%H:%M" # time format +TIME_ICON="$ICO_PATH/clock.xbm" +TIME_ACTION="$BIN_PATH/calendar.sh" + +WORKSPACE_ICON="$ICO_PATH/cat.xbm" + +# ----------------------------------------------- FUNCTIONS + +# output the icon given as parameter +icon() { + echo -n "^fg($ICO_FG)^i($1)^fg() " +} + +# output a bar according to $BAR_OPTIONS +bar() { + echo $1 | gdbar $BAR_OPTIONS -fg $BAR_FG -bg $BAR_BG -nonl +} + +action() { + echo "^ca($CLICK_ACTION, $1)" +} + +end_action() { + echo '^ca()' +} + +network() { + + # display @IP for wired connection... + if [ "$NETWORK_INTERFACE" = "$NETWORK_WIRED" ]; then + icon $NETWORK_ICON_WIRED + ifconfig $NETWORK_INTERFACE | grep "inet " | awk '{print $2}' + # signal quality for WIFI... + elif [ "$NETWORK_INTERFACE" = "$NETWORK_WIFI" ]; then + icon $NETWORK_ICON_WIFI + bar "$(cat /proc/net/wireless | grep wlan0 | cut -d ' ' -f 6 | tr -d '.')" + # help message if none of 'em + else + icon $NETWORK_ICON_NONE + echo $NETWORK_MESSAAGE_OFF + fi +} + +battery() { + percentage=$(acpi -b | cut -d "," -f 2 | tr -d " %") + # In case computer is plugged + if [ -z "$percentage" ]; then + icon "$BATTERY_PLUGGED_ICON" + echo "AC" + # bar for low percentages + elif [ $percentage -le $BATTERY_CRITICAL_LEVEL ]; then + icon "$BATTERY_DISCHARGE_ICON" + echo 100 | gdbar $BAR_OPTIONS -fg $BATTERY_CRITICAL_COLOR -bg $BG + # actually... the bar + else + icon $BATTERY_DISCHARGE_ICON + bar "$percentage" + fi +} + +volume() { + volume_state=$(amixer get $VOL_CHANNEL | sed -n "5p" | awk '{print $6}') + volume_perc=$(amixer sget Master | sed -n "5p" | awk '{print $4}' | sed "s/\[\(.*\)\]/\1/") + # if sound is muted: bar with $VOLUME_COLOR_OFF + if [ "$volume_state" = '[off]' ]; then + icon $VOLUME_ICON_OFF + echo $volume_perc | gdbar $BAR_OPTIONS -fg $VOLUME_COLOR_OFF -bg $BG + # actually... another bar + else + icon $VOLUME_ICON_ON + bar "$volume_perc" + fi +} + +music() { + now_playing=$(mpc -f $MUSIC_FORMAT| head -1) + mpc_lines=$(mpc status |wc -l) + # mpc outputs 1 only line if mpd is stopped + if [ $mpc_lines -eq 1 ]; then + icon $MUSIC_ICON_STOPPED + echo $MUSIC_MESSAGE_OFF + # or more with the status in it + else + icon $MUSIC_ICON_PLAYING + echo $now_playing + fi +} + +workspace() { + # desktop_total=$(($(wmctrl -d|wc -l)-1)) + desktop_current=$(wmctrl -d|grep '*'|cut -d' ' -f1) + + icon $WORKSPACE_ICON + echo $desktop_current +} + +pacman() { + icon $PACMAN_ICON + # echo "$(pacman -Qu|wc -l) Updates" + echo "$(pacman -Qu| wc -l) updates" +} + + +kernel() { + icon $KERNEL_ICON + echo $(uname -r) +} + +clock() { + icon $TIME_ICON + echo $(date +$TIME_FORMAT) +} + +# ----------------------------------------------- SCRIPT EXECUTION + +# Spawn that bar ! +# ----------------------------------------------- SPAWN DZEN2 ! +while :; do + # echo -n "$(workspace) ${separator}" + echo -n "$(action $MUSIC_ACTION)$(music)$(end_action) ${separator}" + echo -n "$(action $NETWORK_ACTION)$(network)$(end_action) ${separator}" + echo -n "$(action $VOLUME_ACTION)$(volume)$(end_action) ${separator}" + echo -n "$(action $BATTERY_ACTION)$(battery)$(end_action) ${separator}" + echo -n "$(action $KERNEL_ACTION)$(kernel)$(end_action) ${separator}" + echo -n "$(action $PACMAN_ACTION)$(pacman)$(end_action) ${separator}" + echo "$(action $TIME_ACTION)$(clock)$(end_action) " + sleep "$SECS"; +done | dzen2 -ta r -w "$WIDTH" -h "$HEIGHT" -x "$XPOS" -y "$YPOS" -fn "$FONT" -bg "$BG" -fg "$FG" -e 'button1=;button3=' diff --git a/dzen/icons/README b/dzen/icons/README @@ -0,0 +1,6 @@ +This set of icons is mostly created keeping dzen2 in mind. +If you're missing an icon or have suggestions how to improve +the ones already existing, please contact me at +<sm4tik@yahoo.com> + +Thanks for downloading! diff --git a/dzen/icons/ac.xbm b/dzen/icons/ac.xbm @@ -0,0 +1,4 @@ +#define ac_width 8 +#define ac_height 8 +static unsigned char ac_bits[] = { + 0xFF, 0xF8, 0xF0, 0xF6, 0x6F, 0x0F, 0x1F, 0xFF }; diff --git a/dzen/icons/ac_01.xbm b/dzen/icons/ac_01.xbm @@ -0,0 +1,4 @@ +#define ac_01_width 8 +#define ac_01_height 8 +static unsigned char ac_01_bits[] = { + 0x30, 0x28, 0xE4, 0x27, 0x27, 0xE4, 0x28, 0x30 }; diff --git a/dzen/icons/arch.xbm b/dzen/icons/arch.xbm @@ -0,0 +1,4 @@ +#define arch_width 8 +#define arch_height 8 +static unsigned char arch_bits[] = { + 0x08, 0x08, 0x1C, 0x1C, 0x36, 0x22, 0x77, 0x41 }; diff --git a/dzen/icons/arch_10x10.xbm b/dzen/icons/arch_10x10.xbm @@ -0,0 +1,5 @@ +#define arch_10x10_width 10 +#define arch_10x10_height 10 +static unsigned char arch_10x10_bits[] = { + 0x10, 0x00, 0x10, 0x00, 0x38, 0x00, 0x38, 0x00, 0x7C, 0x00, 0x7C, 0x00, + 0xEE, 0x00, 0xC6, 0x00, 0xC7, 0x01, 0x01, 0x01 }; diff --git a/dzen/icons/bat_empty_01.xbm b/dzen/icons/bat_empty_01.xbm @@ -0,0 +1,4 @@ +#define bat_empty_01_width 8 +#define bat_empty_01_height 8 +static unsigned char bat_empty_01_bits[] = { + 0x18, 0x7E, 0x42, 0x42, 0x42, 0x42, 0x42, 0x7E }; diff --git a/dzen/icons/bat_empty_02.xbm b/dzen/icons/bat_empty_02.xbm @@ -0,0 +1,4 @@ +#define bat_empty_02_width 8 +#define bat_empty_02_height 8 +static unsigned char bat_empty_02_bits[] = { + 0x00, 0x7F, 0x41, 0xC1, 0xC1, 0x41, 0x7F, 0x00 }; diff --git a/dzen/icons/bat_full_01.xbm b/dzen/icons/bat_full_01.xbm @@ -0,0 +1,4 @@ +#define bat_full_width 8 +#define bat_full_height 8 +static unsigned char bat_full_bits[] = { + 0x18, 0x7E, 0x42, 0x5A, 0x5A, 0x5A, 0x42, 0x7E }; diff --git a/dzen/icons/bat_full_02.xbm b/dzen/icons/bat_full_02.xbm @@ -0,0 +1,4 @@ +#define bat_full_02_width 8 +#define bat_full_02_height 8 +static unsigned char bat_full_02_bits[] = { + 0x00, 0x7F, 0x41, 0xDD, 0xDD, 0x41, 0x7F, 0x00 }; diff --git a/dzen/icons/bat_low_01.xbm b/dzen/icons/bat_low_01.xbm @@ -0,0 +1,4 @@ +#define bat_low_01_width 8 +#define bat_low_01_height 8 +static unsigned char bat_low_01_bits[] = { + 0x18, 0x7E, 0x42, 0x42, 0x42, 0x5A, 0x42, 0x7E }; diff --git a/dzen/icons/bat_low_02.xbm b/dzen/icons/bat_low_02.xbm @@ -0,0 +1,4 @@ +#define bat_low_02_width 8 +#define bat_low_02_height 8 +static unsigned char bat_low_02_bits[] = { + 0x00, 0x7F, 0x41, 0xC5, 0xC5, 0x41, 0x7F, 0x00 }; diff --git a/dzen/icons/bluetooth.xbm b/dzen/icons/bluetooth.xbm @@ -0,0 +1,4 @@ +#define bluetooth_width 8 +#define bluetooth_height 8 +static unsigned char bluetooth_bits[] = { + 0x18, 0x2A, 0x6C, 0x38, 0x38, 0x6C, 0x2A, 0x18 }; diff --git a/dzen/icons/bug_01.xbm b/dzen/icons/bug_01.xbm @@ -0,0 +1,4 @@ +#define bug_width 8 +#define bug_height 8 +static unsigned char bug_bits[] = { + 0xC3, 0x24, 0x18, 0xDB, 0x3C, 0x7E, 0xBD, 0x99 }; diff --git a/dzen/icons/bug_02.xbm b/dzen/icons/bug_02.xbm @@ -0,0 +1,4 @@ +#define bug_02_width 8 +#define bug_02_height 8 +static unsigned char bug_02_bits[] = { + 0xC3, 0x24, 0x24, 0xDB, 0x3C, 0x7E, 0x99, 0x42 }; diff --git a/dzen/icons/cat.xbm b/dzen/icons/cat.xbm @@ -0,0 +1,4 @@ +#define cat_width 8 +#define cat_height 8 +static unsigned char cat_bits[] = { + 0x81, 0xC3, 0xBD, 0xFF, 0x99, 0xFF, 0x7E, 0xBD }; diff --git a/dzen/icons/clock.xbm b/dzen/icons/clock.xbm @@ -0,0 +1,4 @@ +#define clock_width 8 +#define clock_height 8 +static unsigned char clock_bits[] = { + 0x3C, 0x5E, 0xEF, 0xF7, 0x87, 0xFF, 0x7E, 0x3C }; diff --git a/dzen/icons/corner_left.xbm b/dzen/icons/corner_left.xbm @@ -0,0 +1,5 @@ +#define corner_left_width 10 +#define corner_left_height 12 +static unsigned char corner_left_bits[] = { + 0xfe, 0x03, 0xff, 0x03, 0xff, 0x03, 0xff, 0x03, 0xfe, 0x03, 0xfc, 0x03, + 0xf8, 0x03, 0xf0, 0x03, 0xe0, 0x03, 0xc0, 0x03, 0x80, 0x03, 0x00, 0x03 }; diff --git a/dzen/icons/corner_right.xbm b/dzen/icons/corner_right.xbm @@ -0,0 +1,5 @@ +#define corner_right_width 10 +#define corner_right_height 12 +static unsigned char corner_right_bits[] = { + 0x03, 0x00, 0x07, 0x00, 0x0f, 0x00, 0x1f, 0x00, 0x3f, 0x00, 0x7f, 0x00, + 0xff, 0x00, 0xff, 0x01, 0xff, 0x03, 0xff, 0x03, 0xff, 0x03, 0xff, 0x01 }; diff --git a/dzen/icons/cpu.xbm b/dzen/icons/cpu.xbm @@ -0,0 +1,4 @@ +#define cpu_width 8 +#define cpu_height 8 +static unsigned char cpu_bits[] = { + 0xDB, 0x81, 0x3C, 0xBD, 0xBD, 0x3C, 0x81, 0xDB }; diff --git a/dzen/icons/dish.xbm b/dzen/icons/dish.xbm @@ -0,0 +1,4 @@ +#define dish_width 8 +#define dish_height 8 +static unsigned char dish_bits[] = { + 0x81, 0x7B, 0x46, 0x4E, 0x5C, 0x3E, 0x77, 0xC3 }; diff --git a/dzen/icons/diskette.xbm b/dzen/icons/diskette.xbm @@ -0,0 +1,4 @@ +#define diskette_width 8 +#define diskette_height 8 +static unsigned char diskette_bits[] = { + 0xFF, 0x81, 0x81, 0x81, 0xBD, 0xB5, 0xB5, 0xFE }; diff --git a/dzen/icons/docs.xbm b/dzen/icons/docs.xbm @@ -0,0 +1,5 @@ +#define docs_width 10 +#define docs_height 10 +static unsigned char docs_bits[] = { + 0x00, 0x00, 0xcc, 0x00, 0x94, 0x00, 0x24, 0x00, 0x44, 0x00, 0x84, 0x00, + 0x84, 0x00, 0x84, 0x00, 0xfc, 0x00, 0x00, 0x00 }; diff --git a/dzen/icons/down.xbm b/dzen/icons/down.xbm @@ -0,0 +1,6 @@ +#define down_width 16 +#define down_height 16 +static unsigned char down_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xe0, 0x03, 0xc0, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; diff --git a/dzen/icons/eclipse.xbm b/dzen/icons/eclipse.xbm @@ -0,0 +1,5 @@ +#define eclipse_width 10 +#define eclipse_height 10 +static unsigned char eclipse_bits[] = { + 0x00, 0x00, 0x78, 0x00, 0x0c, 0x00, 0xfe, 0x01, 0x06, 0x00, 0xfe, 0x01, + 0x0e, 0x00, 0xfc, 0x00, 0x78, 0x00, 0x00, 0x00 }; diff --git a/dzen/icons/empty.xbm b/dzen/icons/empty.xbm @@ -0,0 +1,4 @@ +#define empty_width 8 +#define empty_height 8 +static unsigned char empty_bits[] = { + 0x3C, 0x42, 0x81, 0x81, 0x81, 0x81, 0x42, 0x3C }; diff --git a/dzen/icons/eye_l.xbm b/dzen/icons/eye_l.xbm @@ -0,0 +1,4 @@ +#define eye_l_width 8 +#define eye_l_height 8 +static unsigned char eye_l_bits[] = { + 0x00, 0x00, 0x1B, 0x02, 0x02, 0x84, 0xF9, 0x02 }; diff --git a/dzen/icons/eye_r.xbm b/dzen/icons/eye_r.xbm @@ -0,0 +1,4 @@ +#define eye_r_width 8 +#define eye_r_height 8 +static unsigned char eye_r_bits[] = { + 0x00, 0x00, 0xD8, 0x40, 0x40, 0x21, 0x9F, 0x40 }; diff --git a/dzen/icons/fox.xbm b/dzen/icons/fox.xbm @@ -0,0 +1,4 @@ +#define fox_width 8 +#define fox_height 8 +static unsigned char fox_bits[] = { + 0x81, 0xC3, 0xBD, 0xFF, 0x99, 0xDB, 0x7E, 0x18 }; diff --git a/dzen/icons/fs_01.xbm b/dzen/icons/fs_01.xbm @@ -0,0 +1,4 @@ +#define fs_01_width 8 +#define fs_01_height 8 +static unsigned char fs_01_bits[] = { + 0x46, 0x99, 0xBC, 0x66, 0x66, 0x3D, 0x99, 0x62 }; diff --git a/dzen/icons/fs_02.xbm b/dzen/icons/fs_02.xbm @@ -0,0 +1,4 @@ +#define fs_02_width 8 +#define fs_02_height 8 +static unsigned char fs_02_bits[] = { + 0xF1, 0x5B, 0x3D, 0x67, 0xE6, 0xBC, 0xDA, 0x8F }; diff --git a/dzen/icons/full.xbm b/dzen/icons/full.xbm @@ -0,0 +1,4 @@ +#define full_width 8 +#define full_height 8 +static unsigned char full_bits[] = { + 0x3C, 0x7E, 0xFF, 0xFF, 0xFF, 0xFF, 0x7E, 0x3C }; diff --git a/dzen/icons/fwd.xbm b/dzen/icons/fwd.xbm @@ -0,0 +1,4 @@ +#define fwd_width 8 +#define fwd_height 8 +static unsigned char fwd_bits[] = { + 0x00, 0x12, 0x36, 0x7E, 0x7E, 0x36, 0x12, 0x00 }; diff --git a/dzen/icons/gimp.xbm b/dzen/icons/gimp.xbm @@ -0,0 +1,4 @@ +#define fox_width 8 +#define fox_height 8 +static unsigned char fox_bits[] = { + 0x81, 0xC3, 0xBD, 0xFF, 0x99, 0xDB, 0x7E, 0x18 }; diff --git a/dzen/icons/google-chrome.xbm b/dzen/icons/google-chrome.xbm @@ -0,0 +1,5 @@ +#define google_chrome_width 10 +#define google_chrome_height 10 +static unsigned char google_chrome_bits[] = { + 0x00, 0x00, 0x78, 0x00, 0xf4, 0x00, 0xce, 0x01, 0x36, 0x00, 0xb6, 0x01, + 0xce, 0x01, 0xec, 0x00, 0x68, 0x00, 0x00, 0x00 }; diff --git a/dzen/icons/grid.xbm b/dzen/icons/grid.xbm @@ -0,0 +1,5 @@ +#define gridtall_reversed_width 12 +#define gridtall_reversed_height 12 +static unsigned char gridtall_reversed_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x66, 0x06, 0x66, 0x06, 0x00, 0x00, 0x66, 0x06, + 0x66, 0x06, 0x00, 0x00, 0x66, 0x06, 0x66, 0x06, 0x00, 0x00, 0x00, 0x00 }; diff --git a/dzen/icons/half.xbm b/dzen/icons/half.xbm @@ -0,0 +1,4 @@ +#define half_width 8 +#define half_height 8 +static unsigned char half_bits[] = { + 0x3C, 0x4E, 0x8F, 0x8F, 0x8F, 0x8F, 0x4E, 0x3C }; diff --git a/dzen/icons/info_01.xbm b/dzen/icons/info_01.xbm @@ -0,0 +1,4 @@ +#define info_01_width 8 +#define info_01_height 8 +static unsigned char info_01_bits[] = { + 0x3C, 0x66, 0xFF, 0xE7, 0xE7, 0xE7, 0x66, 0x3C }; diff --git a/dzen/icons/info_02.xbm b/dzen/icons/info_02.xbm @@ -0,0 +1,4 @@ +#define info_02_width 8 +#define info_02_height 8 +static unsigned char info_02_bits[] = { + 0xFF, 0xE7, 0xFF, 0xE7, 0xE7, 0xE7, 0xE7, 0xFF }; diff --git a/dzen/icons/info_03.xbm b/dzen/icons/info_03.xbm @@ -0,0 +1,4 @@ +#define info_width 8 +#define info_height 8 +static unsigned char info_bits[] = { + 0x38, 0x38, 0x00, 0x3C, 0x38, 0x38, 0x38, 0x7C }; diff --git a/dzen/icons/layout_full.xbm b/dzen/icons/layout_full.xbm @@ -0,0 +1,5 @@ +#define layout_full_width 15 +#define layout_full_height 9 +static unsigned char layout_full_bits[] = { + 0xFF, 0x7F, 0x01, 0x40, 0x01, 0x40, 0x01, 0x40, 0x01, 0x40, 0x01, 0x40, + 0x01, 0x40, 0x01, 0x40, 0xFF, 0x7F }; diff --git a/dzen/icons/layout_mirror_tall.xbm b/dzen/icons/layout_mirror_tall.xbm @@ -0,0 +1,5 @@ +#define layout_mirror_tall_width 15 +#define layout_mirror_tall_height 9 +static unsigned char layout_mirror_tall_bits[] = { + 0xFF, 0x7F, 0x01, 0x40, 0x01, 0x40, 0x01, 0x40, 0xFF, 0x7F, 0x81, 0x40, + 0x81, 0x40, 0x81, 0x40, 0xFF, 0x7F }; diff --git a/dzen/icons/layout_tall.xbm b/dzen/icons/layout_tall.xbm @@ -0,0 +1,5 @@ +#define layout_tall_width 15 +#define layout_tall_height 9 +static unsigned char layout_tall_bits[] = { + 0xFF, 0x7F, 0x81, 0x40, 0x81, 0x40, 0x81, 0x40, 0x81, 0x7F, 0x81, 0x40, + 0x81, 0x40, 0x81, 0x40, 0xFF, 0x7F }; diff --git a/dzen/icons/load.xbm b/dzen/icons/load.xbm @@ -0,0 +1,6 @@ +#define load_width 16 +#define load_height 16 +static unsigned char load_bits[] = { + 0x00, 0x00, 0xfe, 0x7f, 0x02, 0x40, 0x02, 0x40, 0x02, 0x40, 0x02, 0x40, + 0x02, 0x44, 0x02, 0x4a, 0x02, 0x71, 0x8e, 0x40, 0x52, 0x40, 0x22, 0x40, + 0x02, 0x40, 0x02, 0x40, 0xfe, 0x7f, 0x00, 0x00 }; diff --git a/dzen/icons/mail.xbm b/dzen/icons/mail.xbm @@ -0,0 +1,4 @@ +#define mail_width 8 +#define mail_height 8 +static unsigned char mail_bits[] = { + 0x00, 0xFF, 0x7E, 0xBD, 0xDB, 0xE7, 0xFF, 0x00 }; diff --git a/dzen/icons/me.xbm b/dzen/icons/me.xbm @@ -0,0 +1,5 @@ +#define me_width 10 +#define me_height 10 +static unsigned char me_bits[] = { + 0x00, 0x00, 0x30, 0x00, 0x78, 0x00, 0x78, 0x00, 0x78, 0x00, 0x30, 0x00, + 0x78, 0x00, 0xfc, 0x00, 0xfc, 0x00, 0x00, 0x00 }; diff --git a/dzen/icons/mem.xbm b/dzen/icons/mem.xbm @@ -0,0 +1,4 @@ +#define mem_width 8 +#define mem_height 8 +static unsigned char mem_bits[] = { + 0xAA, 0x00, 0xFE, 0xFE, 0xFE, 0xFE, 0x00, 0xAA }; diff --git a/dzen/icons/mouse_01.xbm b/dzen/icons/mouse_01.xbm @@ -0,0 +1,4 @@ +#define mouse_01_width 8 +#define mouse_01_height 8 +static unsigned char mouse_01_bits[] = { + 0xEE, 0xEE, 0xEE, 0x82, 0xFE, 0xFE, 0xFE, 0x7C }; diff --git a/dzen/icons/mpd.xbm b/dzen/icons/mpd.xbm @@ -0,0 +1,6 @@ +#define mpd_width 16 +#define mpd_height 16 +static unsigned char mpd_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x1f, 0x40, 0x10, + 0x40, 0x10, 0x40, 0x10, 0x40, 0x10, 0x40, 0x10, 0x70, 0x1c, 0x78, 0x1e, + 0x30, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; diff --git a/dzen/icons/net-wifi.xbm b/dzen/icons/net-wifi.xbm @@ -0,0 +1,6 @@ +#define net_wifi4_width 16 +#define net_wifi4_height 16 +static unsigned char net_wifi4_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0xf0, 0x0f, 0x08, 0x10, 0xe4, 0x27, 0x10, 0x08, + 0xc0, 0x03, 0x20, 0x04, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, + 0xc0, 0x03, 0xc0, 0x03, 0x80, 0x01, 0x00, 0x00 }; diff --git a/dzen/icons/net-wifi3.xbm b/dzen/icons/net-wifi3.xbm @@ -0,0 +1,6 @@ +#define wireless3_full_width 16 +#define wireless3_full_height 16 +static unsigned char wireless3_full_bits[] = { + 0x00, 0x00, 0xf0, 0x0f, 0x08, 0x10, 0xe4, 0x27, 0x10, 0x08, 0x00, 0x00, + 0xc0, 0x03, 0xc0, 0x03, 0xf0, 0x0f, 0xf0, 0x0f, 0xf0, 0x0f, 0xf0, 0x0f, + 0xf0, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; diff --git a/dzen/icons/net-wifi4.xbm b/dzen/icons/net-wifi4.xbm @@ -0,0 +1,6 @@ +#define net_wifi4_width 16 +#define net_wifi4_height 16 +static unsigned char net_wifi4_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x7f, 0xfe, 0x7f, 0x00, 0x00, + 0xfc, 0x3f, 0xfc, 0x3f, 0x00, 0x00, 0xf8, 0x1f, 0xf8, 0x1f, 0x00, 0x00, + 0xe0, 0x07, 0xe0, 0x07, 0x00, 0x00, 0x00, 0x00 }; diff --git a/dzen/icons/net-wifi5.xbm b/dzen/icons/net-wifi5.xbm @@ -0,0 +1,6 @@ +#define wireless_full_width 16 +#define wireless_full_height 16 +static unsigned char wireless_full_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x3f, 0xfe, 0x7f, 0x00, 0x00, + 0xfc, 0x3f, 0xf8, 0x1f, 0x00, 0x00, 0xf0, 0x0f, 0xe0, 0x07, 0x00, 0x00, + 0xc0, 0x03, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00 }; diff --git a/dzen/icons/net-wired.xbm b/dzen/icons/net-wired.xbm @@ -0,0 +1,6 @@ +#define network_eth2_width 16 +#define network_eth2_height 16 +static unsigned char network_eth2_bits[] = { + 0x00, 0x00, 0xfe, 0x7f, 0x02, 0x40, 0x02, 0x40, 0xc2, 0x43, 0xc2, 0x43, + 0xc2, 0x43, 0xf2, 0x4f, 0xf2, 0x4f, 0xf2, 0x4f, 0xf2, 0x4f, 0xf2, 0x4f, + 0x02, 0x40, 0x02, 0x40, 0xfe, 0x7f, 0x00, 0x00 }; diff --git a/dzen/icons/net-wired2.xbm b/dzen/icons/net-wired2.xbm @@ -0,0 +1,6 @@ +#define network_eth1_width 16 +#define network_eth1_height 16 +static unsigned char network_eth1_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x01, 0x60, 0x03, 0x70, 0x07, + 0x78, 0x0f, 0x7f, 0x7f, 0x7f, 0x7f, 0x78, 0x0f, 0x70, 0x07, 0x60, 0x03, + 0x40, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; diff --git a/dzen/icons/net_down_01.xbm b/dzen/icons/net_down_01.xbm @@ -0,0 +1,4 @@ +#define net_down_01_width 8 +#define net_down_01_height 8 +static unsigned char net_down_01_bits[] = { + 0x1E, 0x3C, 0x3C, 0x3C, 0xFF, 0x7E, 0x3C, 0x18 }; diff --git a/dzen/icons/net_down_02.xbm b/dzen/icons/net_down_02.xbm @@ -0,0 +1,4 @@ +#define net_down_02_width 8 +#define net_down_02_height 8 +static unsigned char net_down_02_bits[] = { + 0x78, 0x3C, 0x3C, 0x3C, 0xFF, 0x7E, 0x3C, 0x18 }; diff --git a/dzen/icons/net_down_03.xbm b/dzen/icons/net_down_03.xbm @@ -0,0 +1,4 @@ +#define net_down_03_width 8 +#define net_down_03_height 8 +static unsigned char net_down_03_bits[] = { + 0x38, 0x38, 0x38, 0x38, 0xFE, 0x7C, 0x38, 0x10 }; diff --git a/dzen/icons/net_up_01.xbm b/dzen/icons/net_up_01.xbm @@ -0,0 +1,4 @@ +#define net_up_01_width 8 +#define net_up_01_height 8 +static unsigned char net_up_01_bits[] = { + 0x18, 0x3C, 0x7E, 0xFF, 0x3C, 0x3C, 0x3C, 0x78 }; diff --git a/dzen/icons/net_up_02.xbm b/dzen/icons/net_up_02.xbm @@ -0,0 +1,4 @@ +#define net_up_02_width 8 +#define net_up_02_height 8 +static unsigned char net_up_02_bits[] = { + 0x18, 0x3C, 0x7E, 0xFF, 0x3C, 0x3C, 0x3C, 0x1E }; diff --git a/dzen/icons/net_up_03.xbm b/dzen/icons/net_up_03.xbm @@ -0,0 +1,4 @@ +#define net_up_03_width 8 +#define net_up_03_height 8 +static unsigned char net_up_03_bits[] = { + 0x10, 0x38, 0x7C, 0xFE, 0x38, 0x38, 0x38, 0x38 }; diff --git a/dzen/icons/net_wired.xbm b/dzen/icons/net_wired.xbm @@ -0,0 +1,4 @@ +#define net_wired_width 8 +#define net_wired_height 8 +static unsigned char net_wired_bits[] = { + 0x00, 0x1C, 0x1C, 0x7F, 0x7F, 0x7F, 0x55, 0x7F }; diff --git a/dzen/icons/next.xbm b/dzen/icons/next.xbm @@ -0,0 +1,4 @@ +#define next_width 8 +#define next_height 8 +static unsigned char next_bits[] = { + 0x00, 0x42, 0x4E, 0x7E, 0x7E, 0x4E, 0x42, 0x00 }; diff --git a/dzen/icons/note.xbm b/dzen/icons/note.xbm @@ -0,0 +1,4 @@ +#define note_width 8 +#define note_height 8 +static unsigned char note_bits[] = { + 0xFC, 0xFC, 0x84, 0x84, 0x84, 0x84, 0xE7, 0xE7 }; diff --git a/dzen/icons/pacman.xbm b/dzen/icons/pacman.xbm @@ -0,0 +1,4 @@ +#define pacman_width 8 +#define pacman_height 8 +static unsigned char pacman_bits[] = { + 0x3C, 0x6E, 0xE7, 0xFF, 0x07, 0x1F, 0x7E, 0x3C }; diff --git a/dzen/icons/pause.xbm b/dzen/icons/pause.xbm @@ -0,0 +1,4 @@ +#define pause_width 8 +#define pause_height 8 +static unsigned char pause_bits[] = { + 0x00, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x00 }; diff --git a/dzen/icons/phones.xbm b/dzen/icons/phones.xbm @@ -0,0 +1,4 @@ +#define phones_width 8 +#define phones_height 8 +static unsigned char phones_bits[] = { + 0x3C, 0x42, 0x81, 0x81, 0xA5, 0xE7, 0xE7, 0x66 }; diff --git a/dzen/icons/play.xbm b/dzen/icons/play.xbm @@ -0,0 +1,4 @@ +#define play_width 8 +#define play_height 8 +static unsigned char play_bits[] = { + 0x00, 0x06, 0x1E, 0x7E, 0x7E, 0x1E, 0x06, 0x00 }; diff --git a/dzen/icons/plug.xbm b/dzen/icons/plug.xbm @@ -0,0 +1,4 @@ +#define plug_width 8 +#define plug_height 8 +static unsigned char plug_bits[] = { + 0x03, 0x0F, 0x1E, 0x3E, 0x3C, 0x58, 0xA0, 0xC0 }; diff --git a/dzen/icons/plus.xbm b/dzen/icons/plus.xbm @@ -0,0 +1,5 @@ +#define occupied_width 8 +#define occupied_height 16 +static unsigned char occupied_bits[] = { + 0x00, 0x00, 0x08, 0x08, 0x3e, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00 }; diff --git a/dzen/icons/power-ac.xbm b/dzen/icons/power-ac.xbm @@ -0,0 +1,6 @@ +#define power_ac_width 16 +#define power_ac_height 16 +static unsigned char power_ac_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x80, 0x07, 0xc0, 0x3f, + 0xe0, 0x07, 0xfc, 0x07, 0xfc, 0x07, 0xe0, 0x07, 0xc0, 0x3f, 0x80, 0x07, + 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; diff --git a/dzen/icons/power-bat.xbm b/dzen/icons/power-bat.xbm @@ -0,0 +1,6 @@ +#define battery_width 16 +#define battery_height 16 +static unsigned char battery_bits[] = { + 0x00, 0x00, 0xc0, 0x03, 0xc0, 0x03, 0xf0, 0x0f, 0xf0, 0x0f, 0x10, 0x08, + 0x10, 0x08, 0x10, 0x08, 0x10, 0x08, 0xf0, 0x0f, 0xf0, 0x0f, 0xf0, 0x0f, + 0xf0, 0x0f, 0xf0, 0x0f, 0xf0, 0x0f, 0x00, 0x00 }; diff --git a/dzen/icons/power-bat2.xbm b/dzen/icons/power-bat2.xbm @@ -0,0 +1,6 @@ +#define power_bat2_width 16 +#define power_bat2_height 16 +static unsigned char power_bat2_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x1f, 0x7e, 0x18, + 0x7e, 0x78, 0x7e, 0x78, 0x7e, 0x78, 0x7e, 0x78, 0x7e, 0x18, 0xfe, 0x1f, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; diff --git a/dzen/icons/prev.xbm b/dzen/icons/prev.xbm @@ -0,0 +1,4 @@ +#define prev_width 8 +#define prev_height 8 +static unsigned char prev_bits[] = { + 0x00, 0x42, 0x72, 0x7E, 0x7E, 0x72, 0x42, 0x00 }; diff --git a/dzen/icons/rwd.xbm b/dzen/icons/rwd.xbm @@ -0,0 +1,4 @@ +#define rwd_width 8 +#define rwd_height 8 +static unsigned char rwd_bits[] = { + 0x00, 0x48, 0x6C, 0x7E, 0x7E, 0x6C, 0x48, 0x00 }; diff --git a/dzen/icons/scorpio.xbm b/dzen/icons/scorpio.xbm @@ -0,0 +1,4 @@ +#define scorpio_width 8 +#define scorpio_height 8 +static unsigned char scorpio_bits[] = { + 0x42, 0x81, 0xDB, 0x3C, 0xDB, 0x5A, 0x99, 0x30 }; diff --git a/dzen/icons/shell.xbm b/dzen/icons/shell.xbm @@ -0,0 +1,5 @@ +#define shell_width 10 +#define shell_height 10 +static unsigned char shell_bits[] = { + 0x00, 0x00, 0xff, 0x03, 0x01, 0x02, 0x05, 0x02, 0x09, 0x02, 0x35, 0x02, + 0x01, 0x02, 0x01, 0x02, 0xff, 0x03, 0x00, 0x00 }; diff --git a/dzen/icons/shroom.xbm b/dzen/icons/shroom.xbm @@ -0,0 +1,4 @@ +#define shroom_width 8 +#define shroom_height 8 +static unsigned char shroom_bits[] = { + 0x3C, 0x42, 0x81, 0x81, 0xFF, 0x3C, 0x3C, 0x3C }; diff --git a/dzen/icons/spkr_01.xbm b/dzen/icons/spkr_01.xbm @@ -0,0 +1,4 @@ +#define spkr_01_width 8 +#define spkr_01_height 8 +static unsigned char spkr_01_bits[] = { + 0x08, 0x4C, 0x8F, 0xAF, 0xAF, 0x8F, 0x4C, 0x08 }; diff --git a/dzen/icons/spkr_02.xbm b/dzen/icons/spkr_02.xbm @@ -0,0 +1,4 @@ +#define spkr_02_width 8 +#define spkr_02_height 8 +static unsigned char spkr_02_bits[] = { + 0x08, 0x0C, 0x0F, 0x1F, 0x1F, 0x0F, 0x0C, 0x08 }; diff --git a/dzen/icons/spkr_03.xbm b/dzen/icons/spkr_03.xbm @@ -0,0 +1,4 @@ +#define ysick_width 8 +#define ysick_height 8 +static unsigned char ysick_bits[] = { + 0x4C, 0x93, 0x93, 0x97, 0x97, 0x93, 0x93, 0x4C }; diff --git a/dzen/icons/stop.xbm b/dzen/icons/stop.xbm @@ -0,0 +1,4 @@ +#define stop_width 8 +#define stop_height 8 +static unsigned char stop_bits[] = { + 0x00, 0x7E, 0x7E, 0x7E, 0x7E, 0x7E, 0x7E, 0x00 }; diff --git a/dzen/icons/tall.xbm b/dzen/icons/tall.xbm @@ -0,0 +1,5 @@ +#define tall_width 12 +#define tall_height 12 +static unsigned char tall_bits[] = { + 0xbf, 0x0f, 0xbf, 0x0f, 0xbf, 0x0f, 0x3f, 0x00, 0xbf, 0x0f, 0xbf, 0x0f, + 0xbf, 0x0f, 0xbf, 0x0f, 0x3f, 0x00, 0xbf, 0x0f, 0xbf, 0x0f, 0xbf, 0x0f }; diff --git a/dzen/icons/temp.xbm b/dzen/icons/temp.xbm @@ -0,0 +1,4 @@ +#define temp_width 8 +#define temp_height 8 +static unsigned char temp_bits[] = { + 0xC8, 0xE0, 0x72, 0x28, 0x16, 0x09, 0x09, 0x06 }; diff --git a/dzen/icons/term.xbm b/dzen/icons/term.xbm @@ -0,0 +1,5 @@ +#define terminal_width 9 +#define terminal_height 9 +static unsigned char terminal_bits[] = { + 0x00, 0x00, 0xff, 0x01, 0x01, 0x01, 0x05, 0x01, 0x09, 0x01, 0x35, 0x01, + 0x01, 0x01, 0x01, 0x01, 0xff, 0x01 }; diff --git a/dzen/icons/test.xbm b/dzen/icons/test.xbm @@ -0,0 +1,4 @@ +#define test_width 8 +#define test_height 8 +static unsigned char test_bits[] = { + 0x0E, 0x13, 0x21, 0x41, 0x82, 0x84, 0xC8, 0x70 }; diff --git a/dzen/icons/thunar.xbm b/dzen/icons/thunar.xbm @@ -0,0 +1,5 @@ +#define thunar_width 10 +#define thunar_height 10 +static unsigned char thunar_bits[] = { + 0x00, 0x00, 0xee, 0x01, 0x0e, 0x00, 0xfe, 0x01, 0xfe, 0x01, 0xfe, 0x01, + 0xfe, 0x01, 0xfe, 0x01, 0xfe, 0x01, 0x00, 0x00 }; diff --git a/dzen/icons/tunes.xbm b/dzen/icons/tunes.xbm @@ -0,0 +1,4 @@ +#define note_width 8 +#define note_height 8 +static unsigned char note_bits[] = { + 0xFC, 0xFC, 0x84, 0x84, 0x84, 0x84, 0xE7, 0xE7 }; diff --git a/dzen/icons/up.xbm b/dzen/icons/up.xbm @@ -0,0 +1,6 @@ +#define up_width 16 +#define up_height 16 +static unsigned char up_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x80, 0x00, 0xc0, 0x01, 0xe0, 0x03, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; diff --git a/dzen/icons/urxvt.xbm b/dzen/icons/urxvt.xbm @@ -0,0 +1,5 @@ +#define terminal_width 9 +#define terminal_height 9 +static unsigned char terminal_bits[] = { + 0x00, 0x00, 0xff, 0x01, 0x01, 0x01, 0x05, 0x01, 0x09, 0x01, 0x35, 0x01, + 0x01, 0x01, 0x01, 0x01, 0xff, 0x01 }; diff --git a/dzen/icons/usb.xbm b/dzen/icons/usb.xbm @@ -0,0 +1,4 @@ +#define usb_width 8 +#define usb_height 8 +static unsigned char usb_bits[] = { + 0x70, 0x88, 0xC4, 0xE2, 0x7E, 0x32, 0x09, 0x07 }; diff --git a/dzen/icons/usb_02.xbm b/dzen/icons/usb_02.xbm @@ -0,0 +1,4 @@ +#define usb_02_width 8 +#define usb_02_height 8 +static unsigned char usb_02_bits[] = { + 0x10, 0x50, 0x54, 0x54, 0x34, 0x18, 0x10, 0x10 }; diff --git a/dzen/icons/vol-hi.xbm b/dzen/icons/vol-hi.xbm @@ -0,0 +1,6 @@ +#define vol_hi2_width 16 +#define vol_hi2_height 16 +static unsigned char vol_hi2_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x80, 0x21, 0xc0, 0x49, 0xfc, 0x51, + 0xfc, 0x55, 0xfc, 0x55, 0xfc, 0x55, 0xfc, 0x55, 0xfc, 0x51, 0xc0, 0x49, + 0x80, 0x21, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00 }; diff --git a/dzen/icons/vol-mute.xbm b/dzen/icons/vol-mute.xbm @@ -0,0 +1,6 @@ +#define vol_mute2_width 16 +#define vol_mute2_height 16 +static unsigned char vol_mute2_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x80, 0x01, 0xc0, 0x01, 0xfc, 0x01, + 0xfc, 0x01, 0xfc, 0x29, 0xfc, 0x11, 0xfc, 0x29, 0xfc, 0x01, 0xc0, 0x01, + 0x80, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00 }; diff --git a/dzen/icons/web.xbm b/dzen/icons/web.xbm @@ -0,0 +1,5 @@ +#define web_width 10 +#define web_height 10 +static unsigned char web_bits[] = { + 0x00, 0x00, 0x78, 0x00, 0xa4, 0x00, 0x62, 0x01, 0xf2, 0x01, 0xfa, 0x01, + 0x5e, 0x01, 0x8c, 0x00, 0x78, 0x00, 0x00, 0x00 }; diff --git a/dzen/icons/wifi_01.xbm b/dzen/icons/wifi_01.xbm @@ -0,0 +1,4 @@ +#define wifi_01_width 8 +#define wifi_01_height 8 +static unsigned char wifi_01_bits[] = { + 0x80, 0xA0, 0xA8, 0xAB, 0xAB, 0xA8, 0xA0, 0x80 }; diff --git a/dzen/icons/wifi_02.xbm b/dzen/icons/wifi_02.xbm @@ -0,0 +1,4 @@ +#define wifi_02_width 8 +#define wifi_02_height 8 +static unsigned char wifi_02_bits[] = { + 0x40, 0x90, 0xA4, 0xA9, 0xA9, 0xA4, 0x90, 0x40 }; diff --git a/dzen/workspace.sh b/dzen/workspace.sh @@ -0,0 +1,49 @@ +#!/bin/bash + +source ~/.dzen2.d/bin/config.sh + +#Customize this stuff +SECS=0.5 # sleep $SECS +XPOS=4 # horizontal positioning +YPOS=0 # vertical positioning +WIDTH=260 # window width +HEIGHT=20 # window width + +SEP="^fg($color) ^co(6)^fg()" + +WORKSPACE_WIDTH=8 +WORKSPACE_HEIGHT=8 +WORKSPACE_RADIUS=10 +WORKSPACE_COUNT=$(wmctrl -d| wc -l) +WORKSPACE_COUNT=$(($WORKSPACE_COUNT-1)) +# Have to use it, causes names are not handled by my WM +WORKSPACE_NAMES=(shell web me pacman bug_01 docs fox empty) + +square() { + echo "^ro(${WORKSPACE_WIDTH}x${WORKSPACE_HEIGHT})" +} + +circle() { + echo "^c($WORKSPACE_RADIUS)" +} + +icon() { + echo "^i($1)" +} + +workspace() { + WORKSPACE_CuRRENT=$(wmctrl -d |grep '*' |cut -d' ' -f1) + WINDOWS_NUMBER=$(wmctrl -l| grep -v "wbar"| wc -l) + for wksp in $(seq 0 $WORKSPACE_COUNT); do + if [ "$wksp" -eq "$WORKSPACE_CuRRENT" ]; then + echo -n "^fg($color)" + fi + echo -n "^ca(1, wmctrl -s $wksp) ^i($ICO_PATH/${WORKSPACE_NAMES[$wksp]}.xbm) ^ca()^fg()" + done + echo -n " ^ca(1, $BIN_PATH/windows.sh)^fg()$WINDOWS_NUMBER windows^fg()^ca()" +} + +while :; do + echo "$(workspace)" + sleep $SECS +done | dzen2 -ta c -fg $FG -bg $BG -fn $FONT -x $XPOS -y $YPOS -w $WIDTH -h $HEIGHT diff --git a/pipes b/pipes @@ -0,0 +1,51 @@ +#!/bin/sh + +declare -i f=75 s=13 r=2000 t=0 c=1 n=0 l=0 +declare -ir w=$(tput cols) h=$(tput lines) +declare -i x=$((w/2)) y=$((h/2)) +declare -ar v=( [00]="\x83" [01]="\x8f" [03]="\x93" + [10]="\x9b" [11]="\x81" [12]="\x93" + [21]="\x97" [22]="\x83" [23]="\x9b" + [30]="\x97" [32]="\x8f" [33]="\x81" ) + +OPTIND=1 +while getopts "f:s:r:h" arg; do +case $arg in + f) ((f=($OPTARG>19 && $OPTARG<101)?$OPTARG:$f));; + s) ((s=($OPTARG>4 && $OPTARG<16 )?$OPTARG:$s));; + r) ((r=($OPTARG>0)?$OPTARG:$r));; + h) echo -e "Usage: pipes [OPTION]..." + echo -e "Animated pipes terminal screensaver.\n" + echo -e " -f [20-100]\tframerate (D=75)." + echo -e " -s [5-15]\tprobability of a straight fitting (D=13)." + echo -e " -r LIMIT\treset after x characters (D=2000)." + echo -e " -h\t\thelp (this screen).\n" + exit 0;; + esac +done + +tput smcup +tput reset +tput civis +while ! read -t0.0$((1000/$f)) -n1; do + # New position: + (($l%2)) && ((x+=($l==1)?1:-1)) + ((!($l%2))) && ((y+=($l==2)?1:-1)) + + # Loop on edges (change color on loop): + ((c=($x>$w || $x<0 || $y>$h || $y<0)?($RANDOM%7-1):$c)) + ((x=($x>$w)?0:(($x<0)?$w:$x))) + ((y=($y>$h)?0:(($y<0)?$h:$y))) + + # New random direction: + ((n=$RANDOM%$s-1)) + ((n=($n>1||$n==0)?$l:$l+$n)) + ((n=($n<0)?3:$n%4)) + + # Print: + tput cup $y $x + echo -ne "\033[1;3${c}m\xe2\x94${v[$l$n]}" + (($t>$r)) && tput reset && tput civis && t=0 || ((t++)) + l=$n +done +tput rmcup diff --git a/uplay b/uplay @@ -0,0 +1,10 @@ +#!/bin/sh +# +# Public domain +# Author: roman [] tsisyk.com +# +# Usage: ./me url [youtube-dl parameters] +# + +COOKIE_FILE=/tmp/youtube-dl-cookies.txt +mplayer -cookies -cookies-file ${COOKIE_FILE} $(youtube-dl -g --cookies ${COOKIE_FILE} $*)