aboutsummaryrefslogtreecommitdiff
path: root/.config/polybar/scripts/popup-calendar.sh
diff options
context:
space:
mode:
authorsrdusr <trevorgray@srdusr.com>2022-11-16 16:28:29 +0200
committersrdusr <trevorgray@srdusr.com>2022-11-16 16:28:29 +0200
commit23015965a4cecbd7a15049f0239fed4cdf540248 (patch)
tree497d48b86e8f0f5e7b09cd0a7150c7f3a7579d50 /.config/polybar/scripts/popup-calendar.sh
parent6c42a0ae74a91e8c8a2fd65911e4a498555f2952 (diff)
downloaddotfiles-23015965a4cecbd7a15049f0239fed4cdf540248.tar.gz
dotfiles-23015965a4cecbd7a15049f0239fed4cdf540248.zip
Added polybar
Diffstat (limited to '.config/polybar/scripts/popup-calendar.sh')
-rwxr-xr-x.config/polybar/scripts/popup-calendar.sh41
1 files changed, 41 insertions, 0 deletions
diff --git a/.config/polybar/scripts/popup-calendar.sh b/.config/polybar/scripts/popup-calendar.sh
new file mode 100755
index 0000000..4e5303c
--- /dev/null
+++ b/.config/polybar/scripts/popup-calendar.sh
@@ -0,0 +1,41 @@
+#!/bin/sh
+
+BAR_HEIGHT=22 # polybar height
+BORDER_SIZE=1 # border size from your wm settings
+YAD_WIDTH=222 # 222 is minimum possible value
+YAD_HEIGHT=193 # 193 is minimum possible value
+DATE="$(date +"%a %d %b, %H:%M")"
+
+case "$1" in
+--popup)
+ if [ "$(xdotool getwindowfocus getwindowname)" = "yad-calendar" ]; then
+ exit 0
+ fi
+
+ eval "$(xdotool getmouselocation --shell)"
+ eval "$(xdotool getdisplaygeometry --shell)"
+
+ # X
+ if [ "$((X + YAD_WIDTH / 2 + BORDER_SIZE))" -gt "$WIDTH" ]; then #Right side
+ : $((pos_x = WIDTH - YAD_WIDTH - BORDER_SIZE))
+ elif [ "$((X - YAD_WIDTH / 2 - BORDER_SIZE))" -lt 0 ]; then #Left side
+ : $((pos_x = BORDER_SIZE))
+ else #Center
+ : $((pos_x = X - YAD_WIDTH / 2))
+ fi
+
+ # Y
+ if [ "$Y" -gt "$((HEIGHT / 2))" ]; then #Bottom
+ : $((pos_y = HEIGHT - YAD_HEIGHT - BAR_HEIGHT - BORDER_SIZE))
+ else #Top
+ : $((pos_y = BAR_HEIGHT + BORDER_SIZE))
+ fi
+
+ yad --calendar --undecorated --fixed --close-on-unfocus --no-buttons \
+ --width="$YAD_WIDTH" --height="$YAD_HEIGHT" --posx="$pos_x" --posy="$pos_y" \
+ --title="yad-calendar" --borders=0 >/dev/null &
+ ;;
+*)
+ echo "$DATE"
+ ;;
+esac