From e919395e51edcc2ad950424defffd521fe65a3ee Mon Sep 17 00:00:00 2001 From: Daniel Sissom Date: Thu, 18 Jul 2019 15:55:38 -0500 Subject: [PATCH] Added dzen2 calendar popup scripts for panel. --- bspwm/panel/panel_bar | 2 +- bspwm/panel/scripts/calendar | 68 +++++++++++++++++++++++++++++++++++ bspwm/panel/scripts/togglecal | 9 +++++ 3 files changed, 78 insertions(+), 1 deletion(-) create mode 100755 bspwm/panel/scripts/calendar create mode 100755 bspwm/panel/scripts/togglecal diff --git a/bspwm/panel/panel_bar b/bspwm/panel/panel_bar index 9ee855b..b124b5e 100755 --- a/bspwm/panel/panel_bar +++ b/bspwm/panel/panel_bar @@ -67,5 +67,5 @@ while read -r line ; do wm_infos="$wm_infos%{F-} %{F-}" ;; esac - printf "%s\n" "%{S+}%{l}  $title%{c}$wm_infos%{r}$sys_infos ⏻ " + printf "%s\n" "%{S+}%{l}  $title%{c}$wm_infos%{r}%{A:togglecal:}$sys_infos%{A} ⏻ " done diff --git a/bspwm/panel/scripts/calendar b/bspwm/panel/scripts/calendar new file mode 100755 index 0000000..9a7b45c --- /dev/null +++ b/bspwm/panel/scripts/calendar @@ -0,0 +1,68 @@ +#!/usr/bin/env sh + +#source $HOME/.cache/wal/colors.sh +color0="#000000" +color5="#FFFFFF" + +pkill -f "dzen2 -title-name calendar" + +ORIG_IFS=$IFS +IFS=" " read current_month current_year <<< $(date +"%m %Y") +IFS=$ORIG_IFS + +screen=1 + +OPTS=`getopt -o m:y:s: -- "$@"` +eval set -- "$OPTS" +# <<< + +while true; do + case "$1" in + -m ) month="$2"; shift 2 ;; + -y ) year="$2"; shift 2 ;; + -s ) screen="$2"; shift 2 ;; + -- ) shift; break ;; + * ) break ;; + esac +done + +month=${month:-$current_month} +year=${year:-$current_year} + +if (( month > 12)); then + month=1 + ((year++)) +fi + +if ((month < 1)); then + month=12 + ((year--)) +fi + +back="^ca(1, calendar -m $((month-1)) -y $year)<^ca()" +next="^ca(1, calendar -m $((month+1)) -y $year)>^ca()" + +out=$(cal $month $year | sed "1s/^ /$back/; 1s/ $/$next/") +lines=$(echo "$out" | wc -l) + +if test "$month" -eq "$current_month" && test "$year" -eq "$current_year"; then + out=$(echo "$out" | sed "2,$ s/$(date +%e)/^fg($color0)^bg($color5)\0^fg()^bg()/") +fi + +echo "$out" | dzen2 \ + -title-name "calendar" \ + -bg "$color0" \ + -fg "$color5" \ + -x "-242" \ + -y "20" \ + -h 30 \ + -l $((lines-1)) \ + -w 240 \ + -fn "Source Code Pro" \ + -e "onstart=uncollapse;button3=exit" \ + -ta c \ + -sa c \ + -xs $screen \ + -p & + + diff --git a/bspwm/panel/scripts/togglecal b/bspwm/panel/scripts/togglecal new file mode 100755 index 0000000..829fb64 --- /dev/null +++ b/bspwm/panel/scripts/togglecal @@ -0,0 +1,9 @@ +#!/usr/bin/env sh + +wm_name='calendar' + +if xdo id -a "$wm_name" > /dev/null; then + xdo kill $(xdo id -a "$wm_name") +else + calendar & +fi