Show your nextmeeting in your poly/waybar with gcalcli
Project description
nextmeeting - Show your calendar next meeting in your waybar or polybar
What is it?
nextmeeting is a simple CLI leveraging gcalcli to show the next meetings.
It has a few features compared to just gcalcli :
- bar integration (i.e: waybar/polybar and probably others)
- smart date in English (not just the date, tomorrow or others)
- show the time to go for current meeting
- change colors if there is 5 minutes to go to the meeting
- hyperlink in default view to click on terminal
- notification via notify-send 5 minutes before meeting
- title ellipsis
- Exclude next day meetings.
Screenshot
How to use it?
You need to install gcalcli and setup the google Oauth integration with google calendar.
By default you can start nextmeeting
and it will show the list of meetings you
have with "human date".
There is a few options to customize things, see nextmeeting --help
for more.
Waybar
More interesting to integrate with waybar you can have something like this:
"custom/agenda": {
"format": "{}",
"exec": "size=30;swaymsg -t get_outputs -p |grep -q 'Current mode: 3440x1440' && size=80; nextmeeting --max-title-length ${size} --waybar",
"on-click": "nextmeeting --open-meet-url",
"on-click-right": "kitty --class=GClock -- /bin/bash -c \"batz;echo;cal -3;echo;nextmeeting;read;\";",
"interval": 59,
"return-type": "json",
"tooltip": "true",
"tooltip-format": "{tooltip}",
},
This will detect if i have my external display connected for the length of the
tile and show how long i have until the next meeting. If if i click on the item
it will open the meet URL attached to the event. On right click it will use
kitty
terminal to show the time zones with
batz and my next meeting. I can
click on the title in the terminal and it will open the meet URL.
You can style the waybar item with the following CSS:
#custom-agenda {
color: #696969;
}
If you enable the option "--notify-min-before-events it will output a class
soon
if the events is coming soon, you can style it with:
#custom-agenda.soon {
color: #eb4d4b;
}
if the meeting is currently hapenning it will add the current
class to it,
you can style it for example with:
#custom-agenda.current {
color: #00ffff;
}
Installation
Use poetry
and run it with :
poetry run nextmeeting
and that will install the dependences and run everything from a virtualenv.
If you don't want to use poetry you will to install those packages from PyPi (pip install --user package) or from your package manager if available.
And run the script
python3 ./nextmeeting/cli.py
or even just copy it ./nextmeeting/cli.py
to your path and run it.
AUR
yay -S nextmeeting
Related
- For Gnome: gnome-next-meeting-applet
Copyright
Authors
- Chmouel Boudjnah https://github.com/chmouel
- Fediverse - <@chmouel@fosstodon.org>
- Twitter - <@chmouel>
- Blog - <https://blog.chmouel.com>
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.