[Bin] add kamoji generator
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
parent
440ebe4a5d
commit
4e2c08c71c
4
.profile
4
.profile
@ -1,3 +1,7 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
. "$HOME"/.profile.private
|
||||||
|
|
||||||
export XDG_CACHE_HOME="$HOME/.cache"
|
export XDG_CACHE_HOME="$HOME/.cache"
|
||||||
export XDG_CONFIG_HOME="$HOME/.config"
|
export XDG_CONFIG_HOME="$HOME/.config"
|
||||||
export XDG_DATA_HOME="$HOME/.local/share"
|
export XDG_DATA_HOME="$HOME/.local/share"
|
||||||
|
@ -302,6 +302,59 @@ NB_CONTAINERS=$(docker ps -q | wc -l | tr -d '\n')
|
|||||||
printf "^f3^f0 %d" $NB_CONTAINERS
|
printf "^f3^f0 %d" $NB_CONTAINERS
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
** Kamoji Generator
|
||||||
|
:PROPERTIES:
|
||||||
|
:CUSTOM_ID: cliutilitiesKamojiGenerator-sqvh17015uj0
|
||||||
|
:HEADER-ARGS: :shebang "#!/usr/bin/env sh" :tangle ~/.local/bin/kamoji
|
||||||
|
:END:
|
||||||
|
This script comes straight from [[https://charm.sh/blog/kamoji-generator/][this blog post]] and generates kamoji. I
|
||||||
|
modified it a bit in order to work with either =xclipboard= or =wl-copy=
|
||||||
|
depending on whether I am in a X.org session or a Wayland session.
|
||||||
|
|
||||||
|
Note that it requires the =OPENAI_API_KEY= environment variable to be
|
||||||
|
set with a valid OpenAI key.
|
||||||
|
#+begin_src bash
|
||||||
|
# If the user passes '-h', '--help', or 'help' print out a little bit of help.
|
||||||
|
# text.
|
||||||
|
case "$1" in
|
||||||
|
"-h" | "--help" | "help")
|
||||||
|
printf 'Generate kaomojis on request.\n\n'
|
||||||
|
printf 'Usage: %s [kind]\n' "$(basename "$0")"
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# The user can pass an argument like "bear" or "angry" to specify the general
|
||||||
|
# kind of Kaomoji produced.
|
||||||
|
sentiment=""
|
||||||
|
if [[ $1 != "" ]]; then
|
||||||
|
sentiment=" $1"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Ask mods to generate Kaomojis. Save the output in a variable.
|
||||||
|
kaomoji="$(mods "generate 10${sentiment} kaomojis. number them and put each one on its own line.")"
|
||||||
|
if [[ $kaomoji == "" ]]; then
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Pipe mods output to gum so the user can choose the perfect kaomoji. Save that
|
||||||
|
# choice in a variable. Also note that we're using cut to drop the item number
|
||||||
|
# in front of the Kaomoji.
|
||||||
|
choice="$(echo "$kaomoji" | gum choose | cut -d ' ' -f 2)"
|
||||||
|
if [[ $choice == "" ]]; then
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# If the current session is Wayland, copy with wl-copy, otherwise copy with xclipboard
|
||||||
|
if [ "$XDG_SESSION_TYPE" = "wayland" ]
|
||||||
|
then printf '%s' "$choice" | wc-copy # X11
|
||||||
|
else printf '%s' "$choice" | xclip -sel clip # Wayland
|
||||||
|
fi
|
||||||
|
|
||||||
|
# We're done!
|
||||||
|
printf 'Copied %s to the clipboard\n' "$choice"
|
||||||
|
#+end_src
|
||||||
|
|
||||||
** mu-unread
|
** mu-unread
|
||||||
:PROPERTIES:
|
:PROPERTIES:
|
||||||
:HEADER-ARGS: :shebang "#!/usr/bin/env sh" :tangle ~/.local/bin/mu-unread
|
:HEADER-ARGS: :shebang "#!/usr/bin/env sh" :tangle ~/.local/bin/mu-unread
|
||||||
|
Loading…
Reference in New Issue
Block a user