From 9ec81a1a3c9e6a30d4ea72a6d98a47858db42d83 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=83=9E=E3=83=AA=E3=82=A6=E3=82=B9?= Date: Mon, 29 Aug 2022 16:23:45 -0500 Subject: [PATCH] Implemented waybar/bemenu script --- README.md | 8 ++++++- extras/zeit-waybar-bemenu.sh | 44 ++++++++++++++++++++++++++++++++++++ 2 files changed, 51 insertions(+), 1 deletion(-) create mode 100755 extras/zeit-waybar-bemenu.sh diff --git a/README.md b/README.md index ef31db8..351f5cd 100644 --- a/README.md +++ b/README.md @@ -278,8 +278,14 @@ zeit export --format tyme --project "my project" --since "2020-04-01T15:04:05+07 Here are a few integrations and extensions built by myself as well as other people that make use of `zeit`: +- [`zeit-waybar-bemenu.sh`](https://github.com/mrusme/zeit/blob/main/extras/zeit-waybar-bemenu.sh), + a script for integrating `zeit` into + [waybar](https://github.com/Alexays/Waybar), using + [bemenu](https://github.com/Cloudef/bemenu) - [`zeit-waybar-wofi.sh`](https://github.com/mrusme/zeit/blob/main/extras/zeit-waybar-wofi.sh), - a script for integrating `zeit` into waybar, using wofi + a script for integrating `zeit` into + [waybar](https://github.com/Alexays/Waybar), using + [wofi](https://hg.sr.ht/~scoopta/wofi) - [`zeit.1m.sh`](https://github.com/mrusme/zeit/blob/main/extras/zeit.1m.sh), an [`xbar`](https://github.com/matryer/xbar) plugin for `zeit` - [`zeit-status.sh`](https://github.com/khughitt/dotfiles/blob/master/polybar/scripts/zeit-status.sh), diff --git a/extras/zeit-waybar-bemenu.sh b/extras/zeit-waybar-bemenu.sh new file mode 100755 index 0000000..c9c0a6c --- /dev/null +++ b/extras/zeit-waybar-bemenu.sh @@ -0,0 +1,44 @@ +#!/bin/sh +# +# Example waybar configuration: +# +# "custom/zeit": { +# "format": "{}", +# "exec": "zeit-waybar-bemenu.sh", +# "on-click": "zeit-waybar-bemenu.sh click", +# "interval": 10 +# }, +# + +ZEIT_BIN=zeit + +tracking=$($ZEIT_BIN tracking --no-colors) + +if [[ "$1" == "click" ]] +then + if echo "$tracking" | grep -q '^ ▶ tracking' + then + $ZEIT_BIN finish + exit 0 + fi + + selection=$($ZEIT_BIN list \ + --only-tasks \ + --append-project-id-to-task \ + | bemenu -p ' ' -P '▶' + ) + + task=$(echo $selection | pcregrep -io1 '(.+) \[.+') + project=$(echo $selection | pcregrep -io1 '.+\[(.+)\]') + + if [[ "$task" == "" ]] || [[ "$project" == "" ]] + then + exit 1 + fi + + $ZEIT_BIN track -p "$project" -t "$task" + exit 0 +fi + +echo -n $tracking +