# 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](https://github.com/Alexays/Waybar)/[polybar](https://github.com/polybar/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
![192647099-ccfa2002-0db3-4738-a54b-176a03474483](https://user-images.githubusercontent.com/98980/212869786-1acd56e2-2e8a-4255-98c3-ebbb45b28d6e.png)
## How to use it?
You need to install [gcalcli](https://github.com/insanum/gcalcli) and [setup
the google Oauth integration](https://github.com/insanum/gcalcli#login-information) 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 options.
### Waybar
A more interesting use of `nextmeeting` is the integration with waybar, to output nicely on your desktop,
for example my configuration look like this:
```json
"custom/agenda": {
"format": "{}",
"exec": "nextmeeting --max-title-length 30 --waybar",
"on-click": "nextmeeting --open-meet-url",
"on-click-right": "kitty -- /bin/bash -c \"batz;echo;cal -3;echo;nextmeeting;read;\";",
"interval": 59,
"return-type": "json",
"tooltip": "true"
},
```
This will show how long i have until the next meeting. If I click on the item
it will open the meet URL attached to the event. If I hit via a right click it will launch a
`kitty` terminal to show the time zones with
[batz](https://github.com/chmouel/batzconverter) and my next meeting. I can
click on the title in the terminal and it will open the meet URL.
#### Styling
You can style some of the waybar item with the following CSS:
```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:
```css
#custom-agenda.soon {
color: #eb4d4b;
}
```
### Installation
Use `pip` with:
`pip install -U nextmeeting`
or Checkout the source of this repo and use `poetry` :
`poetry run nextmeeting`
If you don't want to use poetry you can install the depndences packages from PyPi
or from your operating system package manager if available:
- <https://pypi.org/project/python-dateutil/>
- <https://pypi.org/project/gcalcli/>
And the you can run the nextmeeting script:
`python3 ./nextmeeting/cli.py`
alternatively you can even just copy the `./nextmeeting/cli.py` script to your path and run
it to make it more convenient.
### [AUR](https://aur.archlinux.org/packages/nextmeeting)
```shell
yay -S nextmeeting
```
### Related
- For Gnome: [gnome-next-meeting-applet](https://github.com/chmouel/gnome-next-meeting-applet)
## Copyright
[Apache-2.0](./LICENSE)
## Authors
- Chmouel Boudjnah <https://github.com/chmouel>
- Fediverse - <[@chmouel@fosstodon.org](https://fosstodon.org/@chmouel)>
- Twitter - <[@chmouel](https://twitter.com/chmouel)>
- Blog - <[https://blog.chmouel.com](https://blog.chmouel.com)>
Raw data
{
"_id": null,
"home_page": "https://github.com/chmouel/nextmeeting",
"name": "nextmeeting",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.9",
"maintainer_email": null,
"keywords": "calendar, cli",
"author": "Chmouel Boudjnah",
"author_email": "chmouel@chmouel.com",
"download_url": "https://files.pythonhosted.org/packages/04/46/75438128268b57f259909dd8b0953c15f2863f89cc0c8a0ef1c7c2b4be22/nextmeeting-1.5.3.tar.gz",
"platform": null,
"description": "# nextmeeting - Show your calendar next meeting in your waybar or polybar\n\n## What is it?\n\nnextmeeting is a simple CLI leveraging gcalcli to show the next meetings.\n\nIt has a few features compared to just gcalcli :\n\n- bar integration (i.e: [waybar](https://github.com/Alexays/Waybar)/[polybar](https://github.com/polybar/polybar) and probably others)\n- smart date in English (not just the date, tomorrow or others)\n- show the time to go for current meeting\n- change colors if there is 5 minutes to go to the meeting\n- hyperlink in default view to click on terminal\n- notification via notify-send 5 minutes before meeting\n- title ellipsis\n- Exclude next day meetings.\n\n## Screenshot\n\n![192647099-ccfa2002-0db3-4738-a54b-176a03474483](https://user-images.githubusercontent.com/98980/212869786-1acd56e2-2e8a-4255-98c3-ebbb45b28d6e.png)\n\n## How to use it?\n\nYou need to install [gcalcli](https://github.com/insanum/gcalcli) and [setup\nthe google Oauth integration](https://github.com/insanum/gcalcli#login-information) with google calendar.\n\nBy default you can start `nextmeeting` and it will show the list of meetings you\nhave with \"human date\".\n\nThere is a few options to customize things, see `nextmeeting --help` for more options.\n\n### Waybar\n\nA more interesting use of `nextmeeting` is the integration with waybar, to output nicely on your desktop,\nfor example my configuration look like this:\n\n```json\n \"custom/agenda\": {\n \"format\": \"{}\",\n \"exec\": \"nextmeeting --max-title-length 30 --waybar\",\n \"on-click\": \"nextmeeting --open-meet-url\",\n \"on-click-right\": \"kitty -- /bin/bash -c \\\"batz;echo;cal -3;echo;nextmeeting;read;\\\";\",\n \"interval\": 59,\n \"return-type\": \"json\",\n \"tooltip\": \"true\"\n },\n```\n\nThis will show how long i have until the next meeting. If I click on the item\nit will open the meet URL attached to the event. If I hit via a right click it will launch a\n`kitty` terminal to show the time zones with\n[batz](https://github.com/chmouel/batzconverter) and my next meeting. I can\nclick on the title in the terminal and it will open the meet URL.\n\n#### Styling\n\nYou can style some of the waybar item with the following CSS:\n\n```css\n#custom-agenda {\n color: #696969;\n}\n```\n\nIf you enable the option \"--notify-min-before-events it will output a class\n`soon` if the events is coming soon, you can style it with:\n\n```css\n#custom-agenda.soon {\n color: #eb4d4b;\n}\n```\n\n### Installation\n\nUse `pip` with:\n\n`pip install -U nextmeeting`\n\nor Checkout the source of this repo and use `poetry` :\n\n`poetry run nextmeeting`\n\nIf you don't want to use poetry you can install the depndences packages from PyPi\nor from your operating system package manager if available:\n\n- <https://pypi.org/project/python-dateutil/>\n- <https://pypi.org/project/gcalcli/>\n\nAnd the you can run the nextmeeting script:\n\n`python3 ./nextmeeting/cli.py`\n\nalternatively you can even just copy the `./nextmeeting/cli.py` script to your path and run\nit to make it more convenient.\n\n### [AUR](https://aur.archlinux.org/packages/nextmeeting)\n\n```shell\nyay -S nextmeeting\n```\n\n### Related\n\n- For Gnome: [gnome-next-meeting-applet](https://github.com/chmouel/gnome-next-meeting-applet)\n\n## Copyright\n\n[Apache-2.0](./LICENSE)\n\n## Authors\n\n- Chmouel Boudjnah <https://github.com/chmouel>\n - Fediverse - <[@chmouel@fosstodon.org](https://fosstodon.org/@chmouel)>\n - Twitter - <[@chmouel](https://twitter.com/chmouel)>\n - Blog - <[https://blog.chmouel.com](https://blog.chmouel.com)>\n",
"bugtrack_url": null,
"license": "Apache-2.0",
"summary": "Show your nextmeeting in your poly/waybar with gcalcli",
"version": "1.5.3",
"project_urls": {
"Homepage": "https://github.com/chmouel/nextmeeting",
"Repository": "https://github.com/chmouel/nextmeeting"
},
"split_keywords": [
"calendar",
" cli"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "044675438128268b57f259909dd8b0953c15f2863f89cc0c8a0ef1c7c2b4be22",
"md5": "8cc38f5b390240a9b8187fbfc5d41714",
"sha256": "c34b8f2602eaecd891f580b628f597b0b2cebef15eb5c29df12d64ae2a2028c7"
},
"downloads": -1,
"filename": "nextmeeting-1.5.3.tar.gz",
"has_sig": false,
"md5_digest": "8cc38f5b390240a9b8187fbfc5d41714",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.9",
"size": 10568,
"upload_time": "2024-09-03T10:27:32",
"upload_time_iso_8601": "2024-09-03T10:27:32.212436Z",
"url": "https://files.pythonhosted.org/packages/04/46/75438128268b57f259909dd8b0953c15f2863f89cc0c8a0ef1c7c2b4be22/nextmeeting-1.5.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-09-03 10:27:32",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "chmouel",
"github_project": "nextmeeting",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "nextmeeting"
}