From cfb260fee9ee56a32c192bf3c0111626f4418a50 Mon Sep 17 00:00:00 2001 From: Gabe Cook Date: Fri, 23 Feb 2024 17:52:37 -0600 Subject: [PATCH] feat(powerlevel10k): Add Powerlevel10k segment to contrib --- README.md | 4 ++ contrib/powerlevel10k/README.md | 26 +++++++++ contrib/powerlevel10k/nightscout.zsh | 79 ++++++++++++++++++++++++++ contrib/powerlevel10k/screenshot.webp | Bin 0 -> 32460 bytes 4 files changed, 109 insertions(+) create mode 100644 contrib/powerlevel10k/README.md create mode 100644 contrib/powerlevel10k/nightscout.zsh create mode 100644 contrib/powerlevel10k/screenshot.webp diff --git a/README.md b/README.md index e910bea..b3f7067 100644 --- a/README.md +++ b/README.md @@ -18,3 +18,7 @@ for required dependencies. To generate a Mac app, run [hack/build-app.sh](hack/build-app.sh). An app will be created in the `dist` directory. + +## Contrib + +Integrations with external tools are available in the [contrib](contrib) directory. diff --git a/contrib/powerlevel10k/README.md b/contrib/powerlevel10k/README.md new file mode 100644 index 0000000..53d6a69 --- /dev/null +++ b/contrib/powerlevel10k/README.md @@ -0,0 +1,26 @@ +# Powerlevel10k Segment + +Adds a custom segment to the [Powerlevel10k](https://github.com/romkatv/powerlevel10k) zsh theme. + +![Demo](./screenshot.webp?raw=true) + +## Install + +1. Configure nightscout-menu-bar to write the current data to a local file: + 1. Open the nightscout-menu-bar menu. + 2. Hover over "Preferences". + 3. Check "Write to local file". +2. Install the Powerlevel10k segment: + 1. Download the [segment script](nightscout.zsh) to a local file. This file will be sourced during Powerlevel10k initialization.[^1] + 1. For example: `~/.p10k/nightscout.zsh`. + 2. Edit `~/.p10k.zsh`. + 3. Search for `p10k reload`. + 4. Somewhere before this line, source the segment file.[^2] + 1. For example: `source ~/.p10k/nightscout.zsh` + 5. Search for `POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS`. + 6. Add `nightscout` somewhere in this array, depending on where you would like the widget to be rendered. + 7. Open a new shell, or restart your current shell with `exec zsh`. + 8. Nightscout data should be rendered as a right-segment! + +[^1]: The segment script contents can also be pasted directly into `~/.p10k.zsh`, in the same place as the `source` command would be added in step vi. +[^2]: Only necessary if script is being downloaded to a separate file. diff --git a/contrib/powerlevel10k/nightscout.zsh b/contrib/powerlevel10k/nightscout.zsh new file mode 100644 index 0000000..bbb9909 --- /dev/null +++ b/contrib/powerlevel10k/nightscout.zsh @@ -0,0 +1,79 @@ +#################################[ nightscout: blood sugar ]################################# +# Nightscout state file. Typically does not need to be changed. +typeset -g NIGHTSCOUT_STATE_FILE="$TMPDIR/nightscout.csv" + +# Nightscout styling will be chosen if the reading is below a given value. +typeset -g NIGHTSCOUT_THRESHOLD_URGENT_LOW=55 +typeset -g NIGHTSCOUT_THRESHOLD_LOW=80 +typeset -g NIGHTSCOUT_THRESHOLD_IN_RANGE=160 +typeset -g NIGHTSCOUT_THRESHOLD_HIGH=260 + +# Show/hide Nightscout parts. +typeset -g NIGHTSCOUT_SHOW_ARROW=true +typeset -g NIGHTSCOUT_SHOW_DELTA=true +typeset -g NIGHTSCOUT_SHOW_TIMESTAMP=true +# Can be commented out if timestamp is hidden. +zmodload zsh/datetime + +# Nightscout colors. +# Urgent low styling. +typeset -g POWERLEVEL9K_NIGHTSCOUT_URGENT_LOW_BACKGROUND=1 +typeset -g POWERLEVEL9K_NIGHTSCOUT_URGENT_LOW_FOREGROUND=7 +# Low styling. +typeset -g POWERLEVEL9K_NIGHTSCOUT_LOW_BACKGROUND=1 +typeset -g POWERLEVEL9K_NIGHTSCOUT_LOW_FOREGROUND=7 +# In range styling. +typeset -g POWERLEVEL9K_NIGHTSCOUT_IN_RANGE_BACKGROUND=2 +typeset -g POWERLEVEL9K_NIGHTSCOUT_IN_RANGE_FOREGROUND=0 +# High styling. +typeset -g POWERLEVEL9K_NIGHTSCOUT_HIGH_BACKGROUND=3 +typeset -g POWERLEVEL9K_NIGHTSCOUT_HIGH_FOREGROUND=0 +# Urgent high styling. +typeset -g POWERLEVEL9K_NIGHTSCOUT_URGENT_HIGH_BACKGROUND=1 +typeset -g POWERLEVEL9K_NIGHTSCOUT_URGENT_HIGH_FOREGROUND=7 +# Custom icon. +# typeset -g POWERLEVEL9K_NIGHTSCOUT_VISUAL_IDENTIFIER_EXPANSION='⭐' + +# Creates segment with Nightscout blood sugar data. +# +# Example output: 120 → -1 [1m] +function prompt_nightscout() { + emulate -L zsh + + if [[ -s "$NIGHTSCOUT_STATE_FILE" ]]; then + # Read state file into local variables. + typeset bgnow arrow delta timestamp + IFS=, read -r bgnow arrow delta timestamp <"$NIGHTSCOUT_STATE_FILE" + + # State file is invalid. Segment will be hidden. + if [[ -z "$bgnow" ]]; then + p10k segment -c '' + return + fi + + # Choose current state for styling. + if (( bgnow <= NIGHTSCOUT_THRESHOLD_URGENT_LOW )); then + typeset state=URGENT_LOW + elif (( bgnow < NIGHTSCOUT_THRESHOLD_LOW )); then + typeset state=LOW + elif (( bgnow < NIGHTSCOUT_THRESHOLD_IN_RANGE )); then + typeset state=IN_RANGE + elif (( bgnow < NIGHTSCOUT_THRESHOLD_HIGH )); then + typeset state=HIGH + else + typeset state=URGENT_HIGH + fi + + # Generate text + typeset text="$bgnow" + [[ "$NIGHTSCOUT_SHOW_ARROW" == true ]] && text+=" $arrow" + [[ "$NIGHTSCOUT_SHOW_DELTA" == true ]] && text+=" $delta" + [[ "$NIGHTSCOUT_SHOW_TIMESTAMP" == true ]] && text+=" [$(( (EPOCHSECONDS - timestamp + 30) / 60 ))m]" + + # Write segment. + p10k segment -s "$state" -i $'\UF058C' -t "$text" + else + # State file does not exist. Segment will be hidden. + p10k segment -c '' + fi +} diff --git a/contrib/powerlevel10k/screenshot.webp b/contrib/powerlevel10k/screenshot.webp new file mode 100644 index 0000000000000000000000000000000000000000..2f214a5b938b77c8ee9dbb9d75c26089f6e9af7b GIT binary patch literal 32460 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 KJQZEKBK$vIbR-i1 literal 0 HcmV?d00001