{"id":13533170,"url":"https://codeberg.org/dnkl/fnott","last_synced_at":"2025-04-01T21:32:01.532Z","repository":{"id":50978404,"uuid":"2367","full_name":"dnkl/fnott","owner":"dnkl","description":"Keyboard driven and lightweight Wayland notification daemon for wlroots-based compositors.","archived":false,"fork":false,"pushed_at":null,"size":1641,"stargazers_count":55,"open_issues_count":11,"forks_count":12,"subscribers_count":null,"default_branch":"master","last_synced_at":"2023-08-08T22:40:02.185Z","etag":null,"topics":["notifications","wayland","wlroots"],"latest_commit_sha":null,"homepage":"","language":"","has_issues":true,"has_wiki":false,"has_pages":null,"mirror_url":"f","source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://codeberg.org/avatars/6f18dfc8d88749c3103b76ab955c0e7c","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-11-18T21:10:37.000Z","updated_at":"2023-07-21T06:02:06.000Z","dependencies_parsed_at":"2022-08-12T22:20:30.950Z","dependency_job_id":null,"html_url":"https://codeberg.org/dnkl/fnott","commit_stats":{"total_commits":592,"total_committers":13,"mean_commits":45.53846153846154,"dds":0.0591216216216216,"last_synced_commit":"0e5510faec339c2cef685688062e584a01102974"},"previous_names":[],"tags_count":9,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/codeberg.org/repositories/dnkl%2Ffnott","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/codeberg.org/repositories/dnkl%2Ffnott/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/codeberg.org/repositories/dnkl%2Ffnott/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/codeberg.org/repositories/dnkl%2Ffnott/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/codeberg.org/owners/dnkl","download_url":"https://codeberg.org/dnkl/fnott/archive/master.zip","host":{"name":"codeberg.org","url":"https://codeberg.org","kind":"forgejo","repositories_count":34662,"owners_count":722,"icon_url":"https://github.com/Codeberg-org.png","version":null,"created_at":"2022-08-01T13:30:46.733Z","updated_at":"2024-07-18T11:23:32.687Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/codeberg.org","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/codeberg.org/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/codeberg.org/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/codeberg.org/owners"}},"keywords":["notifications","wayland","wlroots"],"created_at":"2024-08-01T07:01:17.245Z","updated_at":"2025-04-01T21:31:59.583Z","avatar_url":"https://codeberg.org/avatars/6f18dfc8d88749c3103b76ab955c0e7c","language":"","funding_links":[],"categories":["Tools","Notifications","Table of Contents"],"sub_categories":["Notifications","Requirements"],"readme":"[![CI status](https://ci.codeberg.org/api/badges/dnkl/fnott/status.svg)](https://ci.codeberg.org/dnkl/fnott)\n\n# Fnott\n\nFnott is a keyboard driven and lightweight notification daemon for\nwlroots-based Wayland compositors.\n\nIt implements (parts of) the [Desktop Notifications Specification](https://specifications.freedesktop.org/notification-spec/latest/).\n\n[![Packaging status](https://repology.org/badge/vertical-allrepos/fnott.svg?columns=4)](https://repology.org/project/fnott/versions)\n\n\nSupports styling and progress hints:\n\n![screenshot](screenshot.png \"Hello World screenshot\")\n\nNotifications are automatically sized (with the possibility of\nlimiting their max width and height):\n\n![screenshot-2](screenshot-2.png\n\"Screenshot of multiple notifications\")\n\n## Supported features\n\n* Summary\n* Body\n* Actions (requires a dmenu-like utility to display and let user select action)\n* Urgency\n* Icons\n  - PNGs (using libpng)\n  - SVGs (using bundled [nanosvg](https://github.com/memononen/nanosvg))\n* Markup\n* Timeout\n\nMore documentation is available in the installed man pages:\n\n * [man fnott](./doc/fnott.1.scd) documents the server\n * [man fnottctl](./doc/fnottctl.1.scd) documents the client\n * [man fnott.ini](./doc/fnott.ini.5.scd) documents the configuration\n\n## Requirements\n\n### Running\n\n* fontconfig\n* freetype\n* pixman\n* libpng\n* wayland (_client_ and _cursor_ libraries)\n* wlroots\\*\n* dbus\n* [fcft](https://codeberg.org/dnkl/fcft), _unless_ built as a subproject\n\n\\* Fnott must be run in a Wayland compositor that implements the\nwlroots protocols.\n\n### Building\n\nIn addition to the dev variant of the packages above, you need:\n\n* meson\n* ninja\n* scdoc\n* wayland-protocols\n* [tllist](https://codeberg.org/dnkl/tllist), _unless_ built as a subproject\n\n\n## Usage\n\nCopy the example `fnott.ini` to `${HOME}/.config/fnott/fnott.ini` and\nedit to your liking.\n\nStart the daemon by running `fnott`. Keep in mind that your environment\nshould start it automatically when a notification is emitted.\n\nif your environment doesn't do it automatically,\nyou need to start a `dbus` session yourself:\n\n```sh\ndbus-daemon --session --address=unix:path=$XDG_RUNTIME_DIR/bus\n```\n\nTest it with e.g. `notify-send \"this is the summary\" \"this is the body\"`.\n\nUse `fnottctl dismiss` to dismiss the highest priority notification\n(usually the oldest), `fnottctl dismiss all` to dismiss **all**\nnotifications, or `fnottctl dismiss \u003cid\u003e` to dismiss a specific\nnotification (use `fnottctl list` to list currently active\nnotifications).\n\nUse `fnottctl pause` to disable notifications. `fnottctl unpause` will\nre-enable notifications.\n\nAdditionally if you compositor implements either the KDE idle\nprotocol, or the newer idle-notify protocol, fnott will not dismiss\nany notification if you are idle by the amount of time configured in\n`fnott.ini`\n\nYou can also click on a notification to dismiss it.\n\nNote: you probably want to bind at least `fnottctl dismiss` to a\nkeyboard shortcut in your Wayland compositor configuration.\n\n\n## Installation\n\nTo build, first, create a build directory, and switch to it:\n```sh\nmkdir -p bld/release \u0026\u0026 cd bld/release\n```\n\nSecond, configure the build (if you intend to install it globally, you\nmight also want `--prefix=/usr`):\n```sh\nmeson --buildtype=release ../..\n```\n\nThree, build it:\n```sh\nninja\n```\n\nYou can now run it directly from the build directory:\n```sh\n./fnott\n```\n\nTest that it works:\n```sh\nnotify-send -a \"MyApplicationName\" \"This Is The Summary\" \"hello world\"\n```\n\nOptionally, install it:\n```sh\nninja install\n```\n\n## License\n\nFnott is released under the [MIT license](LICENSE).\n\nFnott uses nanosvg, released under the [Zlib\nlicense](3rd-party/nanosvg/LICENSE.txt).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/codeberg.org%2Fdnkl%2Ffnott","html_url":"https://awesome.ecosyste.ms/projects/codeberg.org%2Fdnkl%2Ffnott","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/codeberg.org%2Fdnkl%2Ffnott/lists"}