dndbuster-python/README.md
2025-02-22 17:52:53 +01:00

57 lines
1.7 KiB
Markdown

# DnDBuster
A timer that notifies you - even if "do not disturb" is enabled.
## Application IDs
https://developer.gnome.org/documentation/tutorials/application-id.html
Used by
- GtkApplication
> identifying your application to the system, for ensuring that only one instance of your application is running at a given time, and as a way of passing messages to your application
- D-Bus
> to name your application on the message bus. This is the primary means of communicating between applications
- name of the .desktop file for your application
> This file is how you describe your application to the system (so that it can be displayed in and launched by GNOME).
## .desktop entry
https://wiki.gnome.org/HowDoI/GNotification
The GNOME desktop environment needs a `.desktop` file that matches your applications ID. Otherwise, sent notifications are not displayed!
> Warning: gnome-shell uses desktop files to find extra information (app icon, name) about the sender of the notification. If you don't have a desktop file whose base name matches the application id, then your notification will not show up.
During development, we created a dummy vile at `~/.local/share/applications/de.p1st.dndbuster.desktop` with content:
```
[Desktop Entry]
Name=DnDBuster
Comment=A simple timer app
Exec=steam steam://rungameid/2707930
Icon=dndbuster-stopwatch
Terminal=false
Type=Application
Categories=Game;
```
Copy `watch-icon.svg` to `~/.local/share/icons/hicolor/scalable/apps/dndbuster-stopwatch.svg`
## Alternatives
https://man.archlinux.org/man/notify-send.1.en
```shell
nix-shell -p libnotify
```
```shell
sleep 30m
notify-send -u critical -a PleaseDisturbTimer "Alert" "Time is over!"
```