nextmeeting


Namenextmeeting JSON
Version 1.5.1 PyPI version JSON
download
home_pagehttps://github.com/chmouel/nextmeeting
SummaryShow your nextmeeting in your poly/waybar with gcalcli
upload_time2024-04-05 07:43:37
maintainerNone
docs_urlNone
authorChmouel Boudjnah
requires_python<4.0,>=3.9
licenseApache-2.0
keywords calendar cli
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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.

### Waybar

More interesting to integrate with waybar you can have something like this:

```json
    "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"
    },
```

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](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.

You can style 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/ce/49/e3125120459e10a582d8bf301c8ffa28590a62fb529111415c11dde92ac8/nextmeeting-1.5.1.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.\n\n### Waybar\n\nMore interesting to integrate with waybar you can have something like this:\n\n```json\n    \"custom/agenda\": {\n        \"format\": \"{}\",\n        \"exec\": \"size=30;swaymsg -t get_outputs -p |grep -q 'Current mode: 3440x1440' && size=80; nextmeeting --max-title-length ${size} --waybar\",\n        \"on-click\": \"nextmeeting --open-meet-url\",\n        \"on-click-right\": \"kitty --class=GClock -- /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 detect if i have my external display connected for the length of the\ntile and show how long i have until the next meeting. If if i click on the item\nit will open the meet URL attached to the event. On right click it will use\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\nYou can style 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.1",
    "project_urls": {
        "Homepage": "https://github.com/chmouel/nextmeeting",
        "Repository": "https://github.com/chmouel/nextmeeting"
    },
    "split_keywords": [
        "calendar",
        " cli"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ce49e3125120459e10a582d8bf301c8ffa28590a62fb529111415c11dde92ac8",
                "md5": "b7131ff73b77297e966af4e1afbb57e5",
                "sha256": "f549728b7fe868af8418f61d2490fdb50cb30a489df7846aa38d5be94e5404ca"
            },
            "downloads": -1,
            "filename": "nextmeeting-1.5.1.tar.gz",
            "has_sig": false,
            "md5_digest": "b7131ff73b77297e966af4e1afbb57e5",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0,>=3.9",
            "size": 10592,
            "upload_time": "2024-04-05T07:43:37",
            "upload_time_iso_8601": "2024-04-05T07:43:37.651647Z",
            "url": "https://files.pythonhosted.org/packages/ce/49/e3125120459e10a582d8bf301c8ffa28590a62fb529111415c11dde92ac8/nextmeeting-1.5.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-04-05 07:43:37",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "chmouel",
    "github_project": "nextmeeting",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "nextmeeting"
}
        
Elapsed time: 0.22528s